rom-sql 3.1.0 → 3.3.3

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 (92) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +214 -101
  3. data/LICENSE +1 -1
  4. data/README.md +12 -54
  5. data/lib/rom-sql.rb +2 -0
  6. data/lib/rom/plugins/relation/sql/auto_restrictions.rb +2 -0
  7. data/lib/rom/plugins/relation/sql/instrumentation.rb +2 -0
  8. data/lib/rom/plugins/relation/sql/postgres/explain.rb +6 -7
  9. data/lib/rom/plugins/relation/sql/postgres/full_text_search.rb +53 -0
  10. data/lib/rom/plugins/relation/sql/postgres/streaming.rb +108 -0
  11. data/lib/rom/sql.rb +2 -0
  12. data/lib/rom/sql/associations.rb +2 -0
  13. data/lib/rom/sql/associations/core.rb +3 -1
  14. data/lib/rom/sql/associations/many_to_many.rb +3 -1
  15. data/lib/rom/sql/associations/many_to_one.rb +2 -0
  16. data/lib/rom/sql/associations/one_to_many.rb +2 -0
  17. data/lib/rom/sql/associations/one_to_one.rb +2 -0
  18. data/lib/rom/sql/associations/one_to_one_through.rb +2 -0
  19. data/lib/rom/sql/associations/self_ref.rb +2 -0
  20. data/lib/rom/sql/attribute.rb +26 -7
  21. data/lib/rom/sql/attribute_aliasing.rb +28 -0
  22. data/lib/rom/sql/commands.rb +2 -0
  23. data/lib/rom/sql/commands/create.rb +2 -0
  24. data/lib/rom/sql/commands/delete.rb +2 -0
  25. data/lib/rom/sql/commands/error_wrapper.rb +2 -0
  26. data/lib/rom/sql/commands/update.rb +2 -0
  27. data/lib/rom/sql/dsl.rb +11 -3
  28. data/lib/rom/sql/error.rb +2 -0
  29. data/lib/rom/sql/errors.rb +2 -0
  30. data/lib/rom/sql/extensions.rb +2 -0
  31. data/lib/rom/sql/extensions/active_support_notifications.rb +2 -0
  32. data/lib/rom/sql/extensions/mysql.rb +2 -0
  33. data/lib/rom/sql/extensions/mysql/type_builder.rb +2 -0
  34. data/lib/rom/sql/extensions/postgres.rb +3 -0
  35. data/lib/rom/sql/extensions/postgres/commands.rb +3 -1
  36. data/lib/rom/sql/extensions/postgres/type_builder.rb +6 -4
  37. data/lib/rom/sql/extensions/postgres/type_serializer.rb +2 -0
  38. data/lib/rom/sql/extensions/postgres/types.rb +2 -0
  39. data/lib/rom/sql/extensions/postgres/types/array.rb +6 -4
  40. data/lib/rom/sql/extensions/postgres/types/array_types.rb +3 -1
  41. data/lib/rom/sql/extensions/postgres/types/geometric.rb +2 -0
  42. data/lib/rom/sql/extensions/postgres/types/json.rb +13 -11
  43. data/lib/rom/sql/extensions/postgres/types/ltree.rb +25 -23
  44. data/lib/rom/sql/extensions/postgres/types/network.rb +2 -0
  45. data/lib/rom/sql/extensions/postgres/types/range.rb +2 -0
  46. data/lib/rom/sql/extensions/rails_log_subscriber.rb +2 -0
  47. data/lib/rom/sql/extensions/sqlite.rb +2 -0
  48. data/lib/rom/sql/extensions/sqlite/type_builder.rb +2 -0
  49. data/lib/rom/sql/extensions/sqlite/types.rb +2 -0
  50. data/lib/rom/sql/foreign_key.rb +3 -1
  51. data/lib/rom/sql/function.rb +14 -3
  52. data/lib/rom/sql/gateway.rb +6 -1
  53. data/lib/rom/sql/group_dsl.rb +2 -0
  54. data/lib/rom/sql/index.rb +2 -0
  55. data/lib/rom/sql/join_dsl.rb +2 -0
  56. data/lib/rom/sql/mapper_compiler.rb +2 -0
  57. data/lib/rom/sql/migration.rb +5 -3
  58. data/lib/rom/sql/migration/inline_runner.rb +2 -0
  59. data/lib/rom/sql/migration/migrator.rb +4 -2
  60. data/lib/rom/sql/migration/recorder.rb +2 -0
  61. data/lib/rom/sql/migration/runner.rb +4 -2
  62. data/lib/rom/sql/migration/schema_diff.rb +2 -0
  63. data/lib/rom/sql/migration/template.rb +2 -0
  64. data/lib/rom/sql/migration/writer.rb +12 -4
  65. data/lib/rom/sql/order_dsl.rb +2 -0
  66. data/lib/rom/sql/plugin/associates.rb +4 -2
  67. data/lib/rom/sql/plugin/nullify.rb +2 -0
  68. data/lib/rom/sql/plugin/pagination.rb +2 -0
  69. data/lib/rom/sql/plugins.rb +2 -0
  70. data/lib/rom/sql/projection_dsl.rb +3 -1
  71. data/lib/rom/sql/rake_task.rb +2 -0
  72. data/lib/rom/sql/relation.rb +3 -1
  73. data/lib/rom/sql/relation/reading.rb +6 -4
  74. data/lib/rom/sql/relation/writing.rb +2 -0
  75. data/lib/rom/sql/restriction_dsl.rb +9 -1
  76. data/lib/rom/sql/schema.rb +16 -2
  77. data/lib/rom/sql/schema/attributes_inferrer.rb +5 -3
  78. data/lib/rom/sql/schema/dsl.rb +3 -1
  79. data/lib/rom/sql/schema/index_dsl.rb +5 -2
  80. data/lib/rom/sql/schema/inferrer.rb +12 -8
  81. data/lib/rom/sql/schema/type_builder.rb +4 -2
  82. data/lib/rom/sql/spec/support.rb +5 -3
  83. data/lib/rom/sql/tasks/migration_tasks.rake +16 -11
  84. data/lib/rom/sql/transaction.rb +2 -0
  85. data/lib/rom/sql/type_dsl.rb +2 -0
  86. data/lib/rom/sql/type_extensions.rb +3 -1
  87. data/lib/rom/sql/type_serializer.rb +2 -0
  88. data/lib/rom/sql/types.rb +2 -0
  89. data/lib/rom/sql/version.rb +3 -1
  90. data/lib/rom/sql/wrap.rb +2 -0
  91. data/lib/rom/types/values.rb +2 -0
  92. metadata +25 -45
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rom/schema'
2
4
 
