PEAR is discontinued

This is a static archive preserving historical releases and metadata. No new packages or updates will be published. For updates to existing packages, or to publish new packages, please use Composer and Packagist.

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");
}