module ActiveRecord::ConnectionAdapters::OracleEnhanced::DbmsOutput
Constants
- DBMS_OUTPUT_BUFFER_SIZE
Maximum DBMS_OUTPUT buffer size
Public Instance Methods
dbms_output_enabled?()
click to toggle source
Is DBMS_Output logging enabled?
# File lib/active_record/connection_adapters/oracle_enhanced/dbms_output.rb, line 29 def dbms_output_enabled? @enable_dbms_output end
disable_dbms_output()
click to toggle source
Turn DBMS_Output logging off
# File lib/active_record/connection_adapters/oracle_enhanced/dbms_output.rb, line 23 def disable_dbms_output set_dbms_output_plsql_connection @enable_dbms_output = false plsql(:dbms_output).sys.dbms_output.disable end
enable_dbms_output()
click to toggle source
Turn DBMS_Output logging on
# File lib/active_record/connection_adapters/oracle_enhanced/dbms_output.rb, line 17 def enable_dbms_output set_dbms_output_plsql_connection @enable_dbms_output = true plsql(:dbms_output).sys.dbms_output.enable(DBMS_OUTPUT_BUFFER_SIZE) end
Private Instance Methods
log(sql, name = "SQL", binds = [], type_casted_binds = [], statement_name = nil, async: false)
click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/oracle_enhanced/dbms_output.rb, line 34 def log(sql, name = "SQL", binds = [], type_casted_binds = [], statement_name = nil, async: false) super ensure log_dbms_output if dbms_output_enabled? end
log_dbms_output()
click to toggle source
# File lib/active_record/connection_adapters/oracle_enhanced/dbms_output.rb, line 48 def log_dbms_output while true do result = plsql(:dbms_output).sys.dbms_output.get_line(line: "", status: 0) break unless result[:status] == 0 @logger.debug "DBMS_OUTPUT: #{result[:line]}" if @logger end end
set_dbms_output_plsql_connection()
click to toggle source
# File lib/active_record/connection_adapters/oracle_enhanced/dbms_output.rb, line 40 def set_dbms_output_plsql_connection raise OracleEnhanced::ConnectionException, "ruby-plsql gem is required for logging DBMS output" unless self.respond_to?(:plsql) # do not reset plsql connection if it is the same (as resetting will clear PL/SQL metadata cache) unless plsql(:dbms_output).connection && plsql(:dbms_output).connection.raw_connection == raw_connection plsql(:dbms_output).connection = raw_connection end end