3
5
  require 'rom/sql/schema/dsl'
@@ -65,6 +67,18 @@ module ROM
65
67
  new(map { |attr| attr.qualified(table_alias) })
66
68
  end
67
69
 
70
+ # Return a new schema with attributes that are aliased
71
+ # and marked as qualified
72
+ #
73
+ # Intended to be used when passing attributes to `dataset#select`
74
+ #
75
+ # @return [Schema]
76
+ #
77
+ # @api public
78
+ def qualified_projection(table_alias = nil)
79
+ new(map { |attr| attr.qualified_projection(table_alias) })
80
+ end
81
+
68
82
  # Project a schema
69
83
  #
70
84
  # @see ROM::Schema#project
@@ -127,7 +141,7 @@ module ROM
127
141
  #
128
142
  # @api public
129
143
  def call(relation)
130
- relation.new(relation.dataset.select(*self), schema: self)
144
+ relation.new(relation.dataset.select(*self.qualified_projection), schema: self)
131
145
  end
132
146
 
133
147
  # Return an empty schema
@@ -142,7 +156,7 @@ module ROM
142
156
  # Finalize all attributes by qualifying them and initializing primary key names
143
157
  #
144
158
  # @api private
145
- def finalize_attributes!(options = EMPTY_HASH)
159
+ def finalize_attributes!(**options)
146
160
  super do
