Skip to content

Commit 6458cf1

Browse files
committed
Update Rails to 8.0.5
Show optimizer trace for V$SQL Test: Ensure unique hash entries (String vs. Symbol)
1 parent c63324e commit 6458cf1

File tree

12 files changed

+162
-116
lines changed

12 files changed

+162
-116
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Change log of Panorama for Oracle
22
## [Unreleased]
33

4+
- 2026-03-23 Run and show optimizer trace from SQL details page for SQLs from SGA
5+
46
## Relese 2.19.9
57
- 2026-03-07 Distance of graph points for "Session waits historic" adjusted according to windows width, so that the graph is more readable
68
- 2026-03-07 Bugfix: Accept tnsnames.ora in encoding other than UTF-8, especially for Windows

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
1212
# rails_version = "7.0.0" # requires ruby >= 2.7.0 but jRuby 9.3.2.0 is compatible with ruby 2.6 only
1313
# see: https://rubygems.org/gems/rails/versions
1414
# rails_version = "6.1.7.10"
15-
rails_version = "8.0.4"
15+
rails_version = "8.0.5"
1616
#gem 'rails', rails_version
1717
gem 'activerecord', rails_version
1818
gem 'activemodel', rails_version

Gemfile.lock

Lines changed: 76 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -11,67 +11,67 @@ GIT
1111
GEM
1212
remote: https://rubygems.org/
1313
specs:
14-
actioncable (8.0.4)
15-
actionpack (= 8.0.4)
16-
activesupport (= 8.0.4)
14+
actioncable (8.0.5)
15+
actionpack (= 8.0.5)
16+
activesupport (= 8.0.5)
1717
nio4r (~> 2.0)
1818
websocket-driver (>= 0.6.1)
1919
zeitwerk (~> 2.6)
20-
actionmailbox (8.0.4)
21-
actionpack (= 8.0.4)
22-
activejob (= 8.0.4)
23-
activerecord (= 8.0.4)
24-
activestorage (= 8.0.4)
25-
activesupport (= 8.0.4)
20+
actionmailbox (8.0.5)
21+
actionpack (= 8.0.5)
22+
activejob (= 8.0.5)
23+
activerecord (= 8.0.5)
24+
activestorage (= 8.0.5)
25+
activesupport (= 8.0.5)
2626
mail (>= 2.8.0)
27-
actionmailer (8.0.4)
28-
actionpack (= 8.0.4)
29-
actionview (= 8.0.4)
30-
activejob (= 8.0.4)
31-
activesupport (= 8.0.4)
27+
actionmailer (8.0.5)
28+
actionpack (= 8.0.5)
29+
actionview (= 8.0.5)
30+
activejob (= 8.0.5)
31+
activesupport (= 8.0.5)
3232
mail (>= 2.8.0)
3333
rails-dom-testing (~> 2.2)
34-
actionpack (8.0.4)
35-
actionview (= 8.0.4)
36-
activesupport (= 8.0.4)
34+
actionpack (8.0.5)
35+
actionview (= 8.0.5)
36+
activesupport (= 8.0.5)
3737
nokogiri (>= 1.8.5)
3838
rack (>= 2.2.4)
3939
rack-session (>= 1.0.1)
4040
rack-test (>= 0.6.3)
4141
rails-dom-testing (~> 2.2)
4242
rails-html-sanitizer (~> 1.6)
4343
useragent (~> 0.16)
44-
actiontext (8.0.4)
45-
actionpack (= 8.0.4)
46-
activerecord (= 8.0.4)
47-
activestorage (= 8.0.4)
48-
activesupport (= 8.0.4)
44+
actiontext (8.0.5)
45+
actionpack (= 8.0.5)
46+
activerecord (= 8.0.5)
47+
activestorage (= 8.0.5)
48+
activesupport (= 8.0.5)
4949
globalid (>= 0.6.0)
5050
nokogiri (>= 1.8.5)
51-
actionview (8.0.4)
52-
activesupport (= 8.0.4)
51+
actionview (8.0.5)
52+
activesupport (= 8.0.5)
5353
builder (~> 3.1)
5454
erubi (~> 1.11)
5555
rails-dom-testing (~> 2.2)
5656
rails-html-sanitizer (~> 1.6)
57-
activejob (8.0.4)
58-
activesupport (= 8.0.4)
57+
activejob (8.0.5)
58+
activesupport (= 8.0.5)
5959
globalid (>= 0.3.6)
60-
activemodel (8.0.4)
61-
activesupport (= 8.0.4)
62-
activerecord (8.0.4)
63-
activemodel (= 8.0.4)
64-
activesupport (= 8.0.4)
60+
activemodel (8.0.5)
61+
activesupport (= 8.0.5)
62+
activerecord (8.0.5)
63+
activemodel (= 8.0.5)
64+
activesupport (= 8.0.5)
6565
timeout (>= 0.4.0)
6666
activerecord-nulldb-adapter (1.2.2)
6767
activerecord (>= 6.1, < 8.2)
68-
activestorage (8.0.4)
69-
actionpack (= 8.0.4)
70-
activejob (= 8.0.4)
71-
activerecord (= 8.0.4)
72-
activesupport (= 8.0.4)
68+
activestorage (8.0.5)
69+
actionpack (= 8.0.5)
70+
activejob (= 8.0.5)
71+
activerecord (= 8.0.5)
72+
activesupport (= 8.0.5)
7373
marcel (~> 1.0)
74-
activesupport (8.0.4)
74+
activesupport (8.0.5)
7575
base64
7676
benchmark (>= 0.3)
7777
bigdecimal
@@ -98,7 +98,7 @@ GEM
9898
drb (2.2.3)
9999
erb (6.0.2-java)
100100
erubi (1.13.1)
101-
ffi (1.17.3-java)
101+
ffi (1.17.4-java)
102102
globalid (1.3.0)
103103
activesupport (>= 6.1)
104104
i18n (1.14.8)
@@ -174,30 +174,30 @@ GEM
174174
rack (>= 1.3)
175175
rackup (2.3.1)
176176
rack (>= 3)
177-
rails (8.0.4)
178-
actioncable (= 8.0.4)
179-
actionmailbox (= 8.0.4)
180-
actionmailer (= 8.0.4)
181-
actionpack (= 8.0.4)
182-
actiontext (= 8.0.4)
183-
actionview (= 8.0.4)
184-
activejob (= 8.0.4)
185-
activemodel (= 8.0.4)
186-
activerecord (= 8.0.4)
187-
activestorage (= 8.0.4)
188-
activesupport (= 8.0.4)
177+
rails (8.0.5)
178+
actioncable (= 8.0.5)
179+
actionmailbox (= 8.0.5)
180+
actionmailer (= 8.0.5)
181+
actionpack (= 8.0.5)
182+
actiontext (= 8.0.5)
183+
actionview (= 8.0.5)
184+
activejob (= 8.0.5)
185+
activemodel (= 8.0.5)
186+
activerecord (= 8.0.5)
187+
activestorage (= 8.0.5)
188+
activesupport (= 8.0.5)
189189
bundler (>= 1.15.0)
190-
railties (= 8.0.4)
190+
railties (= 8.0.5)
191191
rails-dom-testing (2.3.0)
192192
activesupport (>= 5.0.0)
193193
minitest
194194
nokogiri (>= 1.6)
195195
rails-html-sanitizer (1.7.0)
196196
loofah (~> 2.25)
197197
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
198-
railties (8.0.4)
199-
actionpack (= 8.0.4)
200-
activesupport (= 8.0.4)
198+
railties (8.0.5)
199+
actionpack (= 8.0.5)
200+
activesupport (= 8.0.5)
201201
irb (~> 1.13)
202202
rackup (>= 1.0.0)
203203
rake (>= 12.2)
@@ -262,14 +262,14 @@ PLATFORMS
262262
universal-java
263263

264264
DEPENDENCIES
265-
actionpack (= 8.0.4)
266-
actionview (= 8.0.4)
267-
activejob (= 8.0.4)
268-
activemodel (= 8.0.4)
269-
activerecord (= 8.0.4)
265+
actionpack (= 8.0.5)
266+
actionview (= 8.0.5)
267+
activejob (= 8.0.5)
268+
activemodel (= 8.0.5)
269+
activerecord (= 8.0.5)
270270
activerecord-nulldb-adapter
271271
activerecord-oracle_enhanced-adapter!
272-
activesupport (= 8.0.4)
272+
activesupport (= 8.0.5)
273273
brakeman
274274
date (= 3.4.1)
275275
jbuilder (~> 2.7)
@@ -278,8 +278,8 @@ DEPENDENCIES
278278
playwright-ruby-client
279279
puma
280280
rack-mini-profiler (~> 2.0)
281-
rails (= 8.0.4)
282-
railties (= 8.0.4)
281+
rails (= 8.0.5)
282+
railties (= 8.0.5)
283283
rexml
284284
ruby-maven (~> 3.9)
285285
sass-rails (>= 6)
@@ -288,19 +288,19 @@ DEPENDENCIES
288288
web-console (>= 4.1.0)
289289

290290
CHECKSUMS
291-
actioncable (8.0.4) sha256=aadb2bf2977b666cfeaa7dee66fd50e147559f78a8d55f6169e913502475e09f
292-
actionmailbox (8.0.4) sha256=ed0b634a502fb63d1ba01ae025772e9d0261b7ba12e66389c736fcf4635cd80f
293-
actionmailer (8.0.4) sha256=3b9270d8e19f0afb534b11c52f439937dc30028adcbbae2b244f3383ce75de4b
294-
actionpack (8.0.4) sha256=0364c7582f32c8f404725fa30d3f6853f834c5f4964afd4a072b848c8a23cddb
295-
actiontext (8.0.4) sha256=40b3970268ac29b865685456b2586df5052d068fd0cb04acb2291e737cea2340
296-
actionview (8.0.4) sha256=5bd3c41ee7a59e14cf062bb5e4ee53c9a253d12fc13c8754cae368012e1a1648
297-
activejob (8.0.4) sha256=cbc8a85d0e168cb90a5629c8a36fe2d08ba840103d3aed3eee0c7beb784fccce
298-
activemodel (8.0.4) sha256=8f4e4fac3cd104b1bf30419c3745206f6f724c0e2902a939b4113f4c90730dfd
299-
activerecord (8.0.4) sha256=bda32c171799e5ca5460447d3b7272ed14447244e2497abf2107f87fc44cbf32
291+
actioncable (8.0.5) sha256=01a1d1a48b63b1a643fae6b7b4eb2859af55f507b335fca9ab869a5c6742bb8b
292+
actionmailbox (8.0.5) sha256=2651a87c0cc3dd1243a3afe64c052e71138f99006b3a5d3fa519198735500054
293+
actionmailer (8.0.5) sha256=7918fac842cfe985ed21692f3d212c914a0c816e30e6fa68633177bb22f38561
294+
actionpack (8.0.5) sha256=c9de868975dd124a0956499140bd5e63c367865deca01292df7c3195c8da4b35
295+
actiontext (8.0.5) sha256=12f3ce3d6326230728316ba14eeac27b2100d6e7d9bfcb4b01fb27b187a812e1
296+
actionview (8.0.5) sha256=6d0fa9e63df0cf2729b1f54d0988336c149eb2bbc6049f4c2834d7b62f351413
297+
activejob (8.0.5) sha256=2dabe5c3bfe284aba4687c52b930564335435dde3a60b047821f9d3bd0d2ea10
298+
activemodel (8.0.5) sha256=c796813d46dc1373f4c6c0ec91dfc520b53683ea773c3b3f9a12c4b3eb145bc2
299+
activerecord (8.0.5) sha256=89b261b6cd910c9431cf2475f3f6e5e2f5ce589805043a33ef2b004376a129e6
300300
activerecord-nulldb-adapter (1.2.2) sha256=01e0b2e49af11ad56a92e274a3d8c9fb3c50a12a5460218c4c4b45355d9ef968
301301
activerecord-oracle_enhanced-adapter (8.0.0-java)
302-
activestorage (8.0.4) sha256=47f312962fc898c1669f20cf7448d19668a5547f4a5f64e59a837d9d3f64a043
303-
activesupport (8.0.4) sha256=894a3a6c7733b5fae5a7df3acd76c4b563f38687df8a04fa3cbd25360f3fe95a
302+
activestorage (8.0.5) sha256=25898a3f8f8aced15ea6a8578cb56955acf3a96ad931e000b2e77e9c8db43df3
303+
activesupport (8.0.5) sha256=37f213ff6a37cf3fadfa1a28c1a9678e2cb73b59bb9ebd0eeeca653cccadcb23
304304
base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
305305
benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
306306
bigdecimal (4.0.1-java) sha256=95c40a0a92dfb83b293f4b9865cd27caa7c045bedab86f3620e5dc27e6553083
@@ -314,7 +314,7 @@ CHECKSUMS
314314
drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
315315
erb (6.0.2-java) sha256=38f0e2e15453963fda1754d6b555b26650631cad72567304d59e6c3d847cd1be
316316
erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
317-
ffi (1.17.3-java) sha256=be1ecc86edbf71b9ab59212a23b33efec431c0446cb3183066d8a960a1946d3a
317+
ffi (1.17.4-java) sha256=449281c799727413eb367e396a838328e767a41fd76a14ae2dfbee0c37f0a279
318318
globalid (1.3.0) sha256=05c639ad6eb4594522a0b07983022f04aa7254626ab69445a0e493aa3786ff11
319319
i18n (1.14.8) sha256=285778639134865c5e0f6269e0b818256017e8cde89993fdfcbfb64d088824a5
320320
io-console (0.8.2-java) sha256=837efefe96084c13ae91114917986ae6c6d1cf063b27b8419cc564a722a38af8
@@ -349,10 +349,10 @@ CHECKSUMS
349349
rack-session (2.1.1) sha256=0b6dc07dea7e4b583f58a48e8b806d4c9f1c6c9214ebc202ec94562cbea2e4e9
350350
rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
351351
rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
352-
rails (8.0.4) sha256=364494a32d2dc3f9d5c135d036ce47e7776684bc6add73f1037ac2b1007962db
352+
rails (8.0.5) sha256=4cb40f90948be292fa15cc7cb37757b97266585145c6e76957464b40edfd5be6
353353
rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d
354354
rails-html-sanitizer (1.7.0) sha256=28b145cceaf9cc214a9874feaa183c3acba036c9592b19886e0e45efc62b1e89
355-
railties (8.0.4) sha256=8203d853dcffab4abcdd05c193f101676a92068075464694790f6d8f72d5cb47
355+
railties (8.0.5) sha256=ad98c6e9a096b7e8cf63c70872b60ec6c1d4152be2a4ffa63483ec02a837a9d5
356356
rake (13.3.1) sha256=8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c
357357
rb-fsevent (0.11.2) sha256=43900b972e7301d6570f64b850a5aa67833ee7d87b458ee92805d56b7318aefe
358358
rb-inotify (0.11.1) sha256=a0a700441239b0ff18eb65e3866236cd78613d6b9f78fea1f9ac47a85e47be6e

app/controllers/dba_controller.rb

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1868,6 +1868,24 @@ def show_trace_files
18681868
render_partial
18691869
end
18701870

1871+
# Generator a trace file of optimizer parse process
1872+
# The SQL must be in v$SQL of the current instance
1873+
def optimizer_parse_trace
1874+
@sql_id = prepare_param :sql_id
1875+
@child_number = prepare_param_int :child_number
1876+
@file_suffix = "Panorama_optimizer_trace_#{get_unique_area_id}"
1877+
1878+
PanoramaConnection.sql_execute ["\
1879+
BEGIN
1880+
DBMS_SQLDIAG.DUMP_TRACE(p_sql_ID => ?, p_Child_Number => ?, p_Component => 'Compiler', p_File_ID => ?);
1881+
END;", @sql_id, @child_number, @file_suffix]
1882+
1883+
params[:filename_incl_filter] = @file_suffix
1884+
params[:time_selection_start] = localeDateTime(Time.now - 86400)
1885+
params[:time_selection_end] = localeDateTime(Time.now + 86400)
1886+
list_trace_files
1887+
end
1888+
18711889
def list_trace_files
18721890
save_session_time_selection
18731891
@filename_incl_filter = prepare_param(:filename_incl_filter)
@@ -1919,7 +1937,7 @@ def list_trace_files
19191937
ORDER BY Max(Timestamp)
19201938
", @time_selection_start, @time_selection_end].concat(where_values)
19211939

1922-
render_partial
1940+
render_partial :list_trace_files
19231941
rescue Exception => e
19241942
if e.message['ORA-00942']
19251943
show_popup_message("Access on view 'gv$Diag_Trace_File_Contents' not possible. You need SELECT_CATALOG_ROLE for access!")

app/helpers/application_helper.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -554,8 +554,9 @@ def get_recall_params_info_for_render_page_caption
554554
{
555555
:name => :recall_params_info,
556556
:caption => t(:addition_copy_recall_params_caption, :default=>'Copy request parameters to clipboard'),
557-
:hint => t(:addition_copy_recall_params_hint, :default=>"Copy request parameter to clipboard which allows you to reconstruct/replay this page later\nCall menu 'Spec. additions / Execute with given parameters' and paste this info to reconstruct your page at later time."),
557+
:hint => t(:addition_copy_recall_params_hint, :default=>"Copy request parameter to clipboard which allows you to reconstruct/replay this page later\nCall menu &#39Spec. additions / Execute with given parameters&#39 and paste this info to reconstruct your page at later time."),
558558
:icon_class => 'cui-copy',
559+
show_icon_in_caption: true,
559560
:action => "copy_to_clipboard('#{request.parameters.except(:update_area, :browser_tab_id).to_json.gsub("'", '&#39;')}'); alert('#{t(:addition_copy_recall_params_answer, :default=>"Current request parameters are copied to clipboard.\nUse menu \"Spec. additions / Execute with given parameters\" to paste this parameters").gsub("\n", '\\n')}');"
560561
}
561562
end

app/helpers/dragnet/sqls_conclusion_application_helper.rb

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -171,14 +171,15 @@ def sqls_conclusion_application
171171
SELECT 'ALTER PACKAGE' FROM DUAL UNION ALL
172172
SELECT 'ALTER PACKAGE BODY' FROM DUAL UNION ALL
173173
SELECT 'ALTER PLUGGABLE DATABASE' FROM DUAL UNION ALL
174-
SELECT 'ALTER PROCEDURE' FROM DUAL UNION ALL
174+
SELECT 'ALTER% PROCEDURE' FROM DUAL UNION ALL /* includes ALTER ANY PROCEDURE */
175175
SELECT 'ALTER PROFILE' FROM DUAL UNION ALL
176176
SELECT 'ALTER ROLE' FROM DUAL UNION ALL
177177
SELECT 'ALTER ROLLBACK SEGMENT' FROM DUAL UNION ALL
178178
SELECT 'ALTER SEQUENCE' FROM DUAL UNION ALL
179+
SELECT 'ALTER% SQL TRANSLATION PROFILE' FROM DUAL UNION ALL /* includes ALTER ANY ... */
179180
SELECT 'ALTER SYNONYM' FROM DUAL UNION ALL
180181
SELECT 'ALTER SYSTEM' FROM DUAL UNION ALL
181-
SELECT 'ALTER TABLE' FROM DUAL UNION ALL
182+
SELECT 'ALTER% TABLE' FROM DUAL UNION ALL /* includes ALTER ANY ... */
182183
SELECT 'ALTER TABLESPACE' FROM DUAL UNION ALL
183184
SELECT 'ALTER TRACING' FROM DUAL UNION ALL
184185
SELECT 'ALTER TRIGGER' FROM DUAL UNION ALL
@@ -202,7 +203,8 @@ def sqls_conclusion_application
202203
SELECT 'CREATE INDEX' FROM DUAL UNION ALL
203204
SELECT 'CREATE INDEXTYPE' FROM DUAL UNION ALL
204205
SELECT 'CREATE JAVA' FROM DUAL UNION ALL
205-
SELECT 'CREATE LIBRARY' FROM DUAL UNION ALL
206+
SELECT 'CREATE% JOB' FROM DUAL UNION ALL /* includes CREATE ANY ... */
207+
SELECT 'CREATE% LIBRARY' FROM DUAL UNION ALL /* includes CREATE ANY ... */
206208
SELECT 'CREATE LOCKDOWN PROFILE' FROM DUAL UNION ALL
207209
SELECT 'CREATE MATERIALIZED VIEW' FROM DUAL UNION ALL
208210
SELECT 'CREATE MATERIALIZED VIEW LOG' FROM DUAL UNION ALL
@@ -212,7 +214,7 @@ def sqls_conclusion_application
212214
SELECT 'CREATE PACKAGE BODY' FROM DUAL UNION ALL
213215
SELECT 'CREATE PFILE' FROM DUAL UNION ALL
214216
SELECT 'CREATE PLUGGABLE DATABASE' FROM DUAL UNION ALL
215-
SELECT 'CREATE PROCEDURE' FROM DUAL UNION ALL
217+
SELECT 'CREATE% PROCEDURE' FROM DUAL UNION ALL /* includes CREATE ANY ... */
216218
SELECT 'CREATE PROFILE' FROM DUAL UNION ALL
217219
SELECT 'CREATE RESTORE POINT' FROM DUAL UNION ALL
218220
SELECT 'CREATE ROLE' FROM DUAL UNION ALL
@@ -221,8 +223,9 @@ def sqls_conclusion_application
221223
SELECT 'CREATE SCHEMA SYNONYM' FROM DUAL UNION ALL
222224
SELECT 'CREATE SEQUENCE' FROM DUAL UNION ALL
223225
SELECT 'CREATE SPFILE' FROM DUAL UNION ALL
226+
SELECT 'CREATE% SQL TRANSLATION PROFILE' FROM DUAL UNION ALL /* includes CREATE ANY ... */
224227
SELECT 'CREATE SYNONYM' FROM DUAL UNION ALL
225-
SELECT 'CREATE TABLE' FROM DUAL UNION ALL
228+
SELECT 'CREATE% TABLE' FROM DUAL UNION ALL /* includes CREATE ANY TABLE */
226229
SELECT 'CREATE TABLESPACE' FROM DUAL UNION ALL
227230
SELECT 'CREATE TRIGGER' FROM DUAL UNION ALL
228231
SELECT 'CREATE TYPE' FROM DUAL UNION ALL
@@ -250,15 +253,16 @@ def sqls_conclusion_application
250253
SELECT 'DROP PACKAGE' FROM DUAL UNION ALL
251254
SELECT 'DROP PACKAGE BODY' FROM DUAL UNION ALL
252255
SELECT 'DROP PLUGGABLE DATABASE' FROM DUAL UNION ALL
253-
SELECT 'DROP PROCEDURE' FROM DUAL UNION ALL
256+
SELECT 'DROP% PROCEDURE' FROM DUAL UNION ALL /* includes DROP ANY */
254257
SELECT 'DROP PROFILE' FROM DUAL UNION ALL
255258
SELECT 'DROP RESTORE POINT' FROM DUAL UNION ALL
256259
SELECT 'DROP ROLE' FROM DUAL UNION ALL
257260
SELECT 'DROP ROLLBACK SEGMENT' FROM DUAL UNION ALL
258261
SELECT 'DROP SCHEMA SYNONYM' FROM DUAL UNION ALL
259262
SELECT 'DROP SEQUENCE' FROM DUAL UNION ALL
263+
SELECT 'DROP% SQL TRANSLATION PROFILE' FROM DUAL UNION ALL /* includes DROP ANY ... */
260264
SELECT 'DROP SYNONYM' FROM DUAL UNION ALL
261-
SELECT 'DROP TABLE' FROM DUAL UNION ALL
265+
SELECT 'DROP% TABLE' FROM DUAL UNION ALL /* includes DROP ANY ... */
262266
SELECT 'DROP TABLESPACE' FROM DUAL UNION ALL
263267
SELECT 'DROP TRIGGER' FROM DUAL UNION ALL
264268
SELECT 'DROP TYPE' FROM DUAL UNION ALL
@@ -292,7 +296,7 @@ def sqls_conclusion_application
292296
CASE WHEN COUNT(DISTINCT co.Success) > 1 THEN '< '||COUNT(DISTINCT co.Success) ||' >' ELSE MIN(co.Success) END Success,
293297
CASE WHEN COUNT(DISTINCT co.Failure) > 1 THEN '< '||COUNT(DISTINCT co.Failure) ||' >' ELSE MIN(co.Failure) END Failure
294298
FROM Expected_Options eo
295-
LEFT OUTER JOIN Current_Options co ON co.Audit_Option = eo.Audit_Option
299+
LEFT OUTER JOIN Current_Options co ON co.Audit_Option LIKE eo.Audit_Option /* let CREATE ANY ... also be detected */
296300
GROUP BY eo.Audit_Option
297301
HAVING SUM(CASE WHEN NVL(co.Accepted, 'NO') = 'YES' THEN 1 ELSE 0 END) = 0 /* No record with accepted = 'YES' among the results */
298302
ORDER BY eo.Audit_Option

app/models/panorama_connection.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -704,6 +704,7 @@ def self.sql_select_one(sql, query_name: 'sql_select_one', convert_tz: true)
704704
result.first[1] # Value des Key/Value-Tupels des ersten Elememtes im Hash
705705
end
706706

707+
# Execute SQL statement
707708
def self.sql_execute(sql, query_name = 'sql_execute')
708709
# raise 'binds are not yet supported for sql_execute' if sql.class != String
709710
stmt, binds = sql_prepare_binds(sql) # Transform SQL and split SQL and binds

0 commit comments

Comments
 (0)