Class | Sequel::Postgres::ArrayOp |
In: |
lib/sequel/extensions/pg_array_ops.rb
|
Parent: | Sequel::SQL::Wrapper |
CONCAT | = | ["(".freeze, " || ".freeze, ")".freeze].freeze |
CONTAINS | = | ["(".freeze, " @> ".freeze, ")".freeze].freeze |
CONTAINED_BY | = | ["(".freeze, " <@ ".freeze, ")".freeze].freeze |
OVERLAPS | = | ["(".freeze, " && ".freeze, ")".freeze].freeze |
Access a member of the array, returns an SQL::Subscript instance:
array_op[1] # array[1]
# File lib/sequel/extensions/pg_array_ops.rb, line 77 77: def [](key) 78: Sequel::SQL::Subscript.new(self, [key]) 79: end
Call the ALL function:
array_op.all # ALL(array)
Usually used like:
dataset.where(1=>array_op.all) # WHERE (1 = ALL(array))
# File lib/sequel/extensions/pg_array_ops.rb, line 89 89: def all 90: function(:ALL) 91: end
Call the ANY function:
array_op.all # ANY(array)
Usually used like:
dataset.where(1=>array_op.any) # WHERE (1 = ANY(array))
# File lib/sequel/extensions/pg_array_ops.rb, line 101 101: def any 102: function(:ANY) 103: end
Use the contained by (<@) operator:
array_op.contained_by(:a) # (array <@ a)
# File lib/sequel/extensions/pg_array_ops.rb, line 115 115: def contained_by(other) 116: bool_op(CONTAINED_BY, other) 117: end
Call the array_dims method:
array_op.dims # array_dims(array)
# File lib/sequel/extensions/pg_array_ops.rb, line 122 122: def dims 123: function(:array_dims) 124: end
Call the array_length method:
array_op.length # array_length(array, 1) array_op.length(2) # array_length(array, 2)
# File lib/sequel/extensions/pg_array_ops.rb, line 130 130: def length(dimension = 1) 131: function(:array_length, dimension) 132: end
Call the array_lower method:
array_op.lower # array_lower(array, 1) array_op.lower(2) # array_lower(array, 2)
# File lib/sequel/extensions/pg_array_ops.rb, line 138 138: def lower(dimension = 1) 139: function(:array_lower, dimension) 140: end
Return the receiver.
# File lib/sequel/extensions/pg_array_ops.rb, line 159 159: def pg_array 160: self 161: end
Use the concatentation (||) operator:
array_op.push(:a) # (array || a) array_op.concat(:a) # (array || a)
# File lib/sequel/extensions/pg_array_ops.rb, line 153 153: def push(other) 154: array_op(CONCAT, [self, other]) 155: end
Call the array_to_string method:
array_op.join # array_to_string(array, '', NULL) array_op.to_string # array_to_string(array, '', NULL) array_op.join(":") # array_to_string(array, ':', NULL) array_op.join(":", "*") # array_to_string(array, ':', '*')
# File lib/sequel/extensions/pg_array_ops.rb, line 169 169: def to_string(joiner="", null=nil) 170: function(:array_to_string, joiner, null) 171: end