Module: Sequel::Oracle::DatasetMethods

Included in:
JDBC::Oracle::Dataset, Dataset
Defined in:
lib/sequel/adapters/shared/oracle.rb

Constant Summary collapse

SELECT_CLAUSE_ORDER =
%w'with distinct columns from join where group having compounds order limit'.freeze

Instance Method Summary collapse

Instance Method Details

#empty?Boolean

Returns:

  • (Boolean)


105
106
107
# File 'lib/sequel/adapters/shared/oracle.rb', line 105

def empty?
  db[:dual].where(exists).get(1) == nil
end

#except(dataset, all = false) ⇒ Object

Oracle uses MINUS instead of EXCEPT, and doesn’t support EXCEPT ALL

Raises:



100
101
102
103
# File 'lib/sequel/adapters/shared/oracle.rb', line 100

def except(dataset, all = false)
  raise(Sequel::Error, "EXCEPT ALL not supported") if all
  compound_clone(:minus, dataset, all)
end

#requires_sql_standard_datetimes?Boolean

Oracle requires SQL standard datetimes

Returns:

  • (Boolean)


110
111
112
# File 'lib/sequel/adapters/shared/oracle.rb', line 110

def requires_sql_standard_datetimes?
  true
end

#supports_distinct_on?Boolean

Oracle does not support DISTINCT ON

Returns:

  • (Boolean)


115
116
117
# File 'lib/sequel/adapters/shared/oracle.rb', line 115

def supports_distinct_on?
  false
end

#supports_intersect_except_all?Boolean

Oracle does not support INTERSECT ALL or EXCEPT ALL

Returns:

  • (Boolean)


120
121
122
# File 'lib/sequel/adapters/shared/oracle.rb', line 120

def supports_intersect_except_all?
  false
end

#supports_window_functions?Boolean

Oracle supports window functions

Returns:

  • (Boolean)


125
126
127
# File 'lib/sequel/adapters/shared/oracle.rb', line 125

def supports_window_functions?
  true
end