Releases: sad-spirit/pg-builder
Release 2.4.0 - upgraded for pg_wrapper 2.4.0
NativeStatement::prepare()
andexecutePrepared()
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()
.
Release 2.3.1 - Additional PDO::prepare() compatibility
It is now possible to generate SQL suitable for PDO::prepare()
even if a query does not contain placeholders, see #15
Release 2.3.0 - Postgres 16 syntax supported
- SQL/JSON functions and expressions:
IS JSON
predicate, aggregate functionsjson_arrayagg()
andjson_objectagg()
, constructor functionsjson_array()
andjson_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 forXMLSERIALIZE()
expression.
Release 2.3.0 - first beta
Support for new syntax of PostgreSQL 16 (as of beta 3)
- SQL/JSON functions and expressions:
IS JSON
predicate, aggregate functionsjson_arrayagg()
andjson_objectagg()
, constructor functionsjson_array()
andjson_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 forXMLSERIALIZE()
expression.
Release 2.2.0 - Better integration with pg_wrapper
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.
Release 2.1.0 - Postgres 15 syntax supported
Added support for new/changed syntax of Postgres 15:
- Allow parsing and building
MERGE
statements. Backed byMerge
class andStatementFactory::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 aSyntaxException
.
Release 2.1.0 (beta 2) - with support for Postgres 15 syntax
Removed support for SQL/JSON syntax which had been removed in PostgreSQL 15 beta 4
Release 2.1.0 (beta) - with support for Postgres 15 syntax
Added support for new syntax of Postgres 15:
MERGE
statement- SQL/JSON functions
Release 2.0.1
Bugfix release - Parser accepts SELECT
queries with empty target lists (thanks to @rvanvelzen for PR #14).
Release 2.0.0 - Updated for Postgres 14 and PHP 8.1
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 forGROUP BY
.SEARCH
andCYCLE
clauses for Common Table Expressions.- Alias for
USING
clause ofJOIN
expression.
- It is now possible to use most of the keywords as column aliases without
- 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