Class: ArrowDuckDB::Result
- Inherits:
-
Object
- Object
- ArrowDuckDB::Result
- Includes:
- Enumerable
- Defined in:
- lib/arrow-duckdb/result.rb,
ext/arrow-duckdb/arrow-duckdb.cpp
Instance Method Summary collapse
- #each ⇒ Object
- #fetch ⇒ Object
- #n_changed_rows ⇒ Object
- #n_columns ⇒ Object
- #n_rows ⇒ Object
- #schema ⇒ Object
- #to_table ⇒ Object
Instance Method Details
#each ⇒ Object
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
# File 'ext/arrow-duckdb/arrow-duckdb.cpp', line 160
VALUE
result_each(VALUE self)
{
RETURN_ENUMERATOR(self, 0, 0);
Result *result;
TypedData_Get_Struct(self, Result, &result_type, result);
result_ensure_gschema(result);
while (true) {
auto record_batch = result_fetch_internal(self, result);
if (NIL_P(record_batch)) {
break;
}
rb_yield(record_batch);
}
return self;
}
|
#fetch ⇒ Object
149 150 151 152 153 154 155 156 157 158 |
# File 'ext/arrow-duckdb/arrow-duckdb.cpp', line 149
VALUE
result_fetch(VALUE self)
{
Result *result;
TypedData_Get_Struct(self, Result, &result_type, result);
result_ensure_gschema(result);
return result_fetch_internal(self, result);
}
|
#n_changed_rows ⇒ Object
210 211 212 213 214 215 216 217 |
# File 'ext/arrow-duckdb/arrow-duckdb.cpp', line 210
VALUE
result_n_changed_rows(VALUE self)
{
Result *result;
TypedData_Get_Struct(self, Result, &result_type, result);
return ULL2NUM(duckdb_arrow_rows_changed(result->arrow));
}
|
#n_columns ⇒ Object
192 193 194 195 196 197 198 199 |
# File 'ext/arrow-duckdb/arrow-duckdb.cpp', line 192
VALUE
result_n_columns(VALUE self)
{
Result *result;
TypedData_Get_Struct(self, Result, &result_type, result);
return ULL2NUM(duckdb_arrow_column_count(result->arrow));
}
|
#n_rows ⇒ Object
201 202 203 204 205 206 207 208 |
# File 'ext/arrow-duckdb/arrow-duckdb.cpp', line 201
VALUE
result_n_rows(VALUE self)
{
Result *result;
TypedData_Get_Struct(self, Result, &result_type, result);
return ULL2NUM(duckdb_arrow_row_count(result->arrow));
}
|
#schema ⇒ Object
181 182 183 184 185 186 187 188 189 190 |
# File 'ext/arrow-duckdb/arrow-duckdb.cpp', line 181
VALUE
result_schema(VALUE self)
{
Result *result;
TypedData_Get_Struct(self, Result, &result_type, result);
result_ensure_gschema(result);
return GOBJ2RVAL(result->gschema);
}
|
#to_table ⇒ Object
17 18 19 |
# File 'lib/arrow-duckdb/result.rb', line 17 def to_table Arrow::Table.new(schema, to_a) end |