Class: DuckDB::Value
- Inherits:
-
Object
- Object
- DuckDB::Value
- Extended by:
- Converter
- Defined in:
- lib/duckdb/value.rb,
ext/duckdb/value.c
Constant Summary
Constants included from Converter
Converter::EPOCH, Converter::EPOCH_UTC, Converter::HALF_HUGEINT, Converter::HALF_HUGEINT_BIT, Converter::LOWER_HUGEINT_MASK, Converter::RANGE_DECIMAL_WIDTH, Converter::RANGE_HUGEINT, Converter::RANGE_INT16, Converter::RANGE_INT32, Converter::RANGE_INT64, Converter::RANGE_INT8, Converter::RANGE_UHUGEINT, Converter::RANGE_UINT16, Converter::RANGE_UINT32, Converter::RANGE_UINT64, Converter::RANGE_UINT8
Class Method Summary collapse
-
.create_blob(value) ⇒ DuckDB::Value
Creates a DuckDB::Value of BLOB type.
-
.create_bool(value) ⇒ DuckDB::Value
Creates a new DuckDB::Value with a boolean value.
-
.create_decimal(value) ⇒ DuckDB::Value
Creates a DuckDB::Value of DECIMAL type.
-
.create_double(value) ⇒ DuckDB::Value
Creates a DuckDB::Value of DOUBLE type.
-
.create_float(value) ⇒ DuckDB::Value
Creates a DuckDB::Value of FLOAT type.
-
.create_hugeint(value) ⇒ DuckDB::Value
Creates a DuckDB::Value of HUGEINT type.
-
.create_int16(value) ⇒ DuckDB::Value
Creates a new DuckDB::Value with an INT16 (SMALLINT) value.
-
.create_int32(value) ⇒ DuckDB::Value
Creates a new DuckDB::Value with an INT32 (INTEGER) value.
-
.create_int64(value) ⇒ DuckDB::Value
Creates a new DuckDB::Value with an INT64 (BIGINT) value.
-
.create_int8(value) ⇒ DuckDB::Value
Creates a new DuckDB::Value with an INT8 (TINYINT) value.
-
.DuckDB::Value.create_null ⇒ DuckDB::Value
Creates a new DuckDB::Value representing SQL NULL.
-
.create_uhugeint(value) ⇒ DuckDB::Value
Creates a DuckDB::Value of UHUGEINT type.
-
.create_uint16(value) ⇒ DuckDB::Value
Creates a new DuckDB::Value with a UINT16 (USMALLINT) value.
-
.create_uint32(value) ⇒ DuckDB::Value
Creates a new DuckDB::Value with a UINT32 (UINTEGER) value.
-
.create_uint64(value) ⇒ DuckDB::Value
Creates a new DuckDB::Value with a UINT64 (UBIGINT) value.
-
.create_uint8(value) ⇒ DuckDB::Value
Creates a new DuckDB::Value with a UINT8 (UTINYINT) value.
-
.create_varchar(value) ⇒ DuckDB::Value
Creates a DuckDB::Value of VARCHAR type.
Methods included from Converter
_decimal_to_unscaled, _decimal_width, _hugeint_lower, _hugeint_upper, _parse_date, _parse_deciaml, _parse_time, _to_date, _to_decimal_from_hugeint, _to_decimal_from_value, _to_hugeint_from_vector, _to_infinity, _to_interval_from_vector, _to_query_progress, _to_time, _to_time_from_duckdb_time, _to_time_from_duckdb_time_ns, _to_time_from_duckdb_time_tz, _to_time_from_duckdb_timestamp_ms, _to_time_from_duckdb_timestamp_ns, _to_time_from_duckdb_timestamp_s, _to_time_from_duckdb_timestamp_tz, decimal_to_hugeint, default_timezone_utc?, format_timestamp_with_micro, format_timezone_offset, integer_to_hugeint
Class Method Details
.create_blob(value) ⇒ DuckDB::Value
188 189 190 191 192 |
# File 'lib/duckdb/value.rb', line 188 def create_blob(value) check_type!(value, String) check_binary!(value) _create_blob(value) end |
.create_bool(value) ⇒ DuckDB::Value
18 19 20 21 22 |
# File 'lib/duckdb/value.rb', line 18 def create_bool(value) check_type!(value, [TrueClass, FalseClass]) _create_bool(value) end |
.create_decimal(value) ⇒ DuckDB::Value
231 232 233 234 235 236 237 238 239 |
# File 'lib/duckdb/value.rb', line 231 def create_decimal(value) check_type!(value, BigDecimal) width = _decimal_width(value) check_range!(width, RANGE_DECIMAL_WIDTH, 'DECIMAL width') lower, upper = decimal_to_hugeint(value) _create_decimal(lower, upper, width, value.scale) end |
.create_double(value) ⇒ DuckDB::Value
163 164 165 166 |
# File 'lib/duckdb/value.rb', line 163 def create_double(value) check_type!(value, [Integer, Float]) _create_double(value) end |
.create_float(value) ⇒ DuckDB::Value
151 152 153 154 |
# File 'lib/duckdb/value.rb', line 151 def create_float(value) check_type!(value, [Integer, Float]) _create_float(value) end |
.create_hugeint(value) ⇒ DuckDB::Value
201 202 203 204 205 206 207 |
# File 'lib/duckdb/value.rb', line 201 def create_hugeint(value) check_type!(value, Integer) check_range!(value, RANGE_HUGEINT, 'HUGEINT') lower, upper = integer_to_hugeint(value) _create_hugeint(lower, upper) end |
.create_int16(value) ⇒ DuckDB::Value
47 48 49 50 51 52 |
# File 'lib/duckdb/value.rb', line 47 def create_int16(value) check_type!(value, Integer) check_range!(value, RANGE_INT16, 'INT16') _create_int16(value) end |
.create_int32(value) ⇒ DuckDB::Value
62 63 64 65 66 67 |
# File 'lib/duckdb/value.rb', line 62 def create_int32(value) check_type!(value, Integer) check_range!(value, RANGE_INT32, 'INT32') _create_int32(value) end |
.create_int64(value) ⇒ DuckDB::Value
77 78 79 80 81 82 |
# File 'lib/duckdb/value.rb', line 77 def create_int64(value) check_type!(value, Integer) check_range!(value, RANGE_INT64, 'INT64') _create_int64(value) end |
.create_int8(value) ⇒ DuckDB::Value
32 33 34 35 36 37 |
# File 'lib/duckdb/value.rb', line 32 def create_int8(value) check_type!(value, Integer) check_range!(value, RANGE_INT8, 'INT8') _create_int8(value) end |
.DuckDB::Value.create_null ⇒ DuckDB::Value
152 153 154 155 |
# File 'ext/duckdb/value.c', line 152 static VALUE value_s_create_null(VALUE klass) { duckdb_value value = duckdb_create_null_value(); return rbduckdb_value_new(value); } |
.create_uhugeint(value) ⇒ DuckDB::Value
216 217 218 219 220 221 222 |
# File 'lib/duckdb/value.rb', line 216 def create_uhugeint(value) check_type!(value, Integer) check_range!(value, RANGE_UHUGEINT, 'UHUGEINT') lower, upper = integer_to_hugeint(value) _create_uhugeint(lower, upper) end |
.create_uint16(value) ⇒ DuckDB::Value
107 108 109 110 111 112 |
# File 'lib/duckdb/value.rb', line 107 def create_uint16(value) check_type!(value, Integer) check_range!(value, RANGE_UINT16, 'UINT16') _create_uint16(value) end |
.create_uint32(value) ⇒ DuckDB::Value
122 123 124 125 126 127 |
# File 'lib/duckdb/value.rb', line 122 def create_uint32(value) check_type!(value, Integer) check_range!(value, RANGE_UINT32, 'UINT32') _create_uint32(value) end |
.create_uint64(value) ⇒ DuckDB::Value
137 138 139 140 141 142 |
# File 'lib/duckdb/value.rb', line 137 def create_uint64(value) check_type!(value, Integer) check_range!(value, RANGE_UINT64, 'UINT64') _create_uint64(value) end |
.create_uint8(value) ⇒ DuckDB::Value
92 93 94 95 96 97 |
# File 'lib/duckdb/value.rb', line 92 def create_uint8(value) check_type!(value, Integer) check_range!(value, RANGE_UINT8, 'UINT8') _create_uint8(value) end |
.create_varchar(value) ⇒ DuckDB::Value
175 176 177 178 179 |
# File 'lib/duckdb/value.rb', line 175 def create_varchar(value) check_type!(value, String) check_utf8_compatible!(value) _create_varchar(value) end |