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.