duckdb 1.1.3.1 → 1.2.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 97d0a0fdf67bcfdd00102540f9dd675e1fe87176e349ef06db6f1c72f78b5219
4
- data.tar.gz: da34340b078ae95c6b9fa7ddb872de4be16f3bc298169004761d532a9f378f20
3
+ metadata.gz: d8003b16f724b8a5c4863dbc507476601992e002767aa3cf7cfd7d87583265bc
4
+ data.tar.gz: a82ef0f5617349c568dd2be3cb8ad1deb5bdee8796483e376eaabc266232f280
5
5
  SHA512:
6
- metadata.gz: 924d05547e0f9bf6f4772db3a93085930cd48961a0eee92d114815ea8286cd4ad6d1454764ffd97caa0cc6be103a2b084d1f402e98a973dc529b674754b4cfd7
7
- data.tar.gz: 022f30d9b659b487f109d91b7d9818a26bb6d0a7fffd62fc8ae0375453688b3981b652fcb00826a826f15503ee119ca73830fe251329d51235d46ffa6c17ff50
6
+ metadata.gz: 8220ad5939d4c60819636488a783118ba8040429348ad157515ea1801fe9462ad20e2fff12440ce3e1ffae642f3d6fca0a02b43b4ed8958a105cfd079f85de47
7
+ data.tar.gz: f221a85106b80b654750faeb855c51ff760d82082cb86d7c77834c20194ab71b21feff55d883f1d2d13b1dac699bb50ff6fc5473a04db0e50f4dbbfcb1cd5d22
@@ -0,0 +1,34 @@
1
+ name: Deploy RDoc to GitHub Pages
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ jobs:
9
+ deploy:
10
+ name: Build and Deploy RDoc
11
+ runs-on: ubuntu-latest
12
+
13
+ steps:
14
+ # リポジトリをクローン
15
+ - name: Checkout code
16
+ uses: actions/checkout@v3
17
+
18
+ # Ruby をセットアップ
19
+ - name: Set up Ruby
20
+ uses: ruby/setup-ruby@v1
21
+ with:
22
+ ruby-version: 3.4
23
+
24
+ # RDoc ドキュメントを生成
25
+ - name: Generate RDoc
26
+ run: rdoc -o docs
27
+
28
+ # GitHub Pages 用にデプロイ
29
+ - name: Deploy to GitHub Pages
30
+ uses: peaceiris/actions-gh-pages@v3
31
+ with:
32
+ github_token: ${{ secrets.GITHUB_TOKEN }}
33
+ publish_branch: gh-pages
34
+ publish_dir: ./docs
@@ -15,9 +15,8 @@ jobs:
15
15
  runs-on: macos-latest
16
16
  strategy:
17
17
  matrix:
18
- # ruby: ['3.1.6', '3.2.6', '3.3.6', '3.4.0-preview2', 'head']
19
- ruby: ['3.1.6', '3.2.6', '3.3.6', '3.4.0-preview2']
20
- duckdb: ['1.1.3', '1.1.1', '1.0.0']
18
+ ruby: ['3.1.6', '3.2.7', '3.3.7', '3.4.2', 'head']
19
+ duckdb: ['1.2.1', '1.1.3', '1.1.1']
21
20
 
22
21
  steps:
23
22
  - uses: actions/checkout@v4
@@ -15,8 +15,8 @@ jobs:
15
15
  runs-on: ubuntu-latest
16
16
  strategy:
17
17
  matrix:
18
- ruby: ['3.1.6', '3.2.6', '3.3.6', '3.4.0-preview2', 'head']
19
- duckdb: ['1.1.3', '1.1.1', '1.0.0']
18
+ ruby: ['3.1.6', '3.2.7', '3.3.7', '3.4.2', 'head']
19
+ duckdb: ['1.2.1', '1.1.3', '1.1.1']
20
20
 
21
21
  steps:
22
22
  - uses: actions/checkout@v4
@@ -15,8 +15,8 @@ jobs:
15
15
  runs-on: windows-latest
16
16
  strategy:
17
17
  matrix:
18
- ruby: ['3.1.6', '3.2.5', '3.3.5', 'ucrt', 'mingw', 'mswin', 'head']
19
- duckdb: ['1.1.3', '1.1.1', '1.0.0']
18
+ ruby: ['3.1.6', '3.2.6', '3.3.6', '3.4.1', 'ucrt', 'mingw', 'mswin', 'head']
19
+ duckdb: ['1.2.1', '1.1.3', '1.1.1']
20
20
 
21
21
  steps:
22
22
  - uses: actions/checkout@v4
data/.gitignore CHANGED
@@ -16,3 +16,4 @@
16
16
  *.so
17
17
  Makefile
18
18
  ng_test
