From 2e8026239e129499fdda6e98aa91609ebfb201cc Mon Sep 17 00:00:00 2001 From: Yasuo Honda Date: Mon, 23 Sep 2024 14:55:57 +0900 Subject: [PATCH] Merge pull request #2398 from yahonda/diag_2394 Support `build_explain_clause(options = [])` --- .../oracle_enhanced/database_statements.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb b/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb index e862a9001..81af330e0 100644 --- a/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb +++ b/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb @@ -65,7 +65,7 @@ def supports_explain? true end - def explain(arel, binds = []) + def explain(arel, binds = [], options = []) sql = "EXPLAIN PLAN FOR #{to_sql(arel, binds)}" return if /FROM all_/.match?(sql) if ORACLE_ENHANCED_CONNECTION == :jdbc @@ -76,6 +76,11 @@ def explain(arel, binds = []) select_values("SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY)", "EXPLAIN").join("\n") end + def build_explain_clause(options = []) + # Oracle does not have anything similar to "EXPLAIN ANALYZE" + # https://docs.oracle.com/en/database/oracle/oracle-database/23/sqlrf/EXPLAIN-PLAN.html#GUID-FD540872-4ED3-4936-96A2-362539931BA0 + end + # New method in ActiveRecord 3.1 # Will add RETURNING clause in case of trigger generated primary keys def sql_for_insert(sql, pk, binds, _returning)