Class | Sequel::Postgres::PGRow::HashRow |
In: |
lib/sequel/extensions/pg_row.rb
|
Parent: | DelegateClass(Hash) |
Class for row-valued/composite types that are treated as hashes. Types registered via Database#register_row_type will use this class by default.
new | -> | call |
Alias new to call, so that the class itself can be used directly as a converter. | ||
__getobj__ | -> | to_hash |
Return the underlying hash for this delegate object. |
columns | [RW] | The columns associated with this class. |
columns | [W] | Sets the columns associated with this instance. This is used to override the class‘s default columns. |
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. |
Check that the HashRow has valid columns. This should be used before all attempts to literalize the object, since literalization depends on the columns to get the column order.
# File lib/sequel/extensions/pg_row.rb, line 196 196: def check_columns! 197: if columns.nil? || columns.empty? 198: raise Error, 'cannot literalize HashRow without columns' 199: end 200: end
Append SQL fragment related to this object to the sql.
# File lib/sequel/extensions/pg_row.rb, line 203 203: def sql_literal_append(ds, sql) 204: check_columns! 205: sql << ROW 206: ds.literal_append(sql, values_at(*columns)) 207: if db_type 208: sql << CAST 209: ds.quote_schema_table_append(sql, db_type) 210: end 211: end