Parent

Class Index [+]

Quicksearch

Sequel::JDBC::H2::Dataset

Dataset class for H2 datasets accessed via JDBC.

Constants

SELECT_CLAUSE_METHODS
BITWISE_METHOD_MAP
APOS
HSTAR
BITCOMP_OPEN
BITCOMP_CLOSE
ILIKE_PLACEHOLDER
TIME_FORMAT
H2_CLOB_METHOD

Public Instance Methods

complex_expression_sql_append(sql, op, args) click to toggle source

Emulate the case insensitive LIKE operator and the bitwise operators.

     # File lib/sequel/adapters/jdbc/h2.rb, line 137
137:         def complex_expression_sql_append(sql, op, args)
138:           case op
139:           when :ILIKE, :"NOT ILIKE"
140:             super(sql, (op == :ILIKE ? :LIKE : :"NOT LIKE"), [SQL::PlaceholderLiteralString.new(ILIKE_PLACEHOLDER, [args.at(0)]), args.at(1)])
141:           when :&, :|, :^
142:             sql << complex_expression_arg_pairs(args){|a, b| literal(SQL::Function.new(BITWISE_METHOD_MAP[op], a, b))}
143:           when :<<
144:             sql << complex_expression_arg_pairs(args){|a, b| "(#{literal(a)} * POWER(2, #{literal(b)}))"}
145:           when :>>
146:             sql << complex_expression_arg_pairs(args){|a, b| "(#{literal(a)} / POWER(2, #{literal(b)}))"}
147:           when :'B~'
148:             sql << BITCOMP_OPEN
149:             literal_append(sql, args.at(0))
150:             sql << BITCOMP_CLOSE
151:           else
152:             super
153:           end
154:         end
requires_sql_standard_datetimes?() click to toggle source

H2 requires SQL standard datetimes

     # File lib/sequel/adapters/jdbc/h2.rb, line 157
157:         def requires_sql_standard_datetimes?
158:           true
159:         end
supports_is_true?() click to toggle source

H2 doesn’t support IS TRUE

     # File lib/sequel/adapters/jdbc/h2.rb, line 162
162:         def supports_is_true?
163:           false
164:         end
supports_join_using?() click to toggle source

H2 doesn’t support JOIN USING

     # File lib/sequel/adapters/jdbc/h2.rb, line 167
167:         def supports_join_using?
168:           false
169:         end
supports_multiple_column_in?() click to toggle source

H2 doesn’t support multiple columns in IN/NOT IN

     # File lib/sequel/adapters/jdbc/h2.rb, line 172
172:         def supports_multiple_column_in?
173:           false
174:         end

Private Instance Methods

convert_type_proc(v) click to toggle source

Handle H2 specific clobs as strings.

     # File lib/sequel/adapters/jdbc/h2.rb, line 187
187:         def convert_type_proc(v)
188:           if v.is_a?(Java::OrgH2Jdbc::JdbcClob)
189:             H2_CLOB_METHOD
190:           else
191:             super
192:           end
193:         end
literal_blob_append(sql, v) click to toggle source

H2 expects hexadecimal strings for blob values

     # File lib/sequel/adapters/jdbc/h2.rb, line 196
196:         def literal_blob_append(sql, v)
197:           sql << APOS << v.unpack(HSTAR).first << APOS
198:         end
literal_sqltime(v) click to toggle source

H2 handles fractional seconds in timestamps, but not in times

     # File lib/sequel/adapters/jdbc/h2.rb, line 201
201:         def literal_sqltime(v)
202:           v.strftime(TIME_FORMAT)
203:         end
select_clause_methods() click to toggle source
     # File lib/sequel/adapters/jdbc/h2.rb, line 205
205:         def select_clause_methods
206:           SELECT_CLAUSE_METHODS
207:         end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.