Class for row-valued/composite types that are treated as arrays. By default, this is only used for generic PostgreSQL record types, as registered types use HashRow by default.
The database type for this class. May be nil if this class done not have a specific database type.
Sets the database type associated with this instance. This is used to override the class's default database type.
Create a subclass associated with a specific database type. This is done so that instances of this subclass are automatically casted to the database type when literalizing.
# File lib/sequel/extensions/pg_row.rb, line 112 def self.subclass(db_type) Class.new(self) do @db_type = db_type end end
Return the instance's database type, or the class's database type if the instance has not overridden it.
# File lib/sequel/extensions/pg_row.rb, line 124 def db_type @db_type || self.class.db_type end
Append SQL fragment related to this object to the sql.
# File lib/sequel/extensions/pg_row.rb, line 129 def sql_literal_append(ds, sql) sql << ROW ds.literal_append(sql, to_a) if db_type sql << CAST ds.quote_schema_table_append(sql, db_type) end end