[aur-dev] [PATCH] add subitter, first submitted and last modified to json output

kachelaqa kachelaqa at gmail.com
Tue May 10 18:06:36 EDT 2011


On 10/05/11 22:04, kachelaqa wrote:
> On 10/05/11 21:54, elij wrote:
>> Does this need to be a left join?
>> I could see the need for a left join on maintainer, due to a a package
>> not having a maintainer, but do we have any packages without a
>> submitter?
>>
>> If not, then an inner join would probably be faster, since it wouldn't
>> have to _basically_ do the inner join and THEN try to find any null
>> columns and add those too.
>
> okay - i will change that and re-submit the patch later.

here is the amended patch.

---
  web/lib/aurjson.class.php |   13 +++++++++----
  1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/web/lib/aurjson.class.php b/web/lib/aurjson.class.php
index 50cf6d0..1518edb 100644
--- a/web/lib/aurjson.class.php
+++ b/web/lib/aurjson.class.php
@@ -19,7 +19,7 @@ class AurJSON {
      );
      private static $fields = array(
          'Packages.ID', 'Name', 'Version', 'CategoryID',
-        'Description', 'URL', 'License',
+        'Description', 'URL', 'License', 'SubmittedTS', 'ModifiedTS',
          'NumVotes', '(OutOfDateTS IS NOT NULL) AS OutOfDate'
      );

@@ -85,9 +85,14 @@ class AurJSON {

      private function process_query($type, $where_condition) {
          $fields = implode(',', self::$fields);
-        $query = "SELECT Users.Username as Maintainer, {$fields} " .
-            "FROM Packages LEFT JOIN Users " .
-            "ON Packages.MaintainerUID = Users.ID " .
+        $query = "SELECT {$fields}, " .
+            "mUsers.Username AS Maintainer, " .
+            "sUsers.Username AS Submitter " .
+            "FROM Packages " .
+            "LEFT JOIN Users AS mUsers " .
+            "ON Packages.MaintainerUID = mUsers.ID " .
+            "INNER JOIN Users AS sUsers " .
+            "ON Packages.SubmitterUID = sUsers.ID " .
              "WHERE ${where_condition}";
          $result = db_query($query, $this->dbh);

-- 
1.7.5.1



More information about the aur-dev mailing list