Methods
Public Instance
- complex_expression_sql_append
- constant_sql_append
- convert_smallint_to_bool
- cross_apply
- escape_like
- into
- recursive_cte_requires_column_aliases?
- supports_cte?
- supports_grouping_sets?
- supports_is_true?
- supports_join_using?
- supports_multiple_column_in?
- supports_where_true?
- supports_window_clause?
- supports_window_functions?
- with_convert_smallint_to_bool
Included modules
Public Instance methods
complex_expression_sql_append(sql, op, args)
[show source]
# File lib/sequel/adapters/shared/sqlanywhere.rb 302 def complex_expression_sql_append(sql, op, args) 303 case op 304 when :'||' 305 super(sql, :+, args) 306 when :<<, :>> 307 complex_expression_emulate_append(sql, op, args) 308 when :ILIKE, :"NOT ILIKE" 309 super(sql, (op == :ILIKE ? :LIKE : :"NOT LIKE"), args) 310 when :extract 311 sql << 'datepart(' 312 literal_append(sql, args[0]) 313 sql << ',' 314 literal_append(sql, args[1]) 315 sql << ')' 316 else 317 super 318 end 319 end
constant_sql_append(sql, constant)
Use today() for CURRENT_DATE and now() for CURRENT_TIMESTAMP and CURRENT_TIME
[show source]
# File lib/sequel/adapters/shared/sqlanywhere.rb 327 def constant_sql_append(sql, constant) 328 case constant 329 when :CURRENT_DATE 330 sql << 'today()' 331 when :CURRENT_TIMESTAMP, :CURRENT_TIME 332 sql << 'now()' 333 else 334 super 335 end 336 end
convert_smallint_to_bool()
Whether to convert smallint to boolean arguments for this dataset. Defaults to the IBMDB module setting.
[show source]
# File lib/sequel/adapters/shared/sqlanywhere.rb 250 def convert_smallint_to_bool 251 opts.has_key?(:convert_smallint_to_bool) ? opts[:convert_smallint_to_bool] : db.convert_smallint_to_bool 252 end
cross_apply(table)
Uses CROSS APPLY to join the given table into the current dataset.
[show source]
# File lib/sequel/adapters/shared/sqlanywhere.rb 293 def cross_apply(table) 294 join_table(:cross_apply, table) 295 end
escape_like(string)
SqlAnywhere uses \ to escape metacharacters, but a ‘]’ should not be escaped
[show source]
# File lib/sequel/adapters/shared/sqlanywhere.rb 322 def escape_like(string) 323 string.gsub(/[\\%_\[]/){|m| "\\#{m}"} 324 end
into(table)
Specify a table for a SELECT … INTO query.
[show source]
# File lib/sequel/adapters/shared/sqlanywhere.rb 339 def into(table) 340 clone(:into => table) 341 end
recursive_cte_requires_column_aliases?()
SqlAnywhere requires recursive CTEs to have column aliases.
[show source]
# File lib/sequel/adapters/shared/sqlanywhere.rb 298 def recursive_cte_requires_column_aliases? 299 true 300 end
supports_cte?(type=:select)
[show source]
# File lib/sequel/adapters/shared/sqlanywhere.rb 259 def supports_cte?(type=:select) 260 type == :select 261 end
supports_grouping_sets?()
SQLAnywhere supports GROUPING SETS
[show source]
# File lib/sequel/adapters/shared/sqlanywhere.rb 264 def supports_grouping_sets? 265 true 266 end
supports_is_true?()
[show source]
# File lib/sequel/adapters/shared/sqlanywhere.rb 276 def supports_is_true? 277 false 278 end
supports_join_using?()
[show source]
# File lib/sequel/adapters/shared/sqlanywhere.rb 280 def supports_join_using? 281 false 282 end
supports_multiple_column_in?()
[show source]
# File lib/sequel/adapters/shared/sqlanywhere.rb 268 def supports_multiple_column_in? 269 false 270 end
supports_where_true?()
[show source]
# File lib/sequel/adapters/shared/sqlanywhere.rb 272 def supports_where_true? 273 false 274 end
supports_window_clause?()
[show source]
# File lib/sequel/adapters/shared/sqlanywhere.rb 284 def supports_window_clause? 285 true 286 end
supports_window_functions?()
[show source]
# File lib/sequel/adapters/shared/sqlanywhere.rb 288 def supports_window_functions? 289 true 290 end
with_convert_smallint_to_bool(v)
Return a cloned dataset with the convert_smallint_to_bool option set.
[show source]
# File lib/sequel/adapters/shared/sqlanywhere.rb 255 def with_convert_smallint_to_bool(v) 256 clone(:convert_smallint_to_bool=>v) 257 end