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 204 def complex_expression_sql_append(sql, op, args) 205 case op 206 when :ILIKE, :"NOT ILIKE" 207 super(sql, (op == :ILIKE ? :LIKE : :"NOT LIKE"), [SQL::PlaceholderLiteralString.new(ILIKE_PLACEHOLDER, [args[0]]), args[1]]) 208 when :&, :|, :^, :<<, :>>, :'B~' 209 complex_expression_emulate_append(sql, op, args) 210 else 211 super 212 end 213 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 216 def supports_derived_column_lists? 217 false 218 end
supports_is_true?()
click to toggle source
H2
doesn’t support IS TRUE
# File lib/sequel/adapters/jdbc/h2.rb 226 def supports_is_true? 227 false 228 end
supports_join_using?()
click to toggle source
H2
doesn’t support JOIN USING
# File lib/sequel/adapters/jdbc/h2.rb 231 def supports_join_using? 232 false 233 end
supports_merge?()
click to toggle source
H2
supports MERGE
# File lib/sequel/adapters/jdbc/h2.rb 236 def supports_merge? 237 true 238 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 241 def supports_multiple_column_in? 242 false 243 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 248 def literal_blob_append(sql, v) 249 if db.send(:version2?) 250 super 251 else 252 sql << "'" << v.unpack("H*").first << "'" 253 end 254 end
literal_false()
click to toggle source
# File lib/sequel/adapters/jdbc/h2.rb 256 def literal_false 257 'FALSE' 258 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 265 def literal_sqltime(v) 266 v.strftime("'%H:%M:%S'") 267 end
literal_true()
click to toggle source
# File lib/sequel/adapters/jdbc/h2.rb 260 def literal_true 261 'TRUE' 262 end
multi_insert_sql_strategy()
click to toggle source
H2
supports multiple rows in INSERT.
# File lib/sequel/adapters/jdbc/h2.rb 270 def multi_insert_sql_strategy 271 :values 272 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 274 def select_only_offset_sql(sql) 275 if db.send(:version2?) 276 super 277 else 278 sql << " LIMIT -1 OFFSET " 279 literal_append(sql, @opts[:offset]) 280 end 281 end
supports_quoted_function_names?()
click to toggle source
H2
supports quoted function names.
# File lib/sequel/adapters/jdbc/h2.rb 284 def supports_quoted_function_names? 285 true 286 end