147
161
  @attributes = map(&:qualified)
148
162
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'dry/core/class_attributes'
2
4
 
3
5
  module ROM
@@ -22,8 +24,8 @@ module ROM
22
24
 
23
25
  columns = filter_columns(gateway.connection.schema(dataset))
24
26
 
25
- inferred = columns.map do |(name, definition)|
26
- type = type_builder.(definition)
27
+ inferred = columns.map do |name, definition|
28
+ type = type_builder.(**definition)
27
29
 
28
30
  attr_class.new(type.meta(source: schema.name), name: name) if type
29
31
  end.compact
@@ -42,7 +44,7 @@ module ROM
42
44
 
43
45
  # @api private
44
46
  def filter_columns(schema)
45
- schema.reject { |(_, definition)| definition[:db_type] == CONSTRAINT_DB_TYPE }
47
+ schema.reject { |_, definition| definition[:db_type] == CONSTRAINT_DB_TYPE }
46
48
  end
47
49
  end
48
50
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rom/sql/schema/index_dsl'
2
4
 
3
5
  module ROM
@@ -15,7 +17,7 @@ module ROM
15
17
  #
16
18
  # @api public
17
19
  def indexes(&block)
18
- @index_dsl = IndexDSL.new(options, &block)
20
+ @index_dsl = IndexDSL.new(**options, &block)
19
21
  end
20
22
 
21
23
  private
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'set'
2
4
 
3
5
  module ROM
@@ -19,6 +21,7 @@ module ROM
19
21
 
20
22
  instance_exec(&block)
21
23
  end
24
+ ruby2_keywords(:initialize) if respond_to?(:ruby2_keywords, true)
22
25
 
23
26
  # @api public
24
27
  def index(*attributes, **options)
@@ -28,7 +31,7 @@ module ROM
28
31
  # @api private
29
32
  def call(schema_name, attrs)
30
33
  attributes = attrs.map do |attr|
31
- attr_class.new(attr[:type], attr[:options] || {}).meta(source: schema_name)
34
+ attr_class.new(attr[:type], **(attr[:options] || {})).meta(source: schema_name)
32
35
  end
33
36
 
34
37
  registry.map { |attr_names, options|
@@ -44,7 +47,7 @@ module ROM
44
47
  attributes.find { |a| a.name == name }.unwrap
45
48
  end
46
49
 
47
- Index.new(index_attributes, options)
50
+ Index.new(index_attributes, **options)
48
51
  end
49
52
  end
50
53
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'set'
2
4
 
3
5
  require 'rom/sql/schema/type_builder'
@@ -32,9 +34,9 @@ module ROM
32
34
  # @api private
33
35
  def call(schema, gateway)
34
36
  if enabled?
35
- infer_from_database(gateway, schema, super)
37
+ infer_from_database(gateway, schema, **super)
36
38
  else
37
- infer_from_attributes(gateway, schema, super)
39
+ infer_from_attributes(gateway, schema, **super)
38
40
  end
39
41
  rescue Sequel::Error => error
40
42
  on_error(schema.name, error)
@@ -54,7 +56,7 @@ module ROM
54
56
  end
55
57
 
56
58
  # @api private
57
- def infer_from_attributes(gateway, schema, attributes:, **rest)
59
+ def infer_from_attributes(_gateway, schema, attributes:, **rest)
58
60
  indexes = schema.indexes | indexes_from_attributes(attributes)
59
61
  foreign_keys = foreign_keys_from_attributes(attributes)
60
62
 
@@ -69,7 +71,8 @@ module ROM
69
71
  if gateway.connection.respond_to?(:indexes)
70
72
  dataset = schema.name.dataset
71
73
 
72
- gateway.connection.indexes(dataset).map { |index_name, columns:, unique:, **rest|
74
+ gateway.connection.indexes(dataset).map { |index_name, definition|
75
+ columns, unique = definition.values_at(:columns, :unique)
73
76
  attrs = columns.map { |name| attributes[name] }
74
77
 
75
78
  SQL::Index.new(attrs, name: index_name, unique: unique)
@@ -83,7 +86,8 @@ module ROM
83
86
  def foreign_keys_from_database(gateway, schema, attributes)
84
87
  dataset = schema.name.dataset
85
88
 
86
- gateway.connection.foreign_key_list(dataset).map { |columns:, table:, key:, **rest|
89
+ gateway.connection.foreign_key_list(dataset).map { |definition|
90
+ columns, table, key = definition.values_at(:columns, :table, :key)
87
91
  attrs = columns.map { |name| attributes[name] }
88
92
 
89
93
  SQL::ForeignKey.new(attrs, table, parent_keys: key)
@@ -147,9 +151,9 @@ module ROM
147
151
  raise e
148
152
  elsif !silent
149
153
  warn "[#{dataset}] failed to infer schema. " \
150
- "Make sure tables exist before ROM container is set up. " \
151
- "This may also happen when your migration tasks load ROM container, " \
152
- "which is not needed for migrations as only the connection is required " \
154
+ 'Make sure tables exist before ROM container is set up. ' \
155
+ 'This may also happen when your migration tasks load ROM container, ' \
156
+ 'which is not needed for migrations as only the connection is required ' \
153
157
  "(#{e.message})"
154
158
  end
155
159
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ROM
2
4
  module SQL
3
5
  class Schema
@@ -37,9 +39,9 @@ module ROM
37
39
 
38
40
  def call(primary_key:, db_type:, type:, allow_null:, **rest)
39
41
  if primary_key
40
- map_pk_type(type, db_type, rest)
42
+ map_pk_type(type, db_type, **rest)
41
43
  else
42
- mapped_type = map_type(type, db_type, rest)
44
+ mapped_type = map_type(type, db_type, **rest)
43
45
 
44
46
  if mapped_type
45
47
  read_type = mapped_type.meta[:read]
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  if defined? JRUBY_VERSION
2
4
  USING_JRUBY = true
3
5
  else
@@ -5,15 +7,15 @@ else
5
7
  end
6
8
 
7
9
  if USING_JRUBY
8
- SEQUEL_TEST_DB_URI = "jdbc:sqlite::memory:"
10
+ SEQUEL_TEST_DB_URI = 'jdbc:sqlite::memory:'
9
11
  else
10
- SEQUEL_TEST_DB_URI = "sqlite::memory"
12
+ SEQUEL_TEST_DB_URI = 'sqlite::memory'
11
13
  end
12
14
 
13
15
  DB = Sequel.connect(SEQUEL_TEST_DB_URI)
14
16
 
15
17
  def seed(db = DB)
16
- db.run("CREATE TABLE users (id INTEGER PRIMARY KEY, name STRING)")
18
+ db.run('CREATE TABLE users (id INTEGER PRIMARY KEY, name STRING)')
17
19
 
18
20
  db[:users].insert(id: 1, name: 'Jane')
19
21
  db[:users].insert(id: 2, name: 'Joe')
@@ -1,5 +1,7 @@
1
- require "pathname"
2
- require "fileutils"
1
+ # frozen_string_literal: true
2
+
3
+ require 'pathname'
4
+ require 'fileutils'
3
5
 
4
6
  module ROM
5
7
  module SQL
@@ -27,7 +29,10 @@ module ROM
27
29
  def gateway
28
30
  if env.nil?
29
31
  Gateway.instance ||
30
- raise(MissingEnv, "Set up a configuration with ROM::SQL::RakeSupport.env= in the db:setup task")
32
+ raise(
33
+ MissingEnv,
34
+ 'Set up a configuration with ROM::SQL::RakeSupport.env= in the db:setup task'
35
+ )
31
36
  else
32
37
  env.gateways[:default]
33
38
  end
@@ -41,36 +46,36 @@ end
41
46
 
42
47
  namespace :db do
43
48
  task :rom_configuration do
44
- Rake::Task["db:setup"].invoke
49
+ Rake::Task['db:setup'].invoke
45
50
  end
46
51
 
47
- desc "Perform migration reset (full erase and migration up)"
52
+ desc 'Perform migration reset (full erase and migration up)'
48
53
  task reset: :rom_configuration do
49
54
  ROM::SQL::RakeSupport.run_migrations(target: 0)
50
55
  ROM::SQL::RakeSupport.run_migrations
51
- puts "<= db:reset executed"
56
+ puts '<= db:reset executed'
52
57
  end
53
58
 
54
- desc "Migrate the database (options [version_number])]"
59
+ desc 'Migrate the database (options [version_number])]'
55
60
  task :migrate, [:version] => :rom_configuration do |_, args|
56
61
  version = args[:version]
57
62
 
58
63
  if version.nil?
59
64
  ROM::SQL::RakeSupport.run_migrations
60
- puts "<= db:migrate executed"
65
+ puts '<= db:migrate executed'
61
66
  else
62
67
  ROM::SQL::RakeSupport.run_migrations(target: version.to_i)
63
68
  puts "<= db:migrate version=[#{version}] executed"
64
69
  end
65
70
  end
66
71
 
67
- desc "Perform migration down (erase all data)"
72
+ desc 'Perform migration down (removes all tables)'
68
73
  task clean: :rom_configuration do
69
74
  ROM::SQL::RakeSupport.run_migrations(target: 0)
70
- puts "<= db:clean executed"
75
+ puts '<= db:clean executed'
71
76
  end
72
77
 
73
- desc "Create a migration (parameters: NAME, VERSION)"
78
+ desc 'Create a migration (parameters: NAME, VERSION)'
74
79
  task :create_migration, [:name, :version] => :rom_configuration do |_, args|
75
80
  name, version = args.values_at(:name, :version)
76
81
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ROM
2
4
  module SQL
3
5
  # @api private
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ROM
2
4
  module SQL
3
5
  # Type DSL used by Types.define method
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ROM
2
4
  module SQL
3
5
  # Type-specific methods
@@ -7,7 +9,7 @@ module ROM
7
9
  class << self
8
10
  # Gets extensions for a type
9
11
  #
10
- # @param [Dry::Types::Type] wrapped
12
+ # @param type [Dry::Types::Type] wrapped
11
13
  #
12
14
  # @return [Hash]
13
15
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'dry/core/class_attributes'
2
4
 
3
5
  module ROM
data/lib/rom/sql/types.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'sequel/core'
2
4
  require 'sequel/sql'
3
5
 
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ROM
2
4
  module SQL
3
- VERSION = '3.1.0'.freeze
5
+ VERSION = '3.3.3'.freeze
4
6
  end
5
7
  end
data/lib/rom/sql/wrap.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rom/relation/wrap'
2
4
 
3
5
  module ROM
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rom/sql/types'
2
4
 
3
5
  module ROM
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rom-sql
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Solnica
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-16 00:00:00.000000000 Z
11
+ date: 2021-03-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sequel
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.49'
27
- - !ruby/object:Gem::Dependency
28
- name: dry-equalizer
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '0.2'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '0.2'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: dry-types
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -58,48 +44,40 @@ dependencies:
58
44
  requirements:
59
45
  - - "~>"
60
46
  - !ruby/object:Gem::Version
61
- version: '0.4'
47
+ version: '0.5'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: '0.5'
62
51
  type: :runtime
63
52
  prerelease: false
64
53
  version_requirements: !ruby/object:Gem::Requirement
65
54
  requirements:
66
55
  - - "~>"
67
56
  - !ruby/object:Gem::Version
68
- version: '0.4'
57
+ version: '0.5'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0.5'
69
61
  - !ruby/object:Gem::Dependency
70
- name: rom-core
62
+ name: rom
71
63
  requirement: !ruby/object:Gem::Requirement
72
64
  requirements:
73
65
  - - "~>"
74
66
  - !ruby/object:Gem::Version
75
- version: '5.0'
67
+ version: '5.2'
76
68
  - - ">="
77
69
  - !ruby/object:Gem::Version
78
- version: 5.0.1
70
+ version: 5.2.1
79
71
  type: :runtime
80
72
  prerelease: false
81
73
  version_requirements: !ruby/object:Gem::Requirement
82
74
  requirements:
83
75
  - - "~>"
84
76
  - !ruby/object:Gem::Version
85
- version: '5.0'
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- version: 5.0.1
89
- - !ruby/object:Gem::Dependency
90
- name: appraisal
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- version: '0'
96
- type: :development
97
- prerelease: false
98
- version_requirements: !ruby/object:Gem::Requirement
99
- requirements:
77
+ version: '5.2'
100
78
  - - ">="
101
79
  - !ruby/object:Gem::Version
102
- version: '0'
80
+ version: 5.2.1
103
81
  - !ruby/object:Gem::Dependency
104
82
  name: bundler
105
83
  requirement: !ruby/object:Gem::Requirement
@@ -120,28 +98,28 @@ dependencies:
120
98
  requirements:
121
99
  - - "~>"
122
100
  - !ruby/object:Gem::Version
123
- version: '10.0'
101
+ version: '13.0'
124
102
  type: :development
125
103
  prerelease: false
126
104
  version_requirements: !ruby/object:Gem::Requirement
127
105
  requirements:
128
106
  - - "~>"
129
107
  - !ruby/object:Gem::Version
130
- version: '10.0'
108
+ version: '13.0'
131
109
  - !ruby/object:Gem::Dependency
132
110
  name: rspec
133
111
  requirement: !ruby/object:Gem::Requirement
134
112
  requirements:
135
113
  - - "~>"
136
114
  - !ruby/object:Gem::Version
137
- version: '3.5'
115
+ version: '3.9'
138
116
  type: :development
139
117
  prerelease: false
140
118
  version_requirements: !ruby/object:Gem::Requirement
141
119
  requirements:
142
120
  - - "~>"
143
121
  - !ruby/object:Gem::Version
144
- version: '3.5'
122
+ version: '3.9'
145
123
  description: SQL databases support for ROM
146
124
  email:
147
125
  - piotr.solnica@gmail.com
@@ -156,6 +134,8 @@ files:
156
134
  - lib/rom/plugins/relation/sql/auto_restrictions.rb
157
135
  - lib/rom/plugins/relation/sql/instrumentation.rb
158
136
  - lib/rom/plugins/relation/sql/postgres/explain.rb
137
+ - lib/rom/plugins/relation/sql/postgres/full_text_search.rb
138
+ - lib/rom/plugins/relation/sql/postgres/streaming.rb
159
139
  - lib/rom/sql.rb
160
140
  - lib/rom/sql/associations.rb
161
141
  - lib/rom/sql/associations/core.rb
@@ -246,7 +226,7 @@ metadata:
246
226
  documentation_uri: https://api.rom-rb.org/rom-sql/
247
227
  mailing_list_uri: https://discourse.rom-rb.org/
248
228
  bug_tracker_uri: https://github.com/rom-rb/rom-sql/issues
249
- post_install_message:
229
+ post_install_message:
250
230
  rdoc_options: []
251
231
  require_paths:
252
232
  - lib
@@ -261,8 +241,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
261
241
  - !ruby/object:Gem::Version
262
242
  version: '0'
263
243
  requirements: []
264
- rubygems_version: 3.0.3
265
- signing_key:
244
+ rubygems_version: 3.2.3
245
+ signing_key:
266
246
  specification_version: 4
267
247
  summary: SQL databases support for ROM
268
248
  test_files: []