Skip to content
This repository has been archived by the owner on Jan 4, 2020. It is now read-only.

Release Notes

Justin Stayton edited this page Mar 29, 2014 · 22 revisions

Miner adheres to Semantic Versioning.

0.10.0

March 29, 2014

  • set now accepts an array of columns => values.
  • Added values method as an alias for setting an array of columns => values.

Thanks to Daniel Fort for the pull request!

0.9.4

December 7, 2013

  • Duplicate JOINs are now prevented by checking that the table + alias is unique. (Thanks to Juan Cobacho for the pull request!)

0.9.3

November 18, 2013

  • Composer now autoloads Miner.

0.9.2

September 29, 2013

  • quote now returns NULL for null values instead of an empty string. (Thanks to detook for the pull request!)

0.9.1

October 4, 2012

  • Fixed a bug where getPlaceholderValues didn't return a proper array if no SET placeholders were set. (Thanks to fuutott for the pull request!)

0.9.0

September 17, 2012

QueryBuilder has been renamed Miner! As the project has progressed beyond SELECT queries, the name QueryBuilder was no longer quite accurate, nor very fun or original.

The version number has also been reset to 0.9.0 to reflect where I consider the project to be in its roadmap. Why not 1.0.0? There are a number of important questions I'd like to answer and quickly iterate on that may require backward-incompatible changes, such as whether to generically support the SQL standard or specific implementations of SQL (like MySQL, PostgreSQL, SQLite). In terms of Semantic Versioning, I'd like to answer those questions before 1.0.0 and the requirement to increment the major version number with such drastic changes. Be assured, however, that the current code is very much production ready.

To upgrade:

  • Replace QueryBuilder class/file name references with Miner.
  • Replace calls to the query method with execute.
  • Replace calls to the getQueryString method with getStatement.

4.1.1

September 15, 2012

  • groupBy no longer requires an order direction for improved compatibility with PostgreSQL.

4.1.0

September 2, 2012

  • Added the ability to enable/disable automatic escaping of query values per-instance, as well as more granular per-value control. Enabled by default (for backwards compatibility), auto-escaping can be enabled/disabled by calling the new method setAutoQuote, or by passing a boolean as the second parameter when initializing (new QueryBuilder($PdoConnection, false)). For more granular control, all methods that accept values (like where, having, and set) include an optional $quote parameter to override the default for that value.

4.0.1

July 26, 2012

  • getLimitString now uses OFFSET instead of a comma for PostgreSQL compatibility.
  • Added ILIKE comparison operator constant, also for PostgreSQL.

Thanks to phishncode for requesting and providing code for both.

4.0.0

June 27, 2012

  • Added support for INSERT queries. New methods: insert, mergeInsertInto, getInsert, getInsertString, set, mergeSetInto, getSetString, getSetPlaceholderValues.
  • Added support for REPLACE queries. New methods: replace, mergeReplaceInto, getReplace, getReplaceString, set, mergeSetInto, getSetString, getSetPlaceholderValues.
  • Added support for UPDATE queries. New methods: update, mergeUpdateInto, getUpdate, getUpdateString, set, mergeSetInto, getSetString, getSetPlaceholderValues.
  • Added support for DELETE queries. New methods: delete, mergeDeleteInto, getDeleteString.
  • Added isSelect, isInsert, isReplace, isUpdate, and isDelete methods for determining the type of query.
  • Added mergeOptionsInto and getOptionsString methods.
  • Added mergeFromInto method for merging the FROM table into another QueryBuilder.
  • Added mergeLimitInto method for merging the LIMIT into another QueryBuilder.
  • getLimitString no longer includes the offset if it's set to 0.
  • Fixed a bug where mergeInto failed to merge the FROM table for SELECT queries.

3.0.0

November 16, 2011

  • First public release with documentation and "Getting Started" guide!
Clone this wiki locally