class Sequel::Postgres::HStoreSubscriptOp
Represents hstore subscripts. This is abstracted because the subscript support depends on the database version.
Constants
- SUBSCRIPT
Attributes
The expression being subscripted
The subscript to use
Public Class Methods
Source
# File lib/sequel/extensions/pg_hstore_ops.rb 342 def initialize(expression, sub) 343 @expression = expression 344 @sub = sub 345 freeze 346 end
Set the expression and subscript to the given arguments
Public Instance Methods
Source
# File lib/sequel/extensions/pg_hstore_ops.rb 356 def sequel_ast_transform(transformer) 357 self.class.new(transformer.call(@expression), transformer.call(@sub)) 358 end
Support transforming of hstore subscripts
Source
# File lib/sequel/extensions/pg_hstore_ops.rb 349 def to_s_append(ds, sql) 350 server_version = ds.db.server_version 351 frag = server_version && server_version >= 140000 ? SUBSCRIPT : HStoreOp::LOOKUP 352 ds.literal_append(sql, Sequel::SQL::PlaceholderLiteralString.new(frag, [@expression, @sub])) 353 end
Use subscripts instead of -> operator on PostgreSQL 14+