Class Sequel::JDBC::HSQLDB::Dataset
In: lib/sequel/adapters/jdbc/hsqldb.rb
Parent: JDBC::Dataset

Methods

Public Instance methods

Handle HSQLDB specific case insensitive LIKE and bitwise operator support.

[Source]

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

HSQLDB requires recursive CTEs to have column aliases.

[Source]

     # File lib/sequel/adapters/jdbc/hsqldb.rb, line 154
154:         def recursive_cte_requires_column_aliases?
155:           true
156:         end

HSQLDB requires SQL standard datetimes in some places.

[Source]

     # File lib/sequel/adapters/jdbc/hsqldb.rb, line 159
159:         def requires_sql_standard_datetimes?
160:           true
161:         end

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.

[Source]

     # File lib/sequel/adapters/jdbc/hsqldb.rb, line 168
168:         def supports_cte?(type=:select)
169:           false
170:         end

HSQLDB does not support IS TRUE.

[Source]

     # File lib/sequel/adapters/jdbc/hsqldb.rb, line 173
173:         def supports_is_true?
174:           false
175:         end

HSQLDB supports lateral subqueries.

[Source]

     # File lib/sequel/adapters/jdbc/hsqldb.rb, line 178
178:         def supports_lateral_subqueries?
179:           true
180:         end

[Validate]