Lines Matching refs:stmt
155 struct cassandra_sql_statement *stmt;
175 struct sql_statement stmt;
1543 if (ctx->failed || (ctx->query == NULL && ctx->stmt == NULL)) {
1554 ctx->query : sql_statement_get_query(&ctx->stmt->stmt);
1573 ctx->stmt->result =
1576 if (ctx->stmt->cass_stmt == NULL) {
1579 ctx->stmt->result->statement = ctx->stmt->cass_stmt;
1580 ctx->stmt->result->timestamp = ctx->stmt->timestamp;
1581 (void)driver_cassandra_send_query(ctx->stmt->result);
1582 pool_unref(&ctx->stmt->stmt.pool);
1616 if (ctx->stmt != NULL) {
1650 if (ctx->query != NULL || ctx->stmt != NULL) {
1669 driver_cassandra_bind_int(struct cassandra_sql_statement *stmt,
1675 i_assert(stmt->prep != NULL);
1678 data_type = cass_prepared_parameter_data_type(stmt->prep->prepared, column_idx);
1685 return cass_statement_bind_int32(stmt->cass_stmt, column_idx, value);
1688 return cass_statement_bind_int64(stmt->cass_stmt, column_idx, value);
1692 return cass_statement_bind_int16(stmt->cass_stmt, column_idx, value);
1696 return cass_statement_bind_int8(stmt->cass_stmt, column_idx, value);
1702 static void prepare_finish_arg(struct cassandra_sql_statement *stmt,
1708 rc = cass_statement_bind_string(stmt->cass_stmt, arg->column_idx,
1711 rc = cass_statement_bind_bytes(stmt->cass_stmt, arg->column_idx,
1715 rc = driver_cassandra_bind_int(stmt, arg->column_idx,
1720 stmt->stmt.query_template, arg->column_idx,
1725 static void prepare_finish_statement(struct cassandra_sql_statement *stmt)
1729 if (stmt->prep->prepared == NULL) {
1730 i_assert(stmt->prep->error != NULL);
1732 if (stmt->result != NULL) {
1733 stmt->result->error = i_strdup(stmt->prep->error);
1734 result_finish(stmt->result);
1738 stmt->cass_stmt = cass_prepared_bind(stmt->prep->prepared);
1740 if (stmt->timestamp != 0)
1741 cass_statement_set_timestamp(stmt->cass_stmt, stmt->timestamp);
1743 if (array_is_created(&stmt->pending_args)) {
1744 array_foreach(&stmt->pending_args, arg)
1745 prepare_finish_arg(stmt, arg);
1747 if (stmt->result != NULL) {
1748 stmt->result->statement = stmt->cass_stmt;
1749 stmt->result->timestamp = stmt->timestamp;
1750 (void)driver_cassandra_send_query(stmt->result);
1751 pool_unref(&stmt->stmt.pool);
1853 struct cassandra_sql_statement *stmt =
1855 stmt->stmt.pool = pool;
1856 return &stmt->stmt;
1865 struct cassandra_sql_statement *stmt =
1868 stmt->stmt.pool = pool;
1869 stmt->stmt.query_template =
1870 p_strdup(stmt->stmt.pool, prep_stmt->query_template);
1871 stmt->prep = prep_stmt;
1875 stmt->cass_stmt = cass_prepared_bind(prep_stmt->prepared);
1880 array_append(&prep_stmt->pending_statements, &stmt, 1);
1882 return &stmt->stmt;
1888 struct cassandra_sql_statement *stmt =
1891 if (stmt->cass_stmt != NULL)
1892 cass_statement_free(stmt->cass_stmt);
1899 struct cassandra_sql_statement *stmt =
1905 i_assert(stmt->result == NULL);
1907 if (stmt->cass_stmt != NULL)
1908 cass_statement_set_timestamp(stmt->cass_stmt, ts_usecs);
1909 stmt->timestamp = ts_usecs;
1913 driver_cassandra_add_pending_arg(struct cassandra_sql_statement *stmt,
1918 if (!array_is_created(&stmt->pending_args))
1919 p_array_init(&stmt->pending_args, stmt->stmt.pool, 8);
1920 arg = array_append_space(&stmt->pending_args);
1930 struct cassandra_sql_statement *stmt =
1932 if (stmt->cass_stmt != NULL)
1933 cass_statement_bind_string(stmt->cass_stmt, column_idx, value);
1934 else if (stmt->prep != NULL) {
1936 driver_cassandra_add_pending_arg(stmt, column_idx);
1946 struct cassandra_sql_statement *stmt =
1949 if (stmt->cass_stmt != NULL) {
1950 cass_statement_bind_bytes(stmt->cass_stmt, column_idx,
1952 } else if (stmt->prep != NULL) {
1954 driver_cassandra_add_pending_arg(stmt, column_idx);
1964 struct cassandra_sql_statement *stmt =
1967 if (stmt->cass_stmt != NULL)
1968 driver_cassandra_bind_int(stmt, column_idx, value);
1969 else if (stmt->prep != NULL) {
1971 driver_cassandra_add_pending_arg(stmt, column_idx);
1980 struct cassandra_sql_statement *stmt =
1984 bool is_prepared = stmt->cass_stmt != NULL || stmt->prep != NULL;
1986 stmt->result = driver_cassandra_query_init(db, query,
1990 if (stmt->cass_stmt != NULL) {
1991 stmt->result->statement = stmt->cass_stmt;
1992 stmt->result->timestamp = stmt->timestamp;
1993 } else if (stmt->prep != NULL) {
1997 stmt->result->statement = cass_statement_new(query, 0);
1998 stmt->result->timestamp = stmt->timestamp;
1999 if (stmt->timestamp != 0) {
2000 cass_statement_set_timestamp(stmt->result->statement,
2001 stmt->timestamp);
2004 (void)driver_cassandra_send_query(stmt->result);
2021 struct cassandra_sql_statement *stmt =
2026 if (ctx->query != NULL || ctx->stmt != NULL) {
2030 if (stmt->prep != NULL)
2031 ctx->stmt = stmt;
2034 ctx->query_timestamp = stmt->timestamp;