Module: Sequel::Oracle::DatasetMethods
- Included in:
- JDBC::Oracle::Dataset, Dataset
- Defined in:
- lib/sequel/lib/sequel/adapters/shared/oracle.rb
Constant Summary collapse
- SELECT_CLAUSE_METHODS =
Dataset.clause_methods(:select, %w'with distinct columns from join where group having compounds order limit')
Instance Method Summary collapse
- #empty? ⇒ Boolean
-
#except(dataset, opts = {}) ⇒ Object
Oracle uses MINUS instead of EXCEPT, and doesn't support EXCEPT ALL.
-
#requires_sql_standard_datetimes? ⇒ Boolean
Oracle requires SQL standard datetimes.
-
#supports_distinct_on? ⇒ Boolean
Oracle does not support DISTINCT ON.
-
#supports_intersect_except_all? ⇒ Boolean
Oracle does not support INTERSECT ALL or EXCEPT ALL.
-
#supports_timestamp_timezones? ⇒ Boolean
Oracle supports timezones in literal timestamps.
-
#supports_window_functions? ⇒ Boolean
Oracle supports window functions.
Instance Method Details
#empty? ⇒ Boolean
106 107 108 |
# File 'lib/sequel/lib/sequel/adapters/shared/oracle.rb', line 106 def empty? db[:dual].where(exists).get(1) == nil end |
#except(dataset, opts = {}) ⇒ Object
Oracle uses MINUS instead of EXCEPT, and doesn't support EXCEPT ALL
100 101 102 103 104 |
# File 'lib/sequel/lib/sequel/adapters/shared/oracle.rb', line 100 def except(dataset, opts={}) opts = {:all=>opts} unless opts.is_a?(Hash) raise(Sequel::Error, "EXCEPT ALL not supported") if opts[:all] compound_clone(:minus, dataset, opts) end |
#requires_sql_standard_datetimes? ⇒ Boolean
Oracle requires SQL standard datetimes
111 112 113 |
# File 'lib/sequel/lib/sequel/adapters/shared/oracle.rb', line 111 def requires_sql_standard_datetimes? true end |
#supports_distinct_on? ⇒ Boolean
Oracle does not support DISTINCT ON
116 117 118 |
# File 'lib/sequel/lib/sequel/adapters/shared/oracle.rb', line 116 def supports_distinct_on? false end |
#supports_intersect_except_all? ⇒ Boolean
Oracle does not support INTERSECT ALL or EXCEPT ALL
121 122 123 |
# File 'lib/sequel/lib/sequel/adapters/shared/oracle.rb', line 121 def supports_intersect_except_all? false end |
#supports_timestamp_timezones? ⇒ Boolean
Oracle supports timezones in literal timestamps.
126 127 128 |
# File 'lib/sequel/lib/sequel/adapters/shared/oracle.rb', line 126 def true end |
#supports_window_functions? ⇒ Boolean
Oracle supports window functions
131 132 133 |
# File 'lib/sequel/lib/sequel/adapters/shared/oracle.rb', line 131 def supports_window_functions? true end |