| Class | Sequel::Postgres::PGRow::ArrayRow |
| In: |
lib/sequel/extensions/pg_row.rb
|
| Parent: | DelegateClass(Array) |
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.
| new | -> | call |
| Alias new to call, so that the class itself can be used directly as a converter. | ||
| db_type | [RW] | The database type for this class. May be nil if this class done not have a specific database type. |
| db_type | [W] | 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 114
114: def self.subclass(db_type)
115: Class.new(self) do
116: @db_type = db_type
117: end
118: 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 126
126: def db_type
127: @db_type || self.class.db_type
128: end
Append SQL fragment related to this object to the sql.
# File lib/sequel/extensions/pg_row.rb, line 131
131: def sql_literal_append(ds, sql)
132: sql << 'ROW'
133: ds.literal_append(sql, to_a)
134: if db_type
135: sql << '::'
136: ds.quote_schema_table_append(sql, db_type)
137: end
138: end