clickhouse-ruby 0.1.0 → 0.2.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 (39) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +74 -1
  3. data/README.md +165 -79
  4. data/lib/clickhouse_ruby/active_record/arel_visitor.rb +205 -76
  5. data/lib/clickhouse_ruby/active_record/connection_adapter.rb +103 -98
  6. data/lib/clickhouse_ruby/active_record/railtie.rb +20 -15
  7. data/lib/clickhouse_ruby/active_record/relation_extensions.rb +398 -0
  8. data/lib/clickhouse_ruby/active_record/schema_statements.rb +90 -104
  9. data/lib/clickhouse_ruby/active_record.rb +24 -10
  10. data/lib/clickhouse_ruby/client.rb +181 -74
  11. data/lib/clickhouse_ruby/configuration.rb +51 -10
  12. data/lib/clickhouse_ruby/connection.rb +180 -64
  13. data/lib/clickhouse_ruby/connection_pool.rb +25 -19
  14. data/lib/clickhouse_ruby/errors.rb +13 -1
  15. data/lib/clickhouse_ruby/result.rb +11 -16
  16. data/lib/clickhouse_ruby/retry_handler.rb +172 -0
  17. data/lib/clickhouse_ruby/streaming_result.rb +309 -0
  18. data/lib/clickhouse_ruby/types/array.rb +11 -64
  19. data/lib/clickhouse_ruby/types/base.rb +59 -0
  20. data/lib/clickhouse_ruby/types/boolean.rb +28 -25
  21. data/lib/clickhouse_ruby/types/date_time.rb +10 -27
  22. data/lib/clickhouse_ruby/types/decimal.rb +173 -0
  23. data/lib/clickhouse_ruby/types/enum.rb +262 -0
  24. data/lib/clickhouse_ruby/types/float.rb +14 -28
  25. data/lib/clickhouse_ruby/types/integer.rb +21 -43
  26. data/lib/clickhouse_ruby/types/low_cardinality.rb +1 -1
  27. data/lib/clickhouse_ruby/types/map.rb +21 -36
  28. data/lib/clickhouse_ruby/types/null_safe.rb +81 -0
  29. data/lib/clickhouse_ruby/types/nullable.rb +2 -2
  30. data/lib/clickhouse_ruby/types/parser.rb +28 -18
  31. data/lib/clickhouse_ruby/types/registry.rb +40 -29
  32. data/lib/clickhouse_ruby/types/string.rb +9 -13
  33. data/lib/clickhouse_ruby/types/string_parser.rb +135 -0
  34. data/lib/clickhouse_ruby/types/tuple.rb +11 -68
  35. data/lib/clickhouse_ruby/types/uuid.rb +15 -22
  36. data/lib/clickhouse_ruby/types.rb +19 -15
  37. data/lib/clickhouse_ruby/version.rb +1 -1
  38. data/lib/clickhouse_ruby.rb +11 -11
  39. metadata +41 -6
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clickhouse-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mohamad Kamar
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-01-31 00:00:00.000000000 Z
11
+ date: 2026-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -80,6 +80,34 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0.9'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.47'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.47'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop-rspec
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '2.20'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '2.20'
83
111
  description: A lightweight Ruby client for ClickHouse with optional ActiveRecord integration.
84
112
  Provides a simple interface for querying, inserting, and managing ClickHouse databases.
85
113
  email:
@@ -96,6 +124,7 @@ files:
96
124
  - lib/clickhouse_ruby/active_record/arel_visitor.rb
97
125
  - lib/clickhouse_ruby/active_record/connection_adapter.rb
98
126
  - lib/clickhouse_ruby/active_record/railtie.rb
127
+ - lib/clickhouse_ruby/active_record/relation_extensions.rb
99
128
  - lib/clickhouse_ruby/active_record/schema_statements.rb
100
129
  - lib/clickhouse_ruby/client.rb
101
130
  - lib/clickhouse_ruby/configuration.rb
@@ -103,29 +132,35 @@ files:
103
132
  - lib/clickhouse_ruby/connection_pool.rb
104
133
  - lib/clickhouse_ruby/errors.rb
105
134
  - lib/clickhouse_ruby/result.rb
135
+ - lib/clickhouse_ruby/retry_handler.rb
136
+ - lib/clickhouse_ruby/streaming_result.rb
106
137
  - lib/clickhouse_ruby/types.rb
107
138
  - lib/clickhouse_ruby/types/array.rb
108
139
  - lib/clickhouse_ruby/types/base.rb
109
140
  - lib/clickhouse_ruby/types/boolean.rb
110
141
  - lib/clickhouse_ruby/types/date_time.rb
142
+ - lib/clickhouse_ruby/types/decimal.rb
143
+ - lib/clickhouse_ruby/types/enum.rb
111
144
  - lib/clickhouse_ruby/types/float.rb
112
145
  - lib/clickhouse_ruby/types/integer.rb
113
146
  - lib/clickhouse_ruby/types/low_cardinality.rb
114
147
  - lib/clickhouse_ruby/types/map.rb
148
+ - lib/clickhouse_ruby/types/null_safe.rb
115
149
  - lib/clickhouse_ruby/types/nullable.rb
116
150
  - lib/clickhouse_ruby/types/parser.rb
117
151
  - lib/clickhouse_ruby/types/registry.rb
118
152
  - lib/clickhouse_ruby/types/string.rb
153
+ - lib/clickhouse_ruby/types/string_parser.rb
119
154
  - lib/clickhouse_ruby/types/tuple.rb
120
155
  - lib/clickhouse_ruby/types/uuid.rb
121
156
  - lib/clickhouse_ruby/version.rb
122
- homepage: https://github.com/kamardev/clickhouse-ruby
157
+ homepage: https://github.com/Mohamad-Kamar/clickhouse-ruby
123
158
  licenses:
124
159
  - MIT
125
160
  metadata:
126
- homepage_uri: https://github.com/kamardev/clickhouse-ruby
127
- source_code_uri: https://github.com/kamardev/clickhouse-ruby
128
- changelog_uri: https://github.com/kamardev/clickhouse-ruby/blob/main/CHANGELOG.md
161
+ homepage_uri: https://github.com/Mohamad-Kamar/clickhouse-ruby
162
+ source_code_uri: https://github.com/Mohamad-Kamar/clickhouse-ruby
163
+ changelog_uri: https://github.com/Mohamad-Kamar/clickhouse-ruby/blob/main/CHANGELOG.md
129
164
  documentation_uri: https://rubydoc.info/gems/clickhouse-ruby
130
165
  rubygems_mfa_required: 'true'
131
166
  post_install_message: