saimod text pg "fixes"

This commit is contained in:
Ulf Gebhardt 2016-01-19 07:59:17 +01:00
parent 94cf44f305
commit 3d1dd05de3
8 changed files with 53 additions and 3 deletions

View File

@ -2,7 +2,7 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_CACHE_PUT extends \SYSTEM\DB\QP { class SYS_CACHE_PUT extends \SYSTEM\DB\QP {
public static function get_class(){return \get_class();} public static function get_class(){return \get_class();}
public static function pqsql(){return public static function pgsql(){return
'INSERT INTO system.cache ("CacheID", "Ident", "data")'. 'INSERT INTO system.cache ("CacheID", "Ident", "data")'.
' VALUES ($1,$2,$3);'; ' VALUES ($1,$2,$3);';
} }

View File

@ -2,6 +2,9 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_TEXT_GET_ID extends \SYSTEM\DB\QP { class SYS_TEXT_GET_ID extends \SYSTEM\DB\QP {
public static function get_class(){return \get_class();} public static function get_class(){return \get_class();}
public static function pgsql(){return
'SELECT id,text FROM system.text WHERE id = $1 and lang = $2;';
}
public static function mysql(){return public static function mysql(){return
'SELECT id,text FROM system_text WHERE id = ? and lang = ?;'; 'SELECT id,text FROM system_text WHERE id = ? and lang = ?;';
} }

View File

@ -2,6 +2,9 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_TEXT_GET_ID_TAGS extends \SYSTEM\DB\QP { class SYS_TEXT_GET_ID_TAGS extends \SYSTEM\DB\QP {
public static function get_class(){return \get_class();} public static function get_class(){return \get_class();}
public static function pgsql(){return
'SELECT tag FROM system.text_tag WHERE id = $1';
}
public static function mysql(){return public static function mysql(){return
'SELECT tag FROM system_text_tag WHERE id = ?'; 'SELECT tag FROM system_text_tag WHERE id = ?';
} }

View File

@ -2,6 +2,17 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_SAIMOD_TEXT_COUNT_NOTAG extends \SYSTEM\DB\QP { class SYS_SAIMOD_TEXT_COUNT_NOTAG extends \SYSTEM\DB\QP {
public static function get_class(){return \get_class();} public static function get_class(){return \get_class();}
public static function pgsql(){return
'SELECT COUNT(*) as count'.
' FROM system.text'.
' LEFT JOIN system.user as a ON system.text.author = a.id'.
' LEFT JOIN system.user as ae ON system.text.author_edit = ae.id'.
' WHERE (a.username LIKE $1 OR ae.username LIKE $2 OR system.text.text LIKE $3)'.
' AND NOT EXISTS'.
' (SELECT id'.
' FROM system.text_tag'.
' WHERE system.text_tag.id = system.text.id);';
}
public static function mysql(){return public static function mysql(){return
'SELECT COUNT(*) as `count`'. 'SELECT COUNT(*) as `count`'.
' FROM system_text'. ' FROM system_text'.

View File

@ -2,6 +2,15 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_SAIMOD_TEXT_COUNT_TAG extends \SYSTEM\DB\QP { class SYS_SAIMOD_TEXT_COUNT_TAG extends \SYSTEM\DB\QP {
public static function get_class(){return \get_class();} public static function get_class(){return \get_class();}
public static function pgsql(){return
'SELECT COUNT(*) as count'.
' FROM system.text_tag'.
' LEFT JOIN system.text ON system.text_tag.id = system.text.id'.
' LEFT JOIN system.user as a ON system.text.author = a.id'.
' LEFT JOIN system.user as ae ON system.text.author_edit = ae.id'.
' WHERE tag = $1'.
' AND (a.username LIKE $2 OR ae.username LIKE $3 OR text LIKE $4);';
}
public static function mysql(){return public static function mysql(){return
'SELECT COUNT(*) as `count`'. 'SELECT COUNT(*) as `count`'.
' FROM system_text_tag'. ' FROM system_text_tag'.

View File

@ -3,13 +3,13 @@ namespace SYSTEM\SQL;
class SYS_SAIMOD_TEXT_TEXT extends \SYSTEM\DB\QP { class SYS_SAIMOD_TEXT_TEXT extends \SYSTEM\DB\QP {
public static function get_class(){return \get_class();} public static function get_class(){return \get_class();}
public static function pgsql(){return public static function pgsql(){return
'SELECT system.text_tag.tag, system.text.*, a.username as author_name, ae.username as author_edit_name'. 'SELECT MAX(system.text_tag.tag), system.text.*, MAX(a.username) as author_name, MAX(ae.username) as author_edit_name'.
' FROM system.text_tag'. ' FROM system.text_tag'.
' LEFT JOIN system.text ON system.text_tag.id = system.text.id'. ' LEFT JOIN system.text ON system.text_tag.id = system.text.id'.
' LEFT JOIN system.user as a ON system.text.author = a.id'. ' LEFT JOIN system.user as a ON system.text.author = a.id'.
' LEFT JOIN system.user as ae ON system.text.author_edit = ae.id'. ' LEFT JOIN system.user as ae ON system.text.author_edit = ae.id'.
' WHERE (a.username LIKE $1 OR ae.username LIKE $2 OR text LIKE $3)'. ' WHERE (a.username LIKE $1 OR ae.username LIKE $2 OR text LIKE $3)'.
' GROUP BY id, lang'. ' GROUP BY system.text.id, lang'.
' ORDER BY time_edit DESC;'; ' ORDER BY time_edit DESC;';
} }
public static function mysql(){return public static function mysql(){return

View File

@ -2,6 +2,19 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_SAIMOD_TEXT_TEXT_NOTAG extends \SYSTEM\DB\QP { class SYS_SAIMOD_TEXT_TEXT_NOTAG extends \SYSTEM\DB\QP {
public static function get_class(){return \get_class();} public static function get_class(){return \get_class();}
public static function pgsql(){return
'SELECT system.text.*, MAX(a.username) as author_name, MAX(ae.username) as author_edit_name'.
' FROM system.text'.
' LEFT JOIN system.user as a ON system.text.author = a.id'.
' LEFT JOIN system.user as ae ON system.text.author_edit = ae.id'.
' WHERE (a.username LIKE $1 OR ae.username LIKE $2 OR text LIKE $3)'.
' AND NOT EXISTS'.
' (SELECT id'.
' FROM system.text_tag'.
' WHERE system.text_tag.id = system.text.id)'.
' GROUP BY system.text.id, lang'.
' ORDER BY time_edit DESC;';
}
public static function mysql(){return public static function mysql(){return
'SELECT system_text.*, a.username as author_name, ae.username as author_edit_name'. 'SELECT system_text.*, a.username as author_name, ae.username as author_edit_name'.
' FROM system_text'. ' FROM system_text'.

View File

@ -2,6 +2,17 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_SAIMOD_TEXT_TEXT_TAG extends \SYSTEM\DB\QP { class SYS_SAIMOD_TEXT_TEXT_TAG extends \SYSTEM\DB\QP {
public static function get_class(){return \get_class();} public static function get_class(){return \get_class();}
public static function pgsql(){return
'SELECT MAX(system.text_tag.tag), system.text.*, MAX(a.username) as author_name, MAX(ae.username) as author_edit_name'.
' FROM system.text_tag'.
' LEFT JOIN system.text ON system.text_tag.id = system.text.id'.
' LEFT JOIN system.user as a ON system.text.author = a.id'.
' LEFT JOIN system.user as ae ON system.text.author_edit = ae.id'.
' WHERE tag = $1'.
' AND (a.username LIKE $2 OR ae.username LIKE $3 OR text LIKE $4)'.
' GROUP BY system.text.id, lang'.
' ORDER BY time_edit DESC;';
}
public static function mysql(){return public static function mysql(){return
'SELECT system_text_tag.tag, system_text.*, a.username as author_name, ae.username as author_edit_name'. 'SELECT system_text_tag.tag, system_text.*, a.username as author_name, ae.username as author_edit_name'.
' FROM system_text_tag'. ' FROM system_text_tag'.