Class: ArrowDuckDB::Result

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/arrow-duckdb/result.rb,
ext/arrow-duckdb/arrow-duckdb.cpp

Instance Method Summary collapse

Instance Method Details

#eachObject



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;
}

#fetchObject



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_rowsObject



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_columnsObject



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_rowsObject



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));
}

#schemaObject



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_tableObject



17
18
19
# File 'lib/arrow-duckdb/result.rb', line 17

def to_table
  Arrow::Table.new(schema, to_a)
end