PEAR is archived and read-only

This mirror preserves historical PEAR package releases and metadata so existing references remain available.

Home » Database » DB_DataObject » Bug #4384

delete(DB_DATAOBJECT_WHEREADD_ONLY) also takes "Order by" as part of delete que

Details

Submitted2005-05-18 22:26 UTC
Fromesad at 25novembar dot com
StatusNo Feedback
PackageDB_DataObject
PHP VersionIrrelevant
OSirrelevant
Roadmaps(Not assigned)

Comments

[2005-05-18 22:26 UTC] esad at 25novembar dot com

Description:
------------
When calling delete(DB_DATAOBJECT_WHEREADD_ONLY), sql delete statement created by DBO contains previous orderBy()'s, which makes the sql delete statement invalid, i.e.:

DELETE FROM LogEntry WHERE DATE_FORMAT(Timestamp,'%Y-%m-%d')='2005-05-19' ORDER BY Day DESC

This behaviour may be useful for delete() without WHERADD_ONLY (see Bug #1726)but in this case it leads to invalid statement (Day in this case is a virtual column)

[2005-05-19 07:59 UTC] esad at 25novembar dot com

The problem is when the orderBy() is called in DataObject constructor, as well as some addSelect() to create some "virtual" fields, i.e.

function DataObject_News()
{
$this->selectAdd("DATE_FORMAT(Published,'%d.%m.%y %H:%m:%s') AS Published");
}