module Sequel::SqlAnywhere::DatasetMethods

  1. lib/sequel/adapters/shared/sqlanywhere.rb

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