activerecord-cubrid2-adapter 0.0.2 → 0.0.4

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: fa9bb76dd730abb53dfc4a0dd0eed73aae65807102e0785f0f745e251b62a09f
4
- data.tar.gz: 2584cfda25294f6534eebe581f37d6c87ef3fd3cafb08bb7bda5029ecf86d110
3
+ metadata.gz: 66a82d90a133133ed00cd25820b12a40df63021603d080cf1670e9d440b20e78
4
+ data.tar.gz: 22a8b40fa849ed6bba01660a850a6603b1914e183357367d3d44f60f13862a13
5
5
  SHA512:
6
- metadata.gz: cbcec064f78631b61d99e198e99cd4c969a5933b4266b184597c9904daa2e5955ad45568a277a803f0a7285a9d4c08d972a64b7a66e67eac610951061d230bd3
7
- data.tar.gz: 8f56f4cf68b369bf042bb0be92d818882b3764d283a63de6d50ec6ad524bab14b12ba67a5349e9c149ed73df9a2e6b08bf371a408efb75906f27f10edead70a8
6
+ metadata.gz: 8e52dd2b5fb04ac6da7b6dd34cf251a0fecfeb415e1675f1979316eee291f3570579bfeb624a00eaead3184af9b79bf5a4d46bd4bf2a1e813ba11a5887312007
7
+ data.tar.gz: 07d2b7cbdde814f729cbf8e2559bb1797985f844f5598eb5bbc85cfffad8f9546bf991f70afd4ae07d841c78cbf59d602e22657421f9da4acfa4b7efb51931c0
data/.gitignore CHANGED
@@ -17,3 +17,4 @@ tests/test_cubrid3.rb
17
17
  tests/test_mysql.rb
18
18
  tests/test_pg.rb
19
19
 
20
+ activerecord-cubrid2-adapter-*.gem
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.4
@@ -21,6 +21,6 @@ Gem::Specification.new do |spec|
21
21
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
22
22
  spec.require_paths = ['lib']
23
23
 
24
- spec.add_dependency 'activerecord', '>= 6.0'
25
- spec.add_dependency 'cubrid', '>= 10.0'
24
+ spec.add_runtime_dependency 'activerecord', '>= 6.0', '< 8'
25
+ spec.add_runtime_dependency 'cubrid', '>= 10.0'
26
26
  end
@@ -199,7 +199,6 @@ module ActiveRecord
199
199
  materialize_transactions
200
200
 
201
201
  stmt = nil
202
-
203
202
  log(sql, name) do
204
203
  ActiveSupport::Dependencies.interlock.permit_concurrent_loads do
205
204
  stmt = @connection.query(sql)
@@ -282,7 +281,7 @@ module ActiveRecord
282
281
  WHERE owner_name = 'PUBLIC'
283
282
  AND class_type = 'CLASS'
284
283
  AND is_system_class = 'NO'
285
- AND class_name = #{quote_table_name(table_name)}
284
+ AND class_name = #{quote(table_name)}
286
285
  SQL
287
286
  end
288
287
 
@@ -326,7 +325,12 @@ module ActiveRecord
326
325
  if supports_rename_index?
327
326
  validate_index_length!(table_name, new_name)
328
327
 
329
- execute "ALTER TABLE #{quote_table_name(table_name)} RENAME INDEX #{quote_table_name(old_name)} TO #{quote_table_name(new_name)}"
328
+ # NOTE: Renaming table index SQL would not work.
329
+ # See: https://www.cubrid.org/manual/ko/10.2/sql/schema/index_stmt.html#alter-index
330
+ # https://www.cubrid.com/index.php?mid=qna&document_srl=3802148
331
+ _query = "ALTER INDEX #{quote_table_name(old_name)} ON #{quote_table_name(table_name)} RENAME TO #{quote_table_name(new_name)}"
332
+ puts "Warning: renaming index not work as manual. Ignoring: #{_query}"
333
+ # execute _query
330
334
  else
331
335
  super
332
336
  end
@@ -542,6 +546,7 @@ module ActiveRecord
542
546
  register_integer_type m, /^bigint/i, limit: 8
543
547
  register_integer_type m, /^int/i, limit: 4
544
548
  register_integer_type m, /^smallint/i, limit: 2
549
+ register_integer_type m, /^short/i, limit: 2
545
550
 
546
551
  m.register_type(/^smallint\(1\)/i, Type::Boolean.new) if emulate_booleans
547
552
  m.alias_type(/year/i, 'integer')
@@ -127,7 +127,8 @@ module ActiveRecord
127
127
  end
128
128
 
129
129
  def execute_batch(statements, name = nil)
130
- combine_multi_statements(statements).each do |statement|
130
+ # ss = combine_multi_statements(statements)
131
+ statements.each do |statement|
131
132
  execute(statement, name)
132
133
  end
133
134
  end
@@ -4,6 +4,15 @@ module ActiveRecord
4
4
  module ConnectionAdapters
5
5
  module Cubrid2
6
6
  module Quoting # :nodoc:
7
+ def quote(value) # :nodoc:
8
+ case value
9
+ when ActiveRecord::ConnectionAdapters::ColumnDefinition
10
+ quote(value.name)
11
+ else
12
+ super
13
+ end
14
+ end
15
+
7
16
  # def quote_string(s)
8
17
  # super
9
18
  # end
@@ -13,7 +22,7 @@ module ActiveRecord
13
22
  end
14
23
 
15
24
  def quote_table_name(name)
16
- self.class.quoted_table_names[name] ||= super.gsub(".", "`.`").freeze
25
+ self.class.quoted_table_names[name] ||= super.gsub('.', '`.`').freeze
17
26
  end
18
27
 
19
28
  # def quote_table_name(name) # :nodoc:
@@ -32,11 +41,11 @@ module ActiveRecord
32
41
  end
33
42
 
34
43
  # Quotes column names for use in SQL queries.
35
- #def quote_column_name(name) # :nodoc:
36
- #self.class.quoted_column_names[name] ||= quote(super).freeze
37
- #pp "## quote_column_name: #{name}"
38
- #self.class.quoted_column_names[name] ||= quote_string(name).freeze
39
- #end
44
+ # def quote_column_name(name) # :nodoc:
45
+ # self.class.quoted_column_names[name] ||= quote(super).freeze
46
+ # pp "## quote_column_name: #{name}"
47
+ # self.class.quoted_column_names[name] ||= quote_string(name).freeze
48
+ # end
40
49
 
41
50
  # def visit_Arel_Attributes_Attribute(o, collector)
42
51
  # join_name = o.relation.table_alias || o.relation.name
@@ -16,11 +16,9 @@ module ActiveRecord
16
16
  client = Cubrid2::Client.new(config)
17
17
  ConnectionAdapters::Cubrid2Adapter.new(client, logger, nil, config)
18
18
  rescue Cubrid2::Error => e
19
- if e.error_number == ER_DATABASE_CONNECTION_ERROR
20
- raise ActiveRecord::NoDatabaseError
21
- else
22
- raise
23
- end
19
+ raise ActiveRecord::NoDatabaseError if e.error_number == ER_DATABASE_CONNECTION_ERROR
20
+
21
+ raise
24
22
  end
25
23
  end
26
24
 
@@ -72,7 +70,7 @@ module ActiveRecord
72
70
  stmt = result.is_a?(Array) ? result.first : result
73
71
  if block_given?
74
72
  if result && stmt
75
- while row = stmt.fetch_hash
73
+ while (row = stmt.fetch_hash)
76
74
  yield row.symbolize_keys
77
75
  end
78
76
  end
@@ -92,8 +90,7 @@ module ActiveRecord
92
90
  def quote_string(string)
93
91
  # escaping with backslash is only allowed when 'no_backslash_escapes' == 'yes' in cubrid config, default is yes.
94
92
  # See: https://www.cubrid.org/manual/ko/11.2/sql/literal.html#id5
95
- # "'#{string.gsub("'", "''")}'"
96
- string
93
+ "#{string.gsub("'", "''")}"
97
94
  end
98
95
 
99
96
  #--
@@ -120,7 +117,7 @@ module ActiveRecord
120
117
 
121
118
  def discard! # :nodoc:
122
119
  super
123
- #@connection.automatic_close = false
120
+ # @connection.automatic_close = false
124
121
  @connection = nil
125
122
  end
126
123
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-cubrid2-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eui-Taik Na
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-26 00:00:00.000000000 Z
11
+ date: 2023-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -17,6 +17,9 @@ dependencies:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '6.0'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '8'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -24,6 +27,9 @@ dependencies:
24
27
  - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '6.0'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '8'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: cubrid
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -96,7 +102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
102
  - !ruby/object:Gem::Version
97
103
  version: '0'
98
104
  requirements: []
99
- rubygems_version: 3.1.4
105
+ rubygems_version: 3.3.7
100
106
  signing_key:
101
107
  specification_version: 4
102
108
  summary: ActiveRecord Cubrid Adapter.