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

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

Raises:


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 supports_timestamp_timezones?
  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