19
+ /docs/
data/.rdoc_options ADDED
@@ -0,0 +1,22 @@
1
+ ---
2
+ encoding: UTF-8
3
+ static_path: []
4
+ rdoc_include: []
5
+ charset: UTF-8
6
+ exclude:
7
+ - "~\\z"
8
+ - "\\.orig\\z"
9
+ - "\\.rej\\z"
10
+ - "\\.bak\\z"
11
+ - "\\.gemspec\\z"
12
+ - "ext/duckdb/extconf.rb"
13
+ - "Gemfile"
14
+ - "Gemfile.lock"
15
+ - "Rakefile"
16
+ - "getduckdb.sh"
17
+ - "rdoc.log"
18
+ - "tmp"
19
+ - "mkmf.log"
20
+ - "Dockerfile"
21
+ - "bin"
22
+ main_page: "README.md"
data/CHANGELOG.md CHANGED
@@ -2,6 +2,69 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
  # Unreleased
5
+
6
+ # 1.2.1.0 - 2025-03-30
7
+ - bump duckdb v1.2.1 on CI.
8
+ - drop duckdb v1.0.0.
9
+ - add `DuckDB::LogicalType` class.
10
+ - `DuckDB::LogicalType` class is under construction. `DuckDB::LogicalType#member_count`,
11
+ `DuckDB::LogicalType#member_name_at`, `DuckDB::LogicalType#member_type_at`,
12
+ `DuckDB::LogicalType#each_member_name`, `DuckDB::LogicalType#each_member_type`,
13
+ `DuckDB::LogicalType#child_count`, `DuckDB::LogicalType#child_name_at`,
14
+ `DuckDB::LogicalType#child_type_at`, `DuckDB::LogicalType#each_child_name`, and
15
+ `DuckDB::LogicalType#each_child_type` are available.
16
+ - fix error message when `DuckDB::Appender#append_uint16`, `DuckDB::Appender#append_uint32`,
17
+ `DuckDB::Appender#append_uint64`, `DuckDB::Appender#append_float`, `DuckDB::Appender#append_double`,
18
+ `DuckDB::Appender#append_varchar`, `DuckDB::Appender#append_varchar_length`,
19
+ `DuckDB::Appender#append_blob`, `DuckDB::Appender#append_null`, `DuckDB::Appender#append_default`,
20
+ `DuckDB::Appender#append_date`, `DuckDB::Appender#append_interval`, `DuckDB::Appender#append_time`,
21
+ `DuckDB::Appender#append_timestamp`, `DuckDB::Appender#append_hugeint` failed.
22
+ - add `DuckDB::PreparedStatement#bind_uhugeint`.
23
+
24
+ # 1.2.0.0 - 2025-02-24
25
+ - bump duckdb to 1.2.0.
26
+ - add `DuckDB::LogicalType` class(Thanks to @otegami).
27
+ - `DuckDB::LogicalType` class is under construction. `DuckDB::LogicalType#type`, `DuckDB::LogicalType#width`,
28
+ `DuckDB::LogicalType#scale`, `DuckDB::LogicalType#child_type`, `DuckDB::LogicalType#size`,
29
+ `DuckDB::LogicalType#key_type`, and `DuckDB::LogicalType#value_type` are available.
30
+ - add `DuckDB::Appender#error_message`.
31
+ - fix error message when `DuckDB::Appender#flush`, `DuckDB::Appender#close`, `DuckDB::Appender#end_row`,
32
+ `DuckDB::Appender#append_bool`, `DuckDB::Appender#append_int8`, `DuckDB::Appender#append_int16`,
33
+ `DuckDB::Appender#append_int32`, `DuckDB::Appender#append_int64`, `DuckDB::Appender#append_uint8` failed.
34
+ - `DuckDB::Appender#begin_row` does nothing. Only returns self. `DuckDB::Appender#end_row` is only required.
35
+ - bump ruby in CI. use 3.4.2 on MacOS and Ubuntu, 3.4.1 on Windows.
36
+
37
+ ## Breaking changes
38
+ - `DuckDB::Result#row_count`, `DuckDB::Result#row_size` are deprecated.
39
+ - `DuckDB::Result#use_chunk_each?`, `DuckDB::Result#use_chunk_each=` are deprecated.
40
+ - `DuckDB::Result#chunk_each` is deprecated.
41
+ - `DuckDB::Result#each` only works at first time because duckdb_chunk_each C-API is deprecated.
42
+ Calling `DuckDB::Result#each` twice or more does not work.
43
+ ```ruby
44
+ result = con.query('SELECT * FROM table')
45
+ result.each do |record|
46
+ p record # <= this works fine.
47
+ end
48
+ # calling each again does not work.
49
+ result.each do |record|
50
+ p record # <= this will not work
51
+ end
52
+ ```
53
+ If you prefer to use `DuckDB::Result#each` multiple times, set `DuckDB::Result.use_chunk_each = true`.
54
+ But this behavior will be removed in the future release.
55
+ ```ruby
56
+ DuckDB::Result.use_chunk_each = true
57
+ result = con.query('SELECT * FROM table')
58
+ result.each do |record|
59
+ p record # <= this works fine.
60
+ end
61
+ # calling each again works.
62
+ result.each do |record|
63
+ p record # <= this works fine.
64
+ end
65
+ ```
66
+ - `DuckDB::Result#streaming?` will be deprecated.
67
+
5
68
  # 1.1.3.1 - 2024-11-27
6
69
  - fix to `DuckDB::Connection#query` with multiple SQL statements. Calling PreparedStatement#destroy after each statement executed.
7
70
  - install valgrind in docker development environment.
data/Dockerfile CHANGED
@@ -1,7 +1,7 @@
1
- ARG RUBY_VERSION=3.3.6
1
+ ARG RUBY_VERSION=3.4.2
2
2
  FROM ruby:${RUBY_VERSION}
3
3
 
4
- ARG DUCKDB_VERSION=1.1.3
4
+ ARG DUCKDB_VERSION=1.2.1
5
5
  ARG VALGRIND_VERSION=3.21.0
6
6
 
7
7
  RUN apt update -qq && \
data/Gemfile.lock CHANGED
@@ -1,34 +1,36 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- duckdb (1.1.3.1)
4
+ duckdb (1.2.1.0)
5
5
  bigdecimal (>= 3.1.4)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
10
  benchmark-ips (2.14.0)
11
- bigdecimal (3.1.8)
12
- minitest (5.25.2)
13
- nokogiri (1.16.7-aarch64-linux)
11
+ bigdecimal (3.1.9)
12
+ mini_portile2 (2.8.8)
13
+ minitest (5.25.5)
14
+ nokogiri (1.18.6)
15
+ mini_portile2 (~> 2.8.2)
14
16
  racc (~> 1.4)
15
- nokogiri (1.16.7-arm-linux)
17
+ nokogiri (1.18.6-aarch64-linux-gnu)
16
18
  racc (~> 1.4)
17
- nokogiri (1.16.7-arm64-darwin)
19
+ nokogiri (1.18.6-arm-linux-gnu)
18
20
  racc (~> 1.4)
19
- nokogiri (1.16.7-x86-linux)
21
+ nokogiri (1.18.6-arm64-darwin)
20
22
  racc (~> 1.4)
21
- nokogiri (1.16.7-x86_64-darwin)
23
+ nokogiri (1.18.6-x86_64-darwin)
22
24
  racc (~> 1.4)
23
- nokogiri (1.16.7-x86_64-linux)
25
+ nokogiri (1.18.6-x86_64-linux-gnu)
24
26
  racc (~> 1.4)
25
27
  racc (1.8.1)
26
28
  rake (13.2.1)
27
- rake-compiler (1.2.8)
29
+ rake-compiler (1.2.9)
28
30
  rake
29
- ruby_memcheck (3.0.0)
31
+ ruby_memcheck (3.0.1)
30
32
  nokogiri
31
- stackprof (0.2.26)
33
+ stackprof (0.2.27)
32
34
 
33
35
  PLATFORMS
34
36
  aarch64-linux
data/README.md CHANGED
@@ -65,6 +65,8 @@ gem install duckdb -- --with-duckdb-include=/duckdb_header_directory --with-duck
65
65
 
66
66
  ## Usage
67
67
 
68
+ The followings are some examples, for more detailed information, please refer to the [documentation](https://suketa.github.io/ruby-duckdb/index.html).
69
+
68
70
  ```ruby
69
71
  require 'duckdb'
70
72
 
@@ -218,7 +220,6 @@ def append
218
220
  appender = con.appender('users')
219
221
 
220
222
  10000.times do
221
- appender.begin_row
222
223
  appender.append(1)
223
224
  appender.append('Alice')
224
225
  appender.end_row
data/duckdb.gemspec CHANGED
@@ -15,6 +15,7 @@ Gem::Specification.new do |spec|
15
15
  spec.homepage = 'https://github.com/suketa/ruby-duckdb'
16
16
  spec.license = 'MIT'
17
17
 
18
+ spec.metadata['rubygems_mfa_required'] = 'true'
18
19
  spec.metadata['homepage_uri'] = spec.homepage
19
20
  spec.metadata['source_code_uri'] = 'https://github.com/suketa/ruby-duckdb'
20
21
  spec.metadata['changelog_uri'] = 'https://github.com/suketa/ruby-duckdb/blob/master/CHANGELOG.md'