Changelog History
-
v2.7.1 Changes
October 03, 2016🚀 Hygiene release: update README.
-
v2.7.0 Changes
September 02, 2016- ⚡️ [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*()
beforefrom*()
. 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.
-
v2.6.0 Changes
November 09, 2015- ⚡️ (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.
- ⚡️ (DOC) Docblock and README updates; in particular, add an
-
v2.5.0 Changes
June 02, 2015- ⚡️ Docblock and README updates
- The Common\Select class, when binding values from a subselect, now checks for
instanceof SubselectInterface
instead ofself
; 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.
-
v2.4.2 Changes
March 27, 2015🚀 This release modifies the testing structure and updates other support files.
-
v2.4.1 Changes
March 26, 2015🚀 This release fixes Insert::addRows() so that adding only one row generates the correct SQL statement.
-
v2.4.0 Changes
March 22, 2015🚀 This release incorporates two feature additions and one fix.
- ADD: The Insert objects now support multiple-row inserts with the new
addRow()
andaddRows()
methods. - ADD: The MySQL Insert object now supports
ON DUPLICATE KEY UPDATE
functionality with the newonDuplicateKeyUpdate*()
methods. - FIX: The Select methods regarding paging now interact better with LIMIT and OFFSET; in particular,
setPaging()
now re-calculates the LIMIT and OFFSET values.
- ADD: The Insert objects now support multiple-row inserts with the new
-
v2.3.0 Changes
March 16, 2015🚀 This release has several new features.
- The various
join()
methods now have an extra$bind
param that allows you to bind values to ?-placeholders in the condition, just as withwhere()
andhaving()
. - 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. - 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.) - In
fromSubSelect()
andjoinSubSelect()
, 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.
- The various
-
v2.2.0 Changes
February 12, 2015To 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.
-
v2.1.0 Changes
August 24, 2014- ➕ 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.