clickhouse-activerecord 1.0.10 → 1.0.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fcb4b8401a210b2fafb35c9947df32c772b83740102b95b982146c573ae76f12
4
- data.tar.gz: 41e059ab9a032725874117f4d7f18e6e0c22e568aaec142002b2f9bf5400ddac
3
+ metadata.gz: bb1844d5c04115646e36f7914b9d3e46872f28d87e941354eb01313df6228df9
4
+ data.tar.gz: b7ec986391a326ac03d910dfbd40820f339c8f6d49ee937a863c5ea0fffc336f
5
5
  SHA512:
6
- metadata.gz: f6242025f4207c68d8ac1e9a7cb87ede0fcbcbf4f7937b44d9b9e8faff43a121af2cb8c58bbdb2fac0d1959d197efb95e1718968c054ef9e213641fe2da6641a
7
- data.tar.gz: 4a007e48f1f7f3866d90cf5080847d0e6af9dba41e525bdd78890419f9edc0f8484dbd3d83d01529185477210d1878527d85506a65a927970c864e9f7d6a60f4
6
+ metadata.gz: 188bfb4db6343255fb738658d44133380e31806257af0fc3a1077f7483033e47dca2d7f460ac8070859624c1cb77ec208a953d441dae83af39199279e1341a6b
7
+ data.tar.gz: 9cd536b970e75d0a2ecaf2a1651216dcefbab1ff85cbdfacb5437b57ddf54b56ad8866ee905cfbf9f7c105a771ead6e783de6e5819362c36944d23993e519bf2
@@ -104,7 +104,8 @@ HEADER
104
104
  raise StandardError, "Unknown type '#{column.sql_type}' for column '#{column.name}'" unless @connection.valid_type?(column.type)
105
105
  next if column.name == pk
106
106
  type, colspec = column_spec(column)
107
- tbl.print " t.#{type} #{column.name.inspect}"
107
+ name = column.name =~ (/\./) ? "\"`#{column.name}`\"" : column.name.inspect
108
+ tbl.print " t.#{type} #{name}"
108
109
  tbl.print ", #{format_colspec(colspec)}" if colspec.present?
109
110
  tbl.puts
110
111
  end
@@ -167,10 +168,15 @@ HEADER
167
168
  (column.sql_type =~ /Array?\(/).nil? ? nil : true
168
169
  end
169
170
 
171
+ def schema_low_cardinality(column)
172
+ (column.sql_type =~ /LowCardinality?\(/).nil? ? nil : true
173
+ end
174
+
170
175
  def prepare_column_options(column)
171
176
  spec = {}
172
177
  spec[:unsigned] = schema_unsigned(column)
173
178
  spec[:array] = schema_array(column)
179
+ spec[:low_cardinality] = schema_low_cardinality(column)
174
180
  spec.merge(super).compact
175
181
  end
176
182
 
@@ -1,3 +1,3 @@
1
1
  module ClickhouseActiverecord
2
- VERSION = '1.0.10'
2
+ VERSION = '1.0.12'
3
3
  end
@@ -36,10 +36,16 @@ module CoreExtensions
36
36
  connection.insert(im, "#{self.class} Create Rollback Version", primary_key, version)
37
37
  end
38
38
 
39
- def all_versions
39
+ def versions
40
40
  return super unless connection.is_a?(::ActiveRecord::ConnectionAdapters::ClickhouseAdapter)
41
41
 
42
- final.where(active: 1).order(:version).pluck(:version)
42
+ sm = ::Arel::SelectManager.new(arel_table)
43
+ sm.final!
44
+ sm.project(arel_table[primary_key])
45
+ sm.order(arel_table[primary_key].asc)
46
+ sm.where([arel_table['active'].eq(1)])
47
+
48
+ connection.select_values(sm, "#{self.class} Load")
43
49
  end
44
50
  end
45
51
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clickhouse-activerecord
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.10
4
+ version: 1.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey Odintsov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-11 00:00:00.000000000 Z
11
+ date: 2024-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler