Module: ActiveRecord::ConnectionAdapters::OracleEnhanced::Quoting::ClassMethods
- Defined in:
- lib/active_record/connection_adapters/oracle_enhanced/quoting.rb
Overview
:nodoc:
Instance Method Summary collapse
-
#column_name_matcher ⇒ Object
:nodoc:.
- #column_name_with_order_matcher ⇒ Object
-
#quote_column_name(name) ⇒ Object
:nodoc:.
-
#quote_table_name(name) ⇒ Object
:nodoc:.
Instance Method Details
#column_name_matcher ⇒ Object
:nodoc:
15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/active_record/connection_adapters/oracle_enhanced/quoting.rb', line 15 def column_name_matcher / \A ( (?: # "table_name"."column_name" | function(one or no argument) ((?:\w+\.|"\w+"\.)?(?:\w+|"\w+") | \w+\((?:|\g<2>)\)) ) (?:(?:\s+AS)?\s+(?:\w+|"\w+"))? ) (?:\s*,\s*\g<1>)* \z /ix end |
#column_name_with_order_matcher ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/active_record/connection_adapters/oracle_enhanced/quoting.rb', line 30 def column_name_with_order_matcher / \A ( (?: # "table_name"."column_name" | function(one or no argument) ((?:\w+\.|"\w+"\.)?(?:\w+|"\w+") | \w+\((?:|\g<2>)\)) ) (?:\s+ASC|\s+DESC)? (?:\s+NULLS\s+(?:FIRST|LAST))? ) (?:\s*,\s*\g<1>)* \z /ix end |
#quote_column_name(name) ⇒ Object
:nodoc:
46 47 48 49 50 51 52 53 54 |
# File 'lib/active_record/connection_adapters/oracle_enhanced/quoting.rb', line 46 def quote_column_name(name) # :nodoc: name = name.to_s QUOTED_COLUMN_NAMES[name] ||= if /\A[a-z][a-z_0-9$#]*\Z/.match?(name) "\"#{name.upcase}\"" else # remove double quotes which cannot be used inside quoted identifier "\"#{name.delete('"')}\"" end end |
#quote_table_name(name) ⇒ Object
:nodoc:
56 57 58 59 |
# File 'lib/active_record/connection_adapters/oracle_enhanced/quoting.rb', line 56 def quote_table_name(name) # :nodoc: name, _link = name.to_s.split("@") QUOTED_TABLE_NAMES[name] ||= [name.split(".").map { |n| quote_column_name(n) }].join(".") end |