[packages/dokuwiki-plugin-data] Re-order LEFT JOIN pages before LEFT JOIN rpm

glen glen at pld-linux.org
Tue Apr 25 14:29:28 CEST 2023


commit dc560557dd9f4d5bbbe60367b99c72b1145ef0e7
Author: Elan Ruusamäe <glen at pld-linux.org>
Date:   Tue Apr 25 15:28:50 2023 +0300

    Re-order LEFT JOIN pages before LEFT JOIN rpm

 dokuwiki-plugin-data.spec |  2 +-
 separate-rpmdb.patch      | 26 ++++++++++++++++++++++++--
 2 files changed, 25 insertions(+), 3 deletions(-)
---
diff --git a/dokuwiki-plugin-data.spec b/dokuwiki-plugin-data.spec
index d40b335..7c29b4c 100644
--- a/dokuwiki-plugin-data.spec
+++ b/dokuwiki-plugin-data.spec
@@ -5,7 +5,7 @@
 Summary:	DokuWiki Structured Data Plugin
 Name:		dokuwiki-plugin-%{plugin}
 Version:	%{ver}
-Release:	1
+Release:	2
 License:	GPL v2
 Group:		Applications/WWW
 Source0:	https://github.com/splitbrain/dokuwiki-plugin-%{plugin}/archive/%{subver}/%{plugin}-%{subver}.tar.gz
diff --git a/separate-rpmdb.patch b/separate-rpmdb.patch
index d16d484..7a4e71e 100644
--- a/separate-rpmdb.patch
+++ b/separate-rpmdb.patch
@@ -30,8 +30,8 @@ time...
  $lang['lastmod']   = 'Last Modified';
  
  $lang['name']      = 'Type Alias';
---- dokuwiki-plugin-data-20160311/syntax/table.php~	2016-07-01 14:27:21.000000000 +0300
-+++ dokuwiki-plugin-data-20160311/syntax/table.php	2016-11-22 23:08:01.967907897 +0200
+--- dokuwiki-plugin-data-20160311/syntax/table.php	2016-11-22 23:08:01.967907897 +0200
++++ dokuwiki-plugin-data-20220727/syntax/table.php	2023-04-25 15:27:50.645943694 +0300
 @@ -584,6 +584,13 @@
                  $select[] = 'pages.lastmod';
              } elseif($key == '%title%') {
@@ -46,3 +46,25 @@ time...
              } else {
                  if(!isset($tables[$key])) {
                      $tables[$key] = 'T' . (++$cnt);
+@@ -686,6 +693,21 @@
+                 GROUP BY W1.pid
+                 $order";
+ 
++        // Re-order LEFT JOIN pages before LEFT JOIN rpm
++        $sql = preg_replace_callback('/
++            (?P<before>.+)
++            (?P<rpmdb>LEFT\sJOIN\srpmdb\sAS\sT\d+\sON\sT\d+.pid\s=\spages.pid\s+)
++            (?P<pages>LEFT\sJOIN\spages\sON\sW\d+\.pid\s*=pages\.pid\s+)
++            (?P<after>.+)
++        /xm', function ($m) {
++            return implode("", [
++                $m['before'],
++                $m['pages'],
++                $m['rpmdb'],
++                $m['after'],
++            ]);
++        }, $sql);
++
+         // offset and limit
+         if($data['limit']) {
+             $sql .= ' LIMIT ' . ($data['limit'] + 1);
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/dokuwiki-plugin-data.git/commitdiff/dc560557dd9f4d5bbbe60367b99c72b1145ef0e7



More information about the pld-cvs-commit mailing list