scenic-oracle_adapter 1.4.0 → 1.5.0

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: c60d517a9dc52283f5d2706a11f0a6c9b9107e5963a4c29a7fa0a3028007cd94
4
- data.tar.gz: 6e8adf1e2bc80e2ebd47cb3d05e441b6edc507163402936cc2c394a3bf2fca08
3
+ metadata.gz: '05291434dbbe227f36a68f3a95c72abc3b7ef75021682fd8c3eced9079d72da1'
4
+ data.tar.gz: c733e61877f321648aa4deb15240322fff153373946c8e6c7bafacd9151c6c12
5
5
  SHA512:
6
- metadata.gz: 7b2a487534bb336fa2a185ecda1d02e18173ff724416a3fd0d5dfd61d452d51ce9d9e8cfa5163851388799a00a649d98fc24b1980715619e6507fe1428771067
7
- data.tar.gz: 03ba13f1414657cd3bff98cb2fd295a4ccf4e5813b48a0b11c04d21c3ba8ecdc26791bea1956488ece581461297e09b13c6ec2beb88fa1749ad7fa896e2a2e4b
6
+ metadata.gz: 2475872a9d0ecff9cb58229b11a9d60425498471f2397646cfd27b90a2ae5b6dac06a9817430cbd6183187fb9dbde0689121e5c2bfe36c2e317cb01ffe8cb574
7
+ data.tar.gz: e2fdaa37cfd438776f60a6c43f936cc52ee7710e9c5459fcbb14c7bc4e363190421092ec7a34115c3fcae1ab14d2229228ec12d218b86e1883683dec12bf4d6f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## v1.5.0 - October 8, 2025
4
+
5
+ - Inlcude `no_data` information to materialized view definitions in schema.rb
6
+
3
7
  ## v1.4.0 - June 30, 2025
4
8
 
5
9
  - Use scenic 1.9.0
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "scenic/view"
4
+
5
+ module Scenic
6
+ module Adapters
7
+ class Oracle
8
+ class View < Scenic::View
9
+ attr_reader :no_data
10
+
11
+ def initialize(name:, definition:, materialized:, no_data: false)
12
+ super(name: name, definition: definition, materialized: materialized)
13
+ @no_data = no_data
14
+ end
15
+
16
+ def to_schema
17
+ materialized_option = if materialized
18
+ if no_data
19
+ "materialized: { no_data: true } , "
20
+ else
21
+ "materialized: true, "
22
+ end
23
+ else
24
+ ""
25
+ end
26
+
27
+ <<-DEFINITION
28
+ create_view #{UnaffixedName.for(name).inspect}, #{materialized_option}sql_definition: <<-\SQL
29
+ #{escaped_definition.indent(2)}
30
+ SQL
31
+ DEFINITION
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -3,6 +3,7 @@
3
3
  require_relative "oracle/index_reapplication"
4
4
  require_relative "oracle/indexes"
5
5
  require_relative "oracle/refresh_dependencies"
6
+ require_relative "oracle/view"
6
7
  require "active_support/core_ext/string/strip"
7
8
  require "tsortable_hash"
8
9
 
@@ -138,13 +139,13 @@ module Scenic
138
139
 
139
140
  def all_views
140
141
  select_all("select lower(view_name) name, text definition from user_views").map do |view|
141
- Scenic::View.new(name: view["name"], definition: view["definition"], materialized: false)
142
+ Scenic::Adapters::Oracle::View.new(name: view["name"], definition: view["definition"], materialized: false)
142
143
  end
143
144
  end
144
145
 
145
146
  def all_mviews
146
- select_all("select lower(mview_name) as name, query as definition from user_mviews").map do |view|
147
- Scenic::View.new(name: view["name"], definition: view["definition"], materialized: true)
147
+ select_all("select lower(mview_name) as name, query as definition, build_mode from user_mviews").map do |view|
148
+ Scenic::Adapters::Oracle::View.new(name: view["name"], definition: view["definition"], materialized: true, no_data: view["build_mode"] == "DEFERRED")
148
149
  end
149
150
  end
150
151
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Scenic
4
4
  module OracleAdapter
5
- VERSION = "1.4.0"
5
+ VERSION = "1.5.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scenic-oracle_adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Dinger
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2025-07-01 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: scenic
@@ -94,7 +93,6 @@ dependencies:
94
93
  - - "~>"
95
94
  - !ruby/object:Gem::Version
96
95
  version: '2.2'
97
- description:
98
96
  email:
99
97
  - chris@houseofding.com
100
98
  executables: []
@@ -122,6 +120,7 @@ files:
122
120
  - lib/scenic/adapters/oracle/indexes.rb
123
121
  - lib/scenic/adapters/oracle/railtie.rb
124
122
  - lib/scenic/adapters/oracle/refresh_dependencies.rb
123
+ - lib/scenic/adapters/oracle/view.rb
125
124
  - lib/scenic/oracle_adapter.rb
126
125
  - lib/scenic/oracle_adapter/version.rb
127
126
  - lib/tsortable_hash.rb
@@ -130,7 +129,6 @@ homepage: https://github.com/cdinger/scenic-oracle_adapter
130
129
  licenses:
131
130
  - MIT
132
131
  metadata: {}
133
- post_install_message:
134
132
  rdoc_options: []
135
133
  require_paths:
136
134
  - lib
@@ -145,8 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
145
143
  - !ruby/object:Gem::Version
146
144
  version: '0'
147
145
  requirements: []
148
- rubygems_version: 3.5.17
149
- signing_key:
146
+ rubygems_version: 3.6.9
150
147
  specification_version: 4
151
148
  summary: Oracle adapter for thoughtbot/scenic
152
149
  test_files: []