class Sequel::JDBC::H2::Dataset
Constants
- ILIKE_PLACEHOLDER
Public Instance Methods
complex_expression_sql_append(sql, op, args)
click to toggle source
Emulate the case insensitive LIKE operator and the bitwise operators.
Calls superclass method
Sequel::Dataset#complex_expression_sql_append
# File lib/sequel/adapters/jdbc/h2.rb 201 def complex_expression_sql_append(sql, op, args) 202 case op 203 when :ILIKE, :"NOT ILIKE" 204 super(sql, (op == :ILIKE ? :LIKE : :"NOT LIKE"), [SQL::PlaceholderLiteralString.new(ILIKE_PLACEHOLDER, [args[0]]), args[1]]) 205 when :&, :|, :^, :<<, :>>, :'B~' 206 complex_expression_emulate_append(sql, op, args) 207 else 208 super 209 end 210 end
requires_sql_standard_datetimes?()
click to toggle source
supports_derived_column_lists?()
click to toggle source
H2
does not support derived column lists
# File lib/sequel/adapters/jdbc/h2.rb 213 def supports_derived_column_lists? 214 false 215 end
supports_is_true?()
click to toggle source
H2
doesn’t support IS TRUE
# File lib/sequel/adapters/jdbc/h2.rb 223 def supports_is_true? 224 false 225 end
supports_join_using?()
click to toggle source
H2
doesn’t support JOIN USING
# File lib/sequel/adapters/jdbc/h2.rb 228 def supports_join_using? 229 false 230 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 233 def supports_multiple_column_in? 234 false 235 end
Private Instance Methods
literal_blob_append(sql, v)
click to toggle source
H2
expects hexadecimal strings for blob values
Calls superclass method
Sequel::Dataset#literal_blob_append
# File lib/sequel/adapters/jdbc/h2.rb 240 def literal_blob_append(sql, v) 241 if db.send(:version2?) 242 super 243 else 244 sql << "'" << v.unpack("H*").first << "'" 245 end 246 end
literal_false()
click to toggle source
# File lib/sequel/adapters/jdbc/h2.rb 248 def literal_false 249 'FALSE' 250 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 257 def literal_sqltime(v) 258 v.strftime("'%H:%M:%S'") 259 end
literal_true()
click to toggle source
# File lib/sequel/adapters/jdbc/h2.rb 252 def literal_true 253 'TRUE' 254 end
multi_insert_sql_strategy()
click to toggle source
H2
supports multiple rows in INSERT.
# File lib/sequel/adapters/jdbc/h2.rb 262 def multi_insert_sql_strategy 263 :values 264 end
select_only_offset_sql(sql)
click to toggle source
Calls superclass method
Sequel::Dataset#select_only_offset_sql
# File lib/sequel/adapters/jdbc/h2.rb 266 def select_only_offset_sql(sql) 267 if db.send(:version2?) 268 super 269 else 270 sql << " LIMIT -1 OFFSET " 271 literal_append(sql, @opts[:offset]) 272 end 273 end
supports_quoted_function_names?()
click to toggle source
H2
supports quoted function names.
# File lib/sequel/adapters/jdbc/h2.rb 276 def supports_quoted_function_names? 277 true 278 end