Pg Builder Versions Save

Query builder for Postgres backed by SQL parser

v2.4.0

2 weeks ago
  • NativeStatement::prepare() and executePrepared() use the API introduced in pg_wrapper 2.4.0
  • No longer use names deprecated in pg_wrapper 2.4.0: ResultSet -> Result, Connection::getResource() -> Connection::getNative().

v2.3.1

6 months ago

It is now possible to generate SQL suitable for PDO::prepare() even if a query does not contain placeholders, see #15

v2.3.0

8 months ago
  • SQL/JSON functions and expressions: IS JSON predicate, aggregate functions json_arrayagg() and json_objectagg(), constructor functions json_array() and json_object().
  • Non-decimal integer literals and underscores as separators in numeric literals.
  • Aliases for subqueries in FROM are now optional.
  • SYSTEM_USER server variable.
  • [NO] INDENT option for XMLSERIALIZE() expression.

v2.3.0-beta

9 months ago

Support for new syntax of PostgreSQL 16 (as of beta 3)

  • SQL/JSON functions and expressions: IS JSON predicate, aggregate functions json_arrayagg() and json_objectagg(), constructor functions json_array() and json_object().
  • Allow non-decimal integer literals and underscores as separators in numeric literals.
  • Aliases for subqueries in FROM are now optional.
  • SYSTEM_USER server variable.
  • [NO] INDENT option for XMLSERIALIZE() expression.

v2.2.0

1 year ago

The new recommended way to enable pg_builder features in pg_wrapper's type conversion is to use a BuilderSupportDecorator which decorates an instance of DefaultTypeConverterFactory rather than ParserAwareTypeConverterFactory which is a subclass of DefaultTypeConverterFactory.

Both of these implement the new TypeNameNodeHandler interface which can be used in typehints instead of a specific class.

v2.1.0

1 year ago

Added support for new/changed syntax of Postgres 15:

  • Allow parsing and building MERGE statements. Backed by Merge class and StatementFactory::merge() helper method.
  • Reject numeric literals and positional parameters with trailing non-digits: previously SELECT 123abc was parsed as SELECT 123 AS abc, now it will throw a SyntaxException.

v2.1.0-beta.2

1 year ago

Removed support for SQL/JSON syntax which had been removed in PostgreSQL 15 beta 4

v2.1.0-beta

1 year ago

Added support for new syntax of Postgres 15:

  • MERGE statement
  • SQL/JSON functions

v2.0.1

1 year ago

Bugfix release - Parser accepts SELECT queries with empty target lists (thanks to @rvanvelzen for PR #14).

v2.0.0

2 years ago

New features

  • Added support for new syntax of Postgres 14
    • It is now possible to use most of the keywords as column aliases without AS.
    • DISTINCT clause for GROUP BY.
    • SEARCH and CYCLE clauses for Common Table Expressions.
    • Alias for USING clause of JOIN expression.
  • Package runs under PHP 8.1 without E_DEPRECATED errors
  • Represent SQL functions with non-standard argument syntax with separate Nodes, generated SQL is now closer to input

Major version is changed due to BC breaks mirroring those of Postgres 14:

  • Removed support for postfix operators and IS [NOT] OF clauses