- [bugfix] invaliding spacing while using Fragments in JOIN ON statements by @iamsaint
- [bugfix] disable parameter registration when value is Fragment by @thenotsoft
- added the ability to pass parameters into fragments
- added the ability to use fragments and expressions as part of select query columns
- added the ability to fetch data as StdClass by @guilhermeaiolfi
- added the ability to modify the database logger context by @Alexsisukin
- added distinctOn method to Postgres Select Query
- fixes bug with invalid transaction level when transaction can't be started
- set isolation level after beginning the transaction for Postgres
- handle Docker specific connection exceptions (broken pipe)
- fixed bug with invalid compilation of multi-group-by statements by @yiiliveext
- improved legacy config resolution (invalid
options
parsing)
- default
json
type for Postgres fallbacks to text to unify with other drivers
- Add PostgreSQL
timestamptz
mapping fortimestamp with time zone
by @rauanmayemir
- catch postgres EOF exceptions on amazon as connection exception
- added the ability to pass parameters into Expression in operators and values
- added the ability to pass parameters into Expression
- minor refactor in PostgresInsertQuery
- added the support to force the returning key in Postgres insert queries
- [bugfix] fixed invalid index introspection on legacy SQLite drivers
- [bugfix] fixed
syncTable
behavious for SQLite tables with sorted indexes @rauanmayemir
- added the ability to specify index direction by @rauanmayemir
- [bugfix] invalid size detection for int, bigint, tinyint columns under latest MySQL 8.0+
- added AbstractColumn::getSize() typecasting
- added the ability to serialize and de-serialize fragments and expressions
- added sql compiler caching, up to 5x times faster query generation
- added prepared statement caching
- refactor of SchemaHandler
- refactor of Query builders
- added ComparatorInterface
- deprecated MySQL 5.5 support
- [bugfix] invalid change detection for nullable and zeroed default values
- do not allow default values for text and blob columns of MySQL
- added support for Postgres 12 updated constrain schemas
- [bufgix] proper abstract type detection for primary UUID columns for SQLite driver
- [bufgix] proper exception type for syntax errors in MariaDB (previously was ConnectionException)
- allow drivers to handle low level error exceptions
- qualify "Connection reset by peer" as connection exception
- fixed interpolation of named parameters
- added support for SELECT FOR UPDATE statements
- disabled int typecasting for aggregate selections
- minor inspection driven improvements
- improved connection exception handling for Postgres
- added native support for UUID type
- force the database disconned in case of connection error
- minimum PHP version is set as 7.2
- added internal method to get declared column type
- added support for
jsonb
in Postgres driver
- statement cache is turned off by default
- cacheStatement flag can be passed from Database
- Drivers now able to reuse prepared statements inside the transaction scope
- minor performance improvemenet on larger transactions
- improved SQLite multi-insert query fallback
- all query builders can be used without driver as standalone objects
- memory and performance optimizations for query builders
- simplified parameter flattening logic, parameters are now assembled via compiler
- IS NULL and IS NOT NULL normalized across all database drivers
- CS: @invisible renamed to @internal
- added support for composite FKs
- handle MySQL server has gone away messages when PDO exception code is invalid
- the Statement class has been decoupled from PDO
- proper table alias resolution when the joined table name is similar to the alias of another table
- PSR-12
- added incomplete sort for Reflector
- added DatabaseProviderInterface
- extended syntax for IS NULL and NOT NULL for SQLite
- drivers can now automatically reconnect in case of connection interruption
- phpType method renamed to getType
- getType renamed to getInternalType
- simpler pagination logic
- simplified pagination interfaces
- simplified logger interfaces
- less dependencies
- massive refactor
- decoupling from Spiral\Component
- no more additional dependencies on ContainerInterface
- support for read/write database connections
- more flexible configuration
- less dependencies between classes
- interfaces have been exposed for table, column, index and foreignKeys
- new interface for driver, database, table, compiler and handler
- immutable quoter
- more tests
- custom exceptions for connection and constrain exceptions
- MySQL driver can reconnect now
- Improved handling of renamed indexes associated with renamed columns
- Pagination split into separate package
- DBAL, Pagination and Migration component split from component repository