[aur-dev] [PATCH 1/2] Optimize database request in the add_package_comment function

Mario Mueller mario at xenji.com
Sat Jul 28 02:53:00 EDT 2012


The shortened table names are my fault ;) From my point of view this
makes the join syntax more readable. But this is only a matter of
taste.

Sent from my iPhone

On 28.07.2012, at 01:11, "canyonknight at gmail.com"
<canyonknight at gmail.com> wrote:

> On Fri, Jul 27, 2012 at 6:02 PM, Nicolas Cornu <nicolac76 at yahoo.fr> wrote:
>> ---
>> web/lib/pkgfuncs.inc.php | 11 +++++------
>> 1 file changed, 5 insertions(+), 6 deletions(-)
>>
>> diff --git a/web/lib/pkgfuncs.inc.php b/web/lib/pkgfuncs.inc.php
>> index 0610617..969da11 100644
>> --- a/web/lib/pkgfuncs.inc.php
>> +++ b/web/lib/pkgfuncs.inc.php
>> @@ -215,11 +215,10 @@ function add_package_comment($pkgid, $uid, $comment, $dbh=NULL) {
>>        db_query($q, $dbh);
>>
>>        # Send email notifications
>> -       $q = 'SELECT CommentNotify.*, Users.Email ';
>> -       $q.= 'FROM CommentNotify, Users ';
>> -       $q.= 'WHERE Users.ID = CommentNotify.UserID ';
>> -       $q.= 'AND CommentNotify.UserID != ' . $uid . ' ';
>> -       $q.= 'AND CommentNotify.PkgID = ' . intval($pkgid);
>> +       $q = 'SELECT u.Email FROM Users u ';
>
> Is there any reason for this to shorten Users to u? Personally I find
> it easier to parse something like 'SELECT Users.Email FROM Users'
> compared to yours. This also isn't really done anywhere else in the
> codebase.
>
>> +       $q.= 'INNER JOIN CommentNotify cn ON u.ID=cn.UserID';
>> +       $q.= 'AND cn.UserID != ' . $uid . ' ';
>> +       $q.= 'AND cn.PkgID = ' . intval($pkgid);
>>        $result = db_query($q, $dbh);
>>        $bcc = array();
>>
>> @@ -228,7 +227,7 @@ function add_package_comment($pkgid, $uid, $comment, $dbh=NULL) {
>>                        array_push($bcc, $row['Email']);
>>                }
>>
>> -               $q = 'SELECT Packages.* ';
>> +               $q = 'SELECT Packages.Name ';
>>                $q.= 'FROM Packages ';
>>                $q.= 'WHERE Packages.ID = ' . intval($pkgid);
>>                $result = db_query($q, $dbh);
>> --
>> 1.7.11.3
>
> I do like you replacing SELECT * with what specific columns are being
> selected. I also like the explicit join syntax.


More information about the aur-dev mailing list