class DuckDB::ExtractedStatementsImpl
Public Class Methods
Source
static VALUE duckdb_extracted_statements_initialize(VALUE self, VALUE con, VALUE query) { rubyDuckDBConnection *pcon; rubyDuckDBExtractedStatements *ctx; char *pquery; const char *error; if (rb_obj_is_kind_of(con, cDuckDBConnection) != Qtrue) { rb_raise(rb_eTypeError, "1st argument must be DuckDB::Connection"); } pquery = StringValuePtr(query); pcon = get_struct_connection(con); TypedData_Get_Struct(self, rubyDuckDBExtractedStatements, &extract_statements_data_type, ctx); ctx->num_statements = duckdb_extract_statements(pcon->con, pquery, &(ctx->extracted_statements)); if (ctx->num_statements == 0) { error = duckdb_extract_statements_error(ctx->extracted_statements); rb_raise(eDuckDBError, "%s", error ? error : "Failed to extract statements(Database connection closed?)."); } return self; }
Public Instance Methods
Source
static VALUE duckdb_extracted_statements_destroy(VALUE self) { rubyDuckDBExtractedStatements *ctx; TypedData_Get_Struct(self, rubyDuckDBExtractedStatements, &extract_statements_data_type, ctx); duckdb_destroy_extracted(&(ctx->extracted_statements)); return Qnil; }
Source
static VALUE duckdb_extracted_statements_prepared_statement(VALUE self, VALUE con, VALUE index) { rubyDuckDBConnection *pcon; rubyDuckDBExtractedStatements *ctx; if (rb_obj_is_kind_of(con, cDuckDBConnection) != Qtrue) { rb_raise(rb_eTypeError, "1st argument must be DuckDB::Connection"); } pcon = get_struct_connection(con); TypedData_Get_Struct(self, rubyDuckDBExtractedStatements, &extract_statements_data_type, ctx); return rbduckdb_prepared_statement_new(pcon->con, ctx->extracted_statements, NUM2ULL(index)); }
Source
static VALUE duckdb_extracted_statements_size(VALUE self) { rubyDuckDBExtractedStatements *ctx; TypedData_Get_Struct(self, rubyDuckDBExtractedStatements, &extract_statements_data_type, ctx); return ULL2NUM(ctx->num_statements); }