class Sequel::JDBC::HSQLDB::Dataset

  1. lib/sequel/adapters/jdbc/hsqldb.rb
Superclass: Dataset

Public Instance methods

complex_expression_sql_append(sql, op, args)

Handle HSQLDB specific case insensitive LIKE and bitwise operator support.

[show source]
    # File lib/sequel/adapters/jdbc/hsqldb.rb
144 def complex_expression_sql_append(sql, op, args)
145   case op
146   when :ILIKE, :"NOT ILIKE"
147     super(sql, (op == :ILIKE ? :LIKE : :"NOT LIKE"), args.map{|v| SQL::Function.new(:ucase, v)})
148   when :&, :|, :^, :%, :<<, :>>, :'B~'
149     complex_expression_emulate_append(sql, op, args)
150   else
151     super
152   end
153 end
recursive_cte_requires_column_aliases?()

HSQLDB requires recursive CTEs to have column aliases.

[show source]
    # File lib/sequel/adapters/jdbc/hsqldb.rb
156 def recursive_cte_requires_column_aliases?
157   true
158 end
requires_sql_standard_datetimes?()

HSQLDB requires SQL standard datetimes in some places.

[show source]
    # File lib/sequel/adapters/jdbc/hsqldb.rb
161 def requires_sql_standard_datetimes?
162   true
163 end
supports_cte?(type=:select)

HSQLDB does support common table expressions, but the support is broken. CTEs operate more like temprorary tables or views, lasting longer than the duration of the expression. CTEs in earlier queries might take precedence over CTEs with the same name in later queries. Also, if any CTE is recursive, all CTEs must be recursive. If you want to use CTEs with HSQLDB, you’ll have to manually modify the dataset to allow it.

[show source]
    # File lib/sequel/adapters/jdbc/hsqldb.rb
170 def supports_cte?(type=:select)
171   false
172 end
supports_is_true?()

HSQLDB does not support IS TRUE.

[show source]
    # File lib/sequel/adapters/jdbc/hsqldb.rb
175 def supports_is_true?
176   false
177 end
supports_lateral_subqueries?()

HSQLDB supports lateral subqueries.

[show source]
    # File lib/sequel/adapters/jdbc/hsqldb.rb
180 def supports_lateral_subqueries?
181   true
182 end
supports_merge?()

HSQLDB 2.3.4+ supports MERGE. Older versions also support MERGE, but not all features that are in Sequel’s tests.

[show source]
    # File lib/sequel/adapters/jdbc/hsqldb.rb
186 def supports_merge?
187   db.db_version >= 20304
188 end