Module: DuckDB

Extended by:
Casting
Defined in:
lib/duckdb.rb,
lib/duckdb/value.rb,
lib/duckdb/column.rb,
lib/duckdb/config.rb,
lib/duckdb/result.rb,
lib/duckdb/vector.rb,
lib/duckdb/casting.rb,
lib/duckdb/version.rb,
lib/duckdb/appender.rb,
lib/duckdb/database.rb,
lib/duckdb/infinity.rb,
lib/duckdb/interval.rb,
lib/duckdb/converter.rb,
lib/duckdb/connection.rb,
lib/duckdb/data_chunk.rb,
lib/duckdb/expression.rb,
lib/duckdb/logical_type.rb,
lib/duckdb/client_context.rb,
lib/duckdb/instance_cache.rb,
lib/duckdb/pending_result.rb,
lib/duckdb/table_function.rb,
lib/duckdb/library_version.rb,
lib/duckdb/scalar_function.rb,
lib/duckdb/table_description.rb,
lib/duckdb/aggregate_function.rb,
lib/duckdb/column_description.rb,
lib/duckdb/prepared_statement.rb,
lib/duckdb/scalar_function_set.rb,
lib/duckdb/converter/int_to_sym.rb,
lib/duckdb/extracted_statements.rb,
lib/duckdb/function_type_validation.rb,
lib/duckdb/table_function/bind_info.rb,
lib/duckdb/table_function/init_info.rb,
lib/duckdb/scalar_function/bind_info.rb,
lib/duckdb/table_function/function_info.rb,
ext/duckdb/blob.c,
ext/duckdb/error.c,
ext/duckdb/value.c,
ext/duckdb/column.c,
ext/duckdb/config.c,
ext/duckdb/duckdb.c,
ext/duckdb/result.c,
ext/duckdb/vector.c,
ext/duckdb/appender.c,
ext/duckdb/database.c,
ext/duckdb/connection.c,
ext/duckdb/data_chunk.c,
ext/duckdb/expression.c,
ext/duckdb/logical_type.c,
ext/duckdb/client_context.c,
ext/duckdb/instance_cache.c,
ext/duckdb/pending_result.c,
ext/duckdb/table_function.c,
ext/duckdb/scalar_function.c,
ext/duckdb/table_description.c,
ext/duckdb/aggregate_function.c,
ext/duckdb/prepared_statement.c,
ext/duckdb/scalar_function_set.c,
ext/duckdb/extracted_statements.c,
ext/duckdb/table_function_bind_info.c,
ext/duckdb/table_function_init_info.c,
ext/duckdb/scalar_function_bind_info.c,
ext/duckdb/table_function_function_info.c

Overview

DuckDB provides Ruby interface of DuckDB.

Defined Under Namespace

Modules: Casting, Converter, FunctionTypeValidation, Infinity, MemoryHelper Classes: AggregateFunction, Appender, Blob, ClientContext, Column, ColumnDescription, Config, Connection, DataChunk, Database, Error, Expression, ExtractedStatements, InstanceCache, Interval, LogicalType, PendingResult, PreparedStatement, QueryProgress, Result, ScalarFunction, ScalarFunctionSet, TableDescription, TableFunction, Value, Vector

Constant Summary collapse

DEPRECATED_CONSTANTS =
{
  BindInfo: 'DuckDB::TableFunction::BindInfo',
  InitInfo: 'DuckDB::TableFunction::InitInfo',
  FunctionInfo: 'DuckDB::TableFunction::FunctionInfo'
}.freeze
VERSION =

The version string of ruby-duckdb. Currently, ruby-duckdb is NOT semantic versioning.

'1.5.2.0'
LIBRARY_VERSION =

represents the version of the DuckDB library. If DuckDB.library_version is v0.2.0, then DuckDB::LIBRARY_VERSION is 0.2.0.

library_version[1..]

Class Attribute Summary collapse

Class Method Summary collapse

Methods included from Casting

cast

Class Attribute Details

.default_timezoneObject

Controls how DuckDB converts timestamp and time values without explicit time zone information.

  • ‘:utc` - interpret values as UTC

  • ‘:local` - (default) interpret values as local time, preserving existing behavior

Example:

DuckDB.default_timezone = :utc

This setting only affects conversion of values without time zone. Values with explicit time zone are always interpreted according to their offset.



51
52
53
# File 'lib/duckdb.rb', line 51

def default_timezone
  @default_timezone
end

Class Method Details

.const_missing(name) ⇒ Object



59
60
61
62
63
64
65
# File 'lib/duckdb.rb', line 59

def const_missing(name)
  deprecated = DEPRECATED_CONSTANTS[name]
  return super unless deprecated

  warn "DuckDB::#{name} is deprecated. Use #{deprecated} instead.", uplevel: 1
  const_set(name, deprecated.split('::').reduce(Object) { |mod, part| mod.const_get(part) })
end

.library_versionString

Returns the version of the DuckDB library.

DuckDB.library_version # => "0.2.0"

Returns:

  • (String)


18
19
20
# File 'ext/duckdb/duckdb.c', line 18

static VALUE duckdb_s_library_version(VALUE self) {
    return rb_str_new2(duckdb_library_version());
}

.vector_sizeInteger

Returns the vector size of DuckDB. The vector size is the number of rows that are processed in a single vectorized operation.

DuckDB.vector_size # => 2048

Returns:

  • (Integer)


31
32
33
# File 'ext/duckdb/duckdb.c', line 31

static VALUE duckdb_s_vector_size(VALUE self) {
    return ULONG2NUM(duckdb_vector_size());
}