database

💾 A database layer with a familiar PDO-like API but much more powerful. Building queries, advanced joins, drivers for MySQL, PostgreSQL, SQLite, MS SQL Server and Oracle.

OTHER License

Downloads
4.7M
Stars
482
Committers
76

Bot releases are hidden (Show)

database - Released version 3.0.2

Published by dg over 5 years ago

  • ResultSet: added workaround for PDO bug #38546 (#231)
  • SqlPreprocessor: generates IS NOT NULL (#226)
  • Revert "Table: moved caching related functionality to separate classes (#185)"
  • Structure::getBelongsToReference() return value fix
  • Selection: typefix for referencing table primary key
  • ResultSet: only format strings as floats (#228)
  • SqlBuilder: Fixed loading arguments for left join conditions (#224)
  • Use phpstan callable format (#220)

For the details you can have a look at the diff.

database - Released version 3.0.1

Published by dg over 5 years ago

  • DatabaseExtension: uses configuration Schema
  • Revert "DatabaseExtension: better detection of single/multiple definitions" #219
  • ConnectionPanel: fixed bad source file nette/tracy#346

For the details you can have a look at the diff.

database - Released version 3.0.0 🎉

Published by dg over 5 years ago

Features

  • requires PHP 7.1
  • uses declare(strict_types=1)
  • uses PHP 7.1 scalar and return type hints
  • Helpers::loadFromFile added $onProgress
  • SqlBuilder::tryDelimite() ignores casting ::int
  • MsSql support for tables, columns, indexes, foreign keys (#215)
  • Selection: fixed insert spoiling PDO:lastInsertId (#217)
  • SqlBuilder: fixed compatiblity with PCRE2 used in PHP 7.3 [Closes #210]

Changes

  • SqlPreprocessor: scalar are always passed via bindValue() (BC break)
  • ResultSet: changed empty result return type of fetch() and fetchField() methods from FALSE to NULL [BC Break]
  • removed unused ISupplementalDriver::normalizeRow() (BC break)
  • removed unused ISupplementalDriver::formatBool()
  • ISupplementalDriver: uncommented formatDateInterval() & getPrimaryAutoincrementKey()
  • added ISupplementalDriver::initialize(), is used instead of constructor (BC break!)
  • IRowContainer: Added method fetchField() (BC break)
  • remove old sqlite2 driver (#155)
  • removed meta info unsigned, onDelete, onUpdate
  • Table: moved caching related functionality to separate classes (#185)
database - Released version 2.4.8

Published by dg almost 6 years ago

  • SqlBuilder: fixed compatiblity with PCRE2 used in PHP 7.3 #208 #210
  • PgSqlDriver: uses cache for getColumnTypes() to avoid excessive number of queries #212
  • SqlPreprocessor: enables database parameters only for SELECT, INSERT, UPDATE, DELETE, REPLACE and EXPLAIN #211
  • Connection::quote() throws exception on error (related to #202)

For the details you can have a look at the diff.

database - Released version 2.4.7

Published by dg about 6 years ago

  • Selection: Fixed accidental deletion of referenced cached rows when emptyResultSet is called (#187)(#207)
  • SqlBuilder: added method resetSelect (#146)
  • Fixed Helpers::dumpResult with non-string values (#204)
  • Connection, Context: added fetchFields()
  • SqlPreprocessor: strings are always passed via bindValue() (possible BC break)
  • SqlPreprocessor: PDO::quote() returns false for ODBC driver #202
  • OdbcDriver: doesn't support meta
  • MySqlDriver: Fix PDO::ATTR_CASE (#199)
  • added Connection::getLastQueryString()
  • appveyor: is unable to start MSSQL 2008, 2012 & 2014 together

For the details you can have a look at the diff.

database - Released version 2.4.6

Published by dg over 6 years ago

  • Helpers::detectTypes() added support for TIMESTAMP WITH TIME ZONE in PostgreSQL #163 (#198)
  • ResultSet: reads fraction of seconds to DateInterval (#197)
  • ActiveRow: __isset checks the existence of the relation (#196)
  • ConnectionPanel: compatibility with Tracy 2.5

For the details you can have a look at the diff.

database - Released version 2.4.5

Published by dg over 6 years ago

  • fixed PHP 7.2 compatibility (#190)
  • SqlBuilder: UPDATE supports ORDER BY (#179)
  • NDBT return types changed from IRow to ActiveRow

For the details you can have a look at the diff.

database - Released version 2.4.4

Published by dg about 7 years ago

  • supports PHP up to 7.2
  • SqlPreprocessor: workaround for PDO bug #74996 when looking for ? in prepared query #177
  • composer: requires nette/utils 2.4 for PHP 7.2

For the details you can have a look at the diff.

database - Released version 2.4.3

Published by dg over 7 years ago

  • fetchPairs() supports floats in keys
  • coding style: fixes, lowercase true/false/null
  • SqliteDriver::getColumns() fix regexp for autoincrement recognition (#168)
  • DatabaseExtension: added support for constants in options values
  • OciDriver: do not use meta, driver is not meta-aware

For the details you can have a look at the diff.

database - Released version 2.3.11

Published by dg over 7 years ago

  • MySqlDriver: formatLike() uses quote()
  • tests: fixed compatibility with PHP 7.1
  • @return self -> static

For the details you can have a look at the diff.

database - Released version 2.4.2

Published by dg over 7 years ago

  • Insert to table with multi primary or without autoincrement primary (#105)(#41)(#80)(#102)
  • Connection::getInsertId() is normalized to string
  • fixed phpDoc
  • DatabaseExtension: fixed compatibility with nette/di
  • SqlBuilder: lose parameters for aliasses (#150)
  • MySqlDriver: formatLike() uses quote()

For the details you can have a look at the diff.

database - Released version 2.4.1

Published by dg about 8 years ago

  • SqlPreprocessor: escapes primary value of IRow #144
  • Selection: missing primary key can be FALSE, '0' or '' #145
  • ConnectionPanel: preserves whitespaces in explain panel #134
  • Sqlite: fixed datetime column type
  • SqlBuilder: added support for limit in update and delete queries (#140)
  • tests: fixed compatibility with PHP 7.1

For the details you can have a look at the diff.

database - Released version 2.3.10

Published by dg about 8 years ago

  • SqlPreprocessor: escapes primary value of IRow #144
  • Selection: missing primary key can be FALSE, '0' or '' #145

For the details you can have a look at the diff.

database - Released version 2.4.0

Published by dg over 8 years ago

  • requires PHP 5.6
  • NDBT: Added alias support #119
  • NDBT: added new method whereOr (#111)
  • NDBT: Added ability to specify left join conditions
  • NDBT: performance, prevents multiple parse of query parts by regexp (#131)
  • NDBT: queries with limit/offset are automatically ordered by primary key
  • NDBT: page() for $page < 1 returns no rows
  • drivers: applyLimit throws exception for negative values (BC break)
  • Improved checking of unique table name
  • Helpers::detectType() uses more strict type patterns
  • SqlPreprocessor: detects modes inside SQL string, before ?
  • Selection: fixed columns cache in repeated use of same selection
  • SqlBuilder: The same conditions with different parameter is not skipped #109, #14
  • PgSqlDriver::getTables() returns materialized views (#136)
  • SqlsrvDriver::formatDateTime(): format datetime by ISO 8601
  • Connection: fifth argument is deprecated
  • uses Nette\SmartObject & StaticClass

For the details you can have a look at the diff.

database - Released version 2.3.9

Published by dg over 8 years ago

  • Helpers::detectType() detects DATERANGE as text
  • Structure::analyzeForeignKeys() fixed lowercased name #122

For the details you can have a look at the diff.

database - Released version 2.3.8

Published by dg almost 9 years ago

  • Selection::insert() fixed delimiting of FQN sequence name like 'aaa.bbb' #108
  • ActiveRow: optimization
  • tested on AppVeyor
  • __toString handles Throwable errors

For the details you can have a look at the diff.

database - Released version 2.3.7

Published by dg about 9 years ago

  • Selection: Fixed infinite loop when accessing to deleted row
  • SqlsrvDriver: support for limit and offset on SQL Server 2012
  • drivers: fixed applyLimit for $limit = 0
  • drivers: applyLimit() throws exception for negative values (but not when you use page())

For the details you can have a look at the diff.

database - Released version 2.3.6

Published by dg about 9 years ago

  • Row, ActiveRow: shows suggestions for undeclared columns
  • Selection: fixed bug with zero in primary key
  • Selection: referenced cache cleared only for root selection (not in GroupedSelection)
  • SqlsrvDriver::applyLimit(): supports keywords DISTINCT and ALL after SELECT
  • SqlBuilder: removed "AS" keyword in JOINs
  • Structure: added columns analyze for views

For the details you can have a look at the diff.

database - Released version 2.3.5

Published by dg about 9 years ago

  • Selection: emptyResultSet invalidates referenced cache
  • Selection: added fetchField()
  • Structure: added rebuild when table not exists in cache - #79
  • Structure: throws proper exception when table doesn't exists - #79

For the details you can have a look at the diff.

database - Released version 2.3.4

Published by dg about 9 years ago

  • Helpers::loadFromFile() uses native exec() without logging and creating result set
  • Selection: fixed exception namespace
  • travis: migrating to container-based infrastructure
  • improved coding style

For the details you can have a look at the diff.

Package Rankings
Top 0.54% on Packagist.org
Badges
Extracted from project README
Nette Database Downloads this Month Tests Latest Stable Version License Buy me a coffee