Class: PG::TextEncoder::QuotedLiteral
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
|
|
Instance Chain:
|
|
Inherits: |
PG::CompositeEncoder
|
Defined in: | ext/pg_text_encoder.c |
Overview
This is the encoder class for PostgreSQL literals.
A literal is quoted and escaped by the '
character, so that it can be inserted into SQL queries. It works equal to Connection#escape_literal, but integrates into the type cast system of ruby-pg.
Both expressions have the same result:
conn.escape_literal(PG::TextEncoder::Array.new.encode(["v1","v2"])) # => "'{v1,v2}'"
PG::TextEncoder::QuotedLiteral.new(elements_type: PG::TextEncoder::Array.new).encode(["v1","v2"]) # => "'{v1,v2}'"
While escape_literal requires a intermediate ruby string allocation, QuotedLiteral
encodes the values directly to the result string.
Constant Summary
::PG::Coder
- Inherited
FORMAT_ERROR_MASK, FORMAT_ERROR_TO_PARTIAL, FORMAT_ERROR_TO_RAISE, FORMAT_ERROR_TO_STRING, TIMESTAMP_APP_LOCAL, TIMESTAMP_APP_UTC, TIMESTAMP_DB_LOCAL, TIMESTAMP_DB_UTC
Class Method Summary
::PG::Coder
- Inherited
.new | Create a new coder object based on the attribute Hash. |
Instance Attribute Summary
::PG::CompositeCoder
- Inherited
#delimiter | The character that separates values within the composite type. |
#delimiter= | Specifies the character that separates values within the composite type. |
#elements_type, | |
#needs_quotation= | Specifies whether the assigned |
#needs_quotation? | Specifies whether the assigned |
::PG::Coder
- Inherited
#flags | Get current bitwise OR-ed coder flags. |
#flags= | Set coder specific bitwise OR-ed flags. |
#format | The format code that is sent alongside with an encoded query parameter value. |
#format= | Specifies the format code that is sent alongside with an encoded query parameter value. |
#name | Name of the coder or the corresponding data type. |
#oid | The type OID that is sent alongside with an encoded query parameter value. |
#oid= | Specifies the type OID that is sent alongside with an encoded query parameter value. |
Instance Method Summary
::PG::CompositeCoder
- Inherited
#elements_type= | Specifies the |
#inspect, #to_h |
::PG::Coder
- Inherited
#==, #dup, #inspect, #inspect_short, #marshal_dump, #marshal_load, | |
#to_h | Returns coder attributes as Hash. |
Constructor Details
This class inherits a constructor from PG::Coder