activerecord-cubrid2-adapter 0.0.2 → 0.0.4

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: 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.