Conversation
WalkthroughBumps the gem version to 1.4.1.1, updates build ARGs for Ruby and DuckDB in the Dockerfile, and adds an unreleased changelog entry noting that DuckDB::Connection#appender_from_query accepts a block and fixes a typo. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Connection
participant Appender
Note over Connection: New/Documented behavior
User->>Connection: appender_from_query(sql) { |appender| ... }
alt block provided
Connection->>Appender: create appender for query
Connection-->>User: yield Appender to block
User->>Appender: append rows inside block (sync)
Appender-->>Connection: flush/close
else no block
Connection->>Appender: return Appender object
end
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes
Possibly related PRs
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (19)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
032ec81 to
1849486
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
Gemfile.lockis excluded by!**/*.lock
📒 Files selected for processing (3)
CHANGELOG.md(1 hunks)Dockerfile(1 hunks)lib/duckdb/version.rb(1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2025-01-24T22:18:24.630Z
Learnt from: suketa
Repo: suketa/ruby-duckdb PR: 0
File: :0-0
Timestamp: 2025-01-24T22:18:24.630Z
Learning: When using ruby-asan (AddressSanitizer), avoid letting DuckDB throw C++ exceptions by checking conditions (like table existence) beforehand and raising Ruby exceptions directly to prevent ASAN from intercepting the C++ exceptions.
Applied to files:
Dockerfilelib/duckdb/version.rb
📚 Learning: 2025-01-24T22:37:32.786Z
Learnt from: suketa
Repo: suketa/ruby-duckdb PR: 0
File: :0-0
Timestamp: 2025-01-24T22:37:32.786Z
Learning: In Ruby-DuckDB C extensions, when initializing resources like prepared statements, store them directly in the context structure instead of using temporary variables to prevent memory leaks, especially when exceptions might be thrown.
Applied to files:
lib/duckdb/version.rb
📚 Learning: 2025-01-26T00:37:44.001Z
Learnt from: suketa
Repo: suketa/ruby-duckdb PR: 871
File: ext/duckdb/appender.c:170-178
Timestamp: 2025-01-26T00:37:44.001Z
Learning: In ruby-duckdb's DuckDB::Appender#append_uint8, values larger than uint8 max (255) are silently truncated to maintain backward compatibility, following C's implicit truncation behavior. Range checking is intentionally omitted to avoid breaking changes.
Applied to files:
lib/duckdb/version.rb
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
- GitHub Check: test (mingw, 1.3.2)
- GitHub Check: test (3.3.10, 1.4.1)
- GitHub Check: test (mswin, 1.3.2)
- GitHub Check: test (ucrt, 1.4.1)
- GitHub Check: test (3.2.9, 1.4.1)
- GitHub Check: test (mswin, 1.4.1)
- GitHub Check: test (mingw, 1.4.1)
- GitHub Check: test (3.3.10, 1.3.2)
- GitHub Check: test (3.4.7, 1.3.2)
- GitHub Check: test (3.2.9, 1.3.2)
- GitHub Check: test (3.5.0-preview1, 1.4.1)
- GitHub Check: test (3.5.0-preview1, 1.4.1)
- GitHub Check: test (head, 1.3.2)
🔇 Additional comments (2)
lib/duckdb/version.rb (1)
6-6: LGTM!The version bump from '1.4.1.0' to '1.4.1.1' is correct for this patch release.
Dockerfile (1)
1-1: Version updates verified and approved.Ruby 3.4.7 and DuckDB 1.4.1 are both confirmed available in their respective registries. The changes are good to merge.
Summary by CodeRabbit
Chores
Documentation