PackageTrack
Sign in Get early access

aura/sqlquery

Object-oriented query builders for MySQL, Postgres, SQLite, and SQLServer; can be used with any database connection library.

3.0.0 3.2M downloads/mo #3128 most downloaded on Packagist auraphp/Aura.SqlQuery

What this package is like to depend on

Last release 3 years ago

no release in 18 months

Ships unpredictably

gaps range from 9 days to 5.6 years

Nearly every release is documented

notes for 14 of 14 stable releases

Nothing withdrawn

no release was ever pulled

13 years old

16 releases · first in 2014

0 releases in the last 12 months

see the full history below

Release timeline

16 releases · Jan 2014 to Apr 2023
2015 2017 2019 2021 2023 2025
Release Pre-release

Releases

latest 16
  1. 3.0.0 25 Apr 2023
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 2.7.1...3.0.0

    Open source →
    Release notes

    3.0.0 Latest

    Latest

    Compare

    Choose a tag to compare

    Open source →
  2. 3.0.0-alpha.1 11 May 2022 pre-release
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 2.7.1...3.0.0-alpha1

    Open source →
    Release notes

    3.0.0-alpha.1 Pre-release

    Pre-release

    Compare

    Choose a tag to compare

    Open source →
  3. 2.8.1 25 Apr 2023
    Release notes

    What's Changed

    Full Changelog: 2.8.0...2.8.1

    Open source →
    Release notes

    2.8.1

    Compare

    Choose a tag to compare

    Open source →
  4. 2.8.0 21 May 2022
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 2.7.1...2.8.0

    Open source →
    Release notes

    2.8.0

    Compare

    Choose a tag to compare

    Open source →
  5. 2.7.1 03 Oct 2016
    Release notes

    Hygiene release: update README.

    Open source →
    Release notes

    Hygiene release: update README.

    Open source →
    Release notes

    2.7.1

    Compare

    Choose a tag to compare

    Open source →
  6. 2.7.0 02 Sep 2016
    Release notes
    • [DOC] Numerous docblock and README updates.
    • [ADD] Add various Select::reset*() methods. Fixes #84, #95, #94, #91.
    • [FIX] On SELECT, allow OFFSET even when LIMIT not specified. Fixes #88.
    • [FIX] On SELECT, allow join*() before from*(). Joins-before-from are added
      to the first from. If no from is ever added, the joins will never be built
      into the statement. Fixes #69, #90.
    • [BRK] Bumped the minimum version to PHP 5.3.9 (vs 5.3.0). Fixes #74. This is
      to address a language-level bug in PHP. Technically I think this is a BC
      break, but I hope it is understandable, given that PHP 5.3.x is end-of-life,
      and that Aura.SqlQuery itself simply will not operate on versions earlier
      than that. Updated README to reflect the version requirement.
    Open source →
    Release notes
    • [DOC] Numerous docblock and README updates.

    • [ADD] Add various Select::reset*() methods. Fixes #84, #95, #94, #91.

    • [FIX] On SELECT, allow OFFSET even when LIMIT not specified. Fixes #88.

    • [FIX] On SELECT, allow join*() before from*(). Joins-before-from are added to the first from. If no from is ever added, the joins will never be built into the statement. Fixes #69, #90.

    • [BRK] Bumped the minimum version to PHP 5.3.9 (vs 5.3.0). Fixes #74. This is to address a language-level bug in PHP. Technically I think this is a BC break, but I hope it is understandable, given that PHP 5.3.x is end-of-life, and that Aura.SqlQuery itself simply will not operate on versions earlier than that. Updated README to reflect the version requirement.

    Open source →
    Release notes

    2.7.0

    Compare

    Choose a tag to compare

    Open source →
  7. 2.6.0 09 Nov 2015
    Release notes
    • (DOC) Docblock and README updates; in particular, add an @method getStatement() to the QueryInterface for IDE auto-completion.
    • (ADD) Select::hasCols() reports if there are any columsn in the Select.
    • (ADD) Select::getCols() gets the existing columns in the Select.
    • (ADD) Select::removeCol() removes a previously-added column.
    • (FIX) Select::reset() now properly resets the table refs for a UNION.
    • (FIX) Select::forUpdate() is now fluent.
    Open source →
    Release notes
    • (DOC) Docblock and README updates; in particular, add an @method getStatement() to the QueryInterface for IDE auto-completion.

    • (ADD) Select::hasCols() reports if there are any columsn in the Select.

    • (ADD) Select::getCols() gets the existing columns in the Select.

    • (ADD) Select::removeCol() removes a previously-added column.

    • (FIX) Select::reset() now properly resets the table refs for a UNION.

    • (FIX) Select::forUpdate() is now fluent.

    Open source →
    Release notes

    2.6.0

    Compare

    Choose a tag to compare

    Open source →
  8. 2.5.0 02 Jun 2015
    Release notes
    • Docblock and README updates
    • The Common\Select class, when binding values from a subselect, now checks for
      instanceof SubselectInterface instead of self; the Select class now
      implements SubselectInterface, so this should not be a BC break.
    • Subselects bound as where/having/etc conditions should now retain ?-bound
      params.
    Open source →
    Release notes
    • Docblock and README updates

    • The Common\Select class, when binding values from a subselect, now checks for instanceof SubselectInterface instead of self; the Select class now implements SubselectInterface, so this should not be a BC break.

    • Subselects bound as where/having/etc conditions should now retain ?-bound params.

    Open source →
    Release notes

    2.5.0

    Compare

    Choose a tag to compare

    Open source →
  9. 2.4.2 27 Mar 2015
    Release notes

    This release modifies the testing structure and updates other support files.

    Open source →
    Release notes

    This release modifies the testing structure and updates other support files.

    Open source →
    Release notes

    2.4.2

    Compare

    Choose a tag to compare

    Open source →
  10. 2.4.1 26 Mar 2015
    Release notes

    This release fixes Insert::addRows() so that adding only one row generates the correct SQL statement.

    Open source →
    Release notes

    This release fixes Insert::addRows() so that adding only one row generates the correct SQL statement.

    Open source →
    Release notes

    2.4.1

    Compare

    Choose a tag to compare

    Open source →
  11. 2.4.0 22 Mar 2015
    Release notes

    This release incorporates two feature additions and one fix.

    • ADD: The Insert objects now support multiple-row inserts with the new addRow() and addRows() methods.

    • ADD: The MySQL Insert object now supports ON DUPLICATE KEY UPDATE functionality with the new onDuplicateKeyUpdate*() methods.

    • FIX: The Select methods regarding paging now interact better with LIMIT and OFFSET; in particular, both setPaging() now re-calculates the LIMIT and OFFSET values.

    Open source →
  12. 2.3.0 16 Mar 2015
    Release notes

    This release has several new features.

    1. The various join() methods now have an extra $bind param that allows you to bind values to ?-placeholders in the condition, just as with where() and having().

    2. The Select class now tracks table references internally, and will throw an exception if you try to use the same table name or alias more than once.

    3. The method getStatement() has been added to all queries, to allow you to get the text of the statement being built. Among other things, this is to avoid exception-related blowups related to PHP's string casting.

    4. When binding a value to a sequential placeholder in where(), having(), etc, the Select class now examind the value to see if it is a query object. If so, it converts the object to a string and replaces the ?-placeholder inline with the string instead of attempting to bind it proper. It also binds the existing sequential placholder values into the current Select in a non-conflicting fashion. (Previously, no binding from the sub-select took place at all.)

    5. In fromSubSelect() and joinSubSelect(), the Select class now binds the sub-select object sequential values to the current Select in a non-conflicting fashion. (Previously, no binding from the sub-select took place at all.)

    The change log follows:

    • REF: Extract rebuilding of condition and binding sequential values.

    • FIX: Allow binding of values as part of join() methods. Fixes #27.

    • NEW: Method Select::addTableRef(), to track table references and prevent double-use of aliases. Fixes #38.

    • REF: Extract statement-building to AbstractQuery::getStatement() method. Fixes #30.

    • FIX: #47, if value for sequential placeholder is a Query, place it as a string inline

    • ADD: Sequential-placeholder prefixing

    • ADD: bind values from sub-selects, and modify indenting

    • ADD: QueryFactory now sets the sequntial bind prefix

    • FIX: Fix line endings in queries to be sure tests will pass on windows and mac. Merge pull request #53 from ksimka/fix-tests-remove-line-endings: Fixed tests for windows.

    • Merge pull request #50 from auraphp/bindonjoin: Allow binding of values as part of join() methods.

    • Merge pull request #51 from auraphp/aliastracking: Add table-reference tracking to disallow duplicate references.

    • Merge pull request #52 from auraphp/bindsubselect. Bind Values From Sub-Selects.

    • DOC: Update documentation and support files.

    Open source →
  13. 2.2.0 12 Feb 2015
    Release notes

    To avoid mixing numbered and names placeholders, we now convert numbered ? placeholders in where() and having() to :# named placeholders. This is because PDO is really touchy about sequence numbers on ? placeholders. If we have bound values [:foo, :bar, ?, :baz], the ? placeholder is not number 1, it is number 3. As it is nigh impossible to keep track of the numbering when done out-of-order, we now do a braindead check on the where/having condition string to see if it has ? placholders, and replace them with named :# placeholders, where # is the current count of the $bind_values array.

    Open source →
  14. 2.1.0 24 Aug 2014
    Release notes
    • ADD: Select::fromRaw() to allow raw FROM clause strings.

    • CHG: In Select, quote the columns at build time, not add time.

    • CHG: In Select, retain columns keyed on their aliases (when given).

    • DOC: Updates to README and docblocks.

    Open source →
  15. 2.0.0 09 Jun 2014
    Release notes

    Initial 2.0 stable release.

    • The package has been renamed from Sql_Query to SqlQuery, in line with the new Aura naming standards.

    • Now compatible with PHP 5.3!

    • Refactored traits into interfaces (thanks @mindplay-dk).

    • Refactored the internal build process (thanks again @mindplay-dk).

    • Added Select::leftJoin()/innerJoin() methods (thanks @stanlemon).

    • Methods bindValue() and bindValues() are now fluent (thanks @karikt).

    • Select now throws an exception when there are no columns selected.

    • In joins, the condition type (ON or USING) may now be part of the condition.

    • Extracted new class, Quoter, for quoting identifer names.

    • Extracted new class, AbstractDmlQuery, for Insert/Update/Delete queries.

    • Select::cols() now accepts colname => alias pairs mixed in with sequential colname values.

    • Added functionality to map last-insert-id names to alternative sequence names, esp. for Postgres and inherited/extended tables. Cf. QueryFactory::setLastInsertIdNames() and Insert::setLastInsertIdNames().

    Open source →
  16. 2.0.0-beta1 07 Jan 2014 pre-release
    Release notes

    Initial 2.0 beta release.

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive