Query builder for Postgres backed by SQL parser
BSD-2-CLAUSE License
Published by sad-spirit 5 months ago
NativeStatement::prepare()
and executePrepared()
use the API introduced in pg_wrapper 2.4.0pg_wrapper
2.4.0: ResultSet
-> Result
, Connection::getResource()
->Connection::getNative()
.Published by sad-spirit 11 months ago
It is now possible to generate SQL suitable for PDO::prepare()
even if a query does not contain placeholders, see #15
Published by sad-spirit about 1 year ago
IS JSON
predicate, aggregate functions json_arrayagg()
and json_objectagg()
, constructor functions json_array()
and json_object()
.FROM
are now optional.SYSTEM_USER
server variable.[NO] INDENT
option for XMLSERIALIZE()
expression.Published by sad-spirit about 1 year ago
Support for new syntax of PostgreSQL 16 (as of beta 3)
IS JSON
predicate, aggregate functions json_arrayagg()
and json_objectagg()
, constructor functions json_array()
and json_object()
.FROM
are now optional.SYSTEM_USER
server variable.[NO] INDENT
option for XMLSERIALIZE()
expression.Published by sad-spirit over 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.
Published by sad-spirit almost 2 years ago
Added support for new/changed syntax of Postgres 15:
MERGE
statements. Backed by Merge
class and StatementFactory::merge()
helper method.SELECT 123abc
was parsed asSELECT 123 AS abc
, now it will throw a SyntaxException
.Published by sad-spirit about 2 years ago
Removed support for SQL/JSON syntax which had been removed in PostgreSQL 15 beta 4
Published by sad-spirit about 2 years ago
Added support for new syntax of Postgres 15:
MERGE
statementPublished by sad-spirit over 2 years ago
Bugfix release - Parser accepts SELECT
queries with empty target lists (thanks to @rvanvelzen for PR #14).
Published by sad-spirit almost 3 years ago
New features
AS
.DISTINCT
clause for GROUP BY
.SEARCH
and CYCLE
clauses for Common Table Expressions.USING
clause of JOIN
expression.Major version is changed due to BC breaks mirroring those of Postgres 14:
Published by sad-spirit almost 3 years ago
Updated for Postgres 14 and PHP 8.1
IS [NOT] OF
clauses that were removed in Postgres 14E_DEPRECATED
errorsPublished by sad-spirit about 3 years ago
Bugfix release, space before NOT
was missing when generating SQL for NOT BETWEEN
expressions.
Published by sad-spirit over 3 years ago
Bugfix release, recursive
property of WithClause
was not properly set when passing SQL strings to its merge()
and replace()
methods.
Published by sad-spirit over 3 years ago
Focus of this major release is API refinement, performance improvements and removal of deprecated functionality.
strict_types
) and Postgres 9.5 at least. Tested and supported on PHP 8.Consult changelog for the full list of changes and upgrade instructions for the means to automate the upgrade.
Support for postfix operators and undocumented IS [NOT] OF
construct is deprecated. Those will be removed in Postgres 14 and in the future release of pg_builder supporting Postgres 14 syntax.