activerecord-cubrid2-adapter 0.0.3 → 0.0.5

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: 5a4def5956cfad3d9c280869241d377182f2007624ff1ba2e9c90eb2ea456423
4
- data.tar.gz: 21f100c281de6bb731613f8c2846c222330bd1044fd8785ba48b35611a6658b9
3
+ metadata.gz: 9e8634b1c39dd11d4694db73f13bf36b5f94a3a976f9d326dbffc5ce8e9145c2
4
+ data.tar.gz: aad71acada082d9f3ddd1d7e339d4db8d6d6a7644824705daebed134d5c0f104
5
5
  SHA512:
6
- metadata.gz: 35f826c22d9adec406b63ef687ca5ac12757fe59ffa2a7ebb534cbfa3ad6e28a45f154adcb809d1181f537b055e6569b0bb53abc33c49b63c1bc4b3e4b476651
7
- data.tar.gz: c64e3974cfd3f960fa12d3e1fd8c3348f41a976d1f3d8797544fc128f01f299edd1c1bedf00790e2b5f8ce20e06a19ec669590f060a5c9ce9eedad3e6fbf679b
6
+ metadata.gz: ec45cc833218ea9b5193fecbeb27a3aacb85795a7a4a5495fb53ec7f73f8ebeb71a4589e55625222c5c69fe5d9684a964b86d9081c0353fe88e4581d5713f095
7
+ data.tar.gz: 96882f548af718500348c060af3ab9563f04a504af3414304965e109abd7ab7896e442c815a7166c169298ae71eb62872bbb4d7f7e27d12a4267d26e572aca59
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.3
1
+ 0.0.5
@@ -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_runtime_dependency 'activerecord', '~> 6.0', '>= 6.0'
25
- spec.add_runtime_dependency 'cubrid', '~> 10.0', '>= 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
 
@@ -547,6 +546,7 @@ module ActiveRecord
547
546
  register_integer_type m, /^bigint/i, limit: 8
548
547
  register_integer_type m, /^int/i, limit: 4
549
548
  register_integer_type m, /^smallint/i, limit: 2
549
+ register_integer_type m, /^short/i, limit: 2
550
550
 
551
551
  m.register_type(/^smallint\(1\)/i, Type::Boolean.new) if emulate_booleans
552
552
  m.alias_type(/year/i, 'integer')
@@ -80,7 +80,10 @@ module ActiveRecord
80
80
  def _build_stmt_result(stmt)
81
81
  columns = stmt.column_info.map { |col| col['name'] }
82
82
  rows = is_conn_utf8? ? _extract_rows_from_stmt__utf8(stmt) : _extract_rows_from_stmt__raw(stmt)
83
- build_result(columns: columns, rows: rows)
83
+
84
+ # build_result(columns: columns, rows: rows)
85
+ # for activerecord <= 6.0
86
+ ActiveRecord::Result.new(columns, rows, column_types = {})
84
87
  end
85
88
 
86
89
  def _extract_rows_from_stmt__raw(stmt, as_hash: false)
@@ -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
@@ -26,22 +26,21 @@ module ActiveRecord
26
26
  end
27
27
 
28
28
  def visit_CreateIndexDefinition(o)
29
- sql = visit_IndexDefinition(o.index, true)
30
- sql
29
+ visit_IndexDefinition(o.index, true)
31
30
  end
32
31
 
33
32
  def visit_IndexDefinition(o, create = false)
34
- index_type = o.type&.to_s&.upcase || o.unique && "UNIQUE"
33
+ index_type = o.type&.to_s&.upcase || o.unique && 'UNIQUE'
35
34
 
36
- sql = create ? ["CREATE"] : []
35
+ sql = create ? ['CREATE'] : []
37
36
  sql << index_type if index_type
38
- sql << "INDEX"
37
+ sql << 'INDEX'
39
38
  sql << quote_column_name(o.name)
40
- #sql << "USING #{o.using}" if o.using
39
+ # sql << "USING #{o.using}" if o.using
41
40
  sql << "ON #{quote_table_name(o.table)}" if create
42
41
  sql << "(#{quoted_columns(o)})"
43
42
 
44
- add_sql_comment!(sql.join(" "), o.comment)
43
+ add_sql_comment!(sql.join(' '), o.comment)
45
44
  end
46
45
 
47
46
  def add_table_options!(create_sql, options)
@@ -57,15 +56,15 @@ module ActiveRecord
57
56
  sql << ' NULL'
58
57
  end
59
58
 
60
- if charset = options[:charset]
59
+ if (charset = options[:charset])
61
60
  sql << " CHARSET #{charset}"
62
61
  end
63
62
 
64
- if collation = options[:collation]
63
+ if (collation = options[:collation])
65
64
  sql << " COLLATE #{collation}"
66
65
  end
67
66
 
68
- if as = options[:as]
67
+ if (as = options[:as])
69
68
  sql << " AS (#{as})"
70
69
  end
71
70
 
@@ -83,14 +82,21 @@ module ActiveRecord
83
82
  end
84
83
 
85
84
  def index_in_create(table_name, column_name, options)
86
- index_def, algorithm, if_not_exists = @conn.add_index_options(table_name, column_name, **options)
87
- index_name = index_def.name
88
- index_columns = index_def.columns.map { |x| quote_column_name(x) }.join(', ')
89
- index_type = index_def.unique ? 'UNIQUE' : ''
90
- comment = index_def.comment
91
- add_sql_comment!(
92
- +"#{index_type} INDEX #{quote_column_name(index_name)} (#{index_columns})", comment
93
- )
85
+ if ActiveRecord.version.to_s >= '6.1.0'
86
+ # for activerecord >= 6.1
87
+ index_def, algorithm, if_not_exists = @conn.add_index_options(table_name, column_name, **options)
88
+
89
+ index_name = index_def.name
90
+ index_columns = index_def.columns.map { |x| quote_column_name(x) }.join(', ')
91
+ index_type = index_def.unique ? 'UNIQUE' : ''
92
+ comment = index_def.comment
93
+ else
94
+ # for activerecord == 6.0
95
+ index_name, index_type, index_columns, _, _, index_using, comment =
96
+ @conn.add_index_options(table_name, column_name, **options)
97
+ end
98
+
99
+ add_sql_comment!(+"#{index_type} INDEX #{quote_column_name(index_name)} (#{index_columns})", comment)
94
100
  end
95
101
  end
96
102
  end
metadata CHANGED
@@ -1,42 +1,39 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-cubrid2-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.5
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
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '6.0'
20
17
  - - ">="
21
18
  - !ruby/object:Gem::Version
22
19
  version: '6.0'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '8'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '6.0'
30
27
  - - ">="
31
28
  - !ruby/object:Gem::Version
32
29
  version: '6.0'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '8'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: cubrid
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: '10.0'
40
37
  - - ">="
41
38
  - !ruby/object:Gem::Version
42
39
  version: '10.0'
@@ -44,9 +41,6 @@ dependencies:
44
41
  prerelease: false
45
42
  version_requirements: !ruby/object:Gem::Requirement
46
43
  requirements:
47
- - - "~>"
48
- - !ruby/object:Gem::Version
49
- version: '10.0'
50
44
  - - ">="
51
45
  - !ruby/object:Gem::Version
52
46
  version: '10.0'
@@ -108,7 +102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
102
  - !ruby/object:Gem::Version
109
103
  version: '0'
110
104
  requirements: []
111
- rubygems_version: 3.1.4
105
+ rubygems_version: 3.3.7
112
106
  signing_key:
113
107
  specification_version: 4
114
108
  summary: ActiveRecord Cubrid Adapter.