QuotedLiteral class

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 PG::Connection#escape_literal, but integrates into the type cast system of ruby-pg.

Both expressions have the same result:

conn.escape_literal(["v1","v2"])) # => "'{v1,v2}'"["v1","v2"]) # => "'{v1,v2}'"

While escape_literal requires a intermediate ruby string allocation, QuotedLiteral encodes the values directly to the result string.