duckdb 1.5.3.0 → 1.5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/README.md +52 -0
  4. data/ext/duckdb/aggregate_function.c +0 -1
  5. data/ext/duckdb/appender.c +17 -0
  6. data/ext/duckdb/arrow_array_stream.c +226 -0
  7. data/ext/duckdb/arrow_array_stream.h +61 -0
  8. data/ext/duckdb/arrow_import.c +165 -0
  9. data/ext/duckdb/arrow_import.h +6 -0
  10. data/ext/duckdb/blob.c +1 -1
  11. data/ext/duckdb/blob.h +1 -2
  12. data/ext/duckdb/config.c +1 -1
  13. data/ext/duckdb/config.h +1 -1
  14. data/ext/duckdb/connection.c +3 -3
  15. data/ext/duckdb/converter.h +1 -0
  16. data/ext/duckdb/conveter.c +39 -9
  17. data/ext/duckdb/data_chunk.c +10 -0
  18. data/ext/duckdb/data_chunk.h +1 -0
  19. data/ext/duckdb/duckdb.c +13 -11
  20. data/ext/duckdb/error.c +1 -1
  21. data/ext/duckdb/error.h +1 -3
  22. data/ext/duckdb/function_executor.c +308 -2
  23. data/ext/duckdb/function_executor.h +44 -0
  24. data/ext/duckdb/prepared_statement.c +21 -0
  25. data/ext/duckdb/result.c +49 -3
  26. data/ext/duckdb/result.h +11 -0
  27. data/ext/duckdb/ruby-duckdb.h +3 -0
  28. data/ext/duckdb/scalar_function.c +97 -29
  29. data/ext/duckdb/scalar_function.h +2 -4
  30. data/ext/duckdb/scalar_function_bind_info.c +13 -13
  31. data/ext/duckdb/scalar_function_bind_info.h +1 -1
  32. data/ext/duckdb/scalar_function_set.c +9 -9
  33. data/ext/duckdb/scalar_function_set.h +2 -2
  34. data/ext/duckdb/table_description.c +19 -19
  35. data/ext/duckdb/table_description.h +1 -1
  36. data/ext/duckdb/table_function.c +94 -28
  37. data/ext/duckdb/table_function.h +2 -2
  38. data/ext/duckdb/table_function_bind_info.c +20 -20
  39. data/ext/duckdb/table_function_bind_info.h +2 -2
  40. data/ext/duckdb/table_function_function_info.c +5 -5
  41. data/ext/duckdb/table_function_function_info.h +2 -2
  42. data/ext/duckdb/table_function_init_info.c +70 -5
  43. data/ext/duckdb/table_function_init_info.h +2 -2
  44. data/lib/duckdb/appender.rb +23 -0
  45. data/lib/duckdb/arrow_array_stream.rb +33 -0
  46. data/lib/duckdb/connection.rb +54 -0
  47. data/lib/duckdb/prepared_statement.rb +17 -0
  48. data/lib/duckdb/version.rb +1 -1
  49. data/lib/duckdb.rb +1 -0
  50. metadata +6 -1
@@ -193,6 +193,23 @@ module DuckDB
193
193
  _bind_uhugeint(index, lower, upper)
194
194
  end
195
195
 
196
+ # binds i-th parameter with a UUID value.
197
+ # The first argument is the index of the parameter (1-based).
198
+ # The second argument must be a String in canonical UUID format
199
+ # (<tt>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</tt>).
200
+ # Raises ArgumentError if the value is not a valid UUID string.
201
+ #
202
+ # require 'duckdb'
203
+ # db = DuckDB::Database.open
204
+ # con = db.connect
205
+ # con.query('CREATE TABLE uuids (id UUID)')
206
+ # stmt = DuckDB::PreparedStatement.new(con, 'INSERT INTO uuids(id) VALUES ($1)')
207
+ # stmt.bind_uuid(1, '550e8400-e29b-41d4-a716-446655440000')
208
+ # stmt.execute
209
+ def bind_uuid(index, value)
210
+ _bind_uuid(index, value)
211
+ end
212
+
196
213
  # binds i-th parameter with SQL prepared statement.
197
214
  # The first argument is index of parameter.
198
215
  # The index of first parameter is 1 not 0.
@@ -3,5 +3,5 @@
3
3
  module DuckDB
4
4
  # The version string of ruby-duckdb.
5
5
  # Currently, ruby-duckdb is NOT semantic versioning.
6
- VERSION = '1.5.3.0'
6
+ VERSION = '1.5.4.0'
7
7
  end
data/lib/duckdb.rb CHANGED
@@ -9,6 +9,7 @@ require 'duckdb/database'
9
9
  require 'duckdb/connection'
10
10
  require 'duckdb/extracted_statements'
11
11
  require 'duckdb/result'
12
+ require 'duckdb/arrow_array_stream'
12
13
  require 'duckdb/prepared_statement'
13
14
  require 'duckdb/pending_result'
14
15
  require 'duckdb/appender'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: duckdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.3.0
4
+ version: 1.5.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masaki Suketa
@@ -47,6 +47,10 @@ files:
47
47
  - ext/duckdb/aggregate_function_set.h
48
48
  - ext/duckdb/appender.c
49
49
  - ext/duckdb/appender.h
50
+ - ext/duckdb/arrow_array_stream.c
51
+ - ext/duckdb/arrow_array_stream.h
52
+ - ext/duckdb/arrow_import.c
53
+ - ext/duckdb/arrow_import.h
50
54
  - ext/duckdb/blob.c
51
55
  - ext/duckdb/blob.h
52
56
  - ext/duckdb/client_context.c
@@ -114,6 +118,7 @@ files:
114
118
  - lib/duckdb/aggregate_function.rb
115
119
  - lib/duckdb/aggregate_function_set.rb
116
120
  - lib/duckdb/appender.rb
121
+ - lib/duckdb/arrow_array_stream.rb
117
122
  - lib/duckdb/casting.rb
118
123
  - lib/duckdb/client_context.rb
119
124
  - lib/duckdb/column.rb