duckdb 1.4.1.0 → 1.4.1.1

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: 172cad0f5262bd839bcae9bd60455db2ae92c3d2777856a807448749b4982d63
4
- data.tar.gz: 7af629371eb57967458add2ad62d88bf22f4c01eb3fc8e07ec67456c9d0edcb0
3
+ metadata.gz: d200c70dfab88b1a94fa077f03cdd1d5f982f0895e2032ed9fc7c73b6a103b0e
4
+ data.tar.gz: c0003402de6e08504a4a9cf762bf4e0735810196d4e5a4dc144eb3ee20fbee07
5
5
  SHA512:
6
- metadata.gz: 92aa3a8b950008ff7327a27f98a76ba8e519d5f7ea1e3120b4d5310dd27bc15a7b330b5893d2a766da3533acf95a1e3b65614e28e9564a22286d8b493988fa9f
7
- data.tar.gz: 53660ec068a0a15f6065d67c15323612d13b5e91fc578a81554a8e8728c92888096cf817d2649fc15d4af6bb1045ed9f4bdf2232cb67fd8701a4578c37c34e0a
6
+ metadata.gz: 9cbaeef230722faeca71ada1b187a71c3ab5793323086639493a136f88642ac09a13e1ec69f542d893fe0f73f665d98e16518415c272b796c32aae8cac14dfb5
7
+ data.tar.gz: 5c935ba35bd85398e56a150b88caa8b4ea26d5524fdd85f9dd3883e7a7e2fad8101dbec88a92688e5d501e7cce381393e78f45110d1d08fbd9e43e9fd2252473
data/CHANGELOG.md CHANGED
@@ -4,6 +4,8 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  # Unreleased
6
6
 
7
+ # 1.4.1.1 - 2025-11-03
8
+ - DuckDB::Connection#appender_from_query accepts block.
7
9
  # 1.4.1.0 - 2025-11-01
8
10
  - add DuckDB::Connection#appender_from_query.
9
11
  - add DuckDB::Appender.create_query.
data/Dockerfile CHANGED
@@ -1,7 +1,7 @@
1
- ARG RUBY_VERSION=3.4.4
1
+ ARG RUBY_VERSION=3.4.7
2
2
  FROM ruby:${RUBY_VERSION}
3
3
 
4
- ARG DUCKDB_VERSION=1.3.1
4
+ ARG DUCKDB_VERSION=1.4.1
5
5
  ARG VALGRIND_VERSION=3.21.0
6
6
 
7
7
  RUN apt-get update -qq && \
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- duckdb (1.4.1.0)
4
+ duckdb (1.4.1.1)
5
5
  bigdecimal (>= 3.1.4)
6
6
 
7
7
  GEM
@@ -126,14 +126,9 @@ module DuckDB
126
126
 
127
127
  # returns Appender object.
128
128
  # The first argument is table name
129
- def appender(table)
129
+ def appender(table, &)
130
130
  appender = create_appender(table)
131
-
132
- return appender unless block_given?
133
-
134
- yield appender
135
- appender.flush
136
- appender.close
131
+ run_appender_block(appender, &)
137
132
  end
138
133
 
139
134
  if Appender.respond_to?(:create_query)
@@ -141,8 +136,10 @@ module DuckDB
141
136
  # connection.appender_from_query(query, types, table_name = nil, column_names = nil) -> DuckDB::Appender
142
137
  #
143
138
  # Creates an appender object that executes the given query with any data appended to it.
144
- # The `table_name` parameter is used to refer to the appended data in the query. If omitted, it defaults to "appended_data".
145
- # The `column_names` parameter provides names for the columns of the appended data. If omitted, it defaults to "col1", "col2", etc.
139
+ # The `table_name` parameter is used to refer to the appended data in the query. If omitted, it defaults
140
+ # to "appended_data".
141
+ # The `column_names` parameter provides names for the columns of the appended data. If omitted, it
142
+ # defaults to "col1", "col2", etc.
146
143
  #
147
144
  # require 'duckdb'
148
145
  # db = DuckDB::Database.open
@@ -153,13 +150,22 @@ module DuckDB
153
150
  # appender = con.appender_from_query(query, types, 'my_appended_data', %w[i val])
154
151
  # appender.append_row(1, 'hello world')
155
152
  # appender.close
156
- def appender_from_query(query, types, table_name = nil, column_names = nil)
157
- Appender.create_query(self, query, types, table_name, column_names)
153
+ def appender_from_query(query, types, table_name = nil, column_names = nil, &)
154
+ appender = Appender.create_query(self, query, types, table_name, column_names)
155
+ run_appender_block(appender, &)
158
156
  end
159
157
  end
160
158
 
161
159
  private
162
160
 
161
+ def run_appender_block(appender, &)
162
+ return appender unless block_given?
163
+
164
+ yield appender
165
+ appender.flush
166
+ appender.close
167
+ end
168
+
163
169
  def create_appender(table)
164
170
  t1, t2 = table.split('.')
165
171
  t2 ? Appender.new(self, t1, t2) : Appender.new(self, t2, t1)
@@ -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.4.1.0'
6
+ VERSION = '1.4.1.1'
7
7
  end
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.4.1.0
4
+ version: 1.4.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masaki Suketa