Merge remote-tracking branch 'origin/master' into master-mojo

This commit is contained in:
Ulf Gebhardt 2016-01-18 01:31:16 +01:00
commit 94cf44f305
21 changed files with 77 additions and 27 deletions

View File

@ -2,7 +2,7 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_CACHE_DELETE extends \SYSTEM\DB\QP { class SYS_CACHE_DELETE 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
'DELETE FROM system.cache'. 'DELETE FROM system.cache'.
' WHERE "CacheID" = $1 AND'. ' WHERE "CacheID" = $1 AND'.
' "Ident" = $2;'; ' "Ident" = $2;';

View File

@ -2,7 +2,7 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_CACHE_DELETE_ALL extends \SYSTEM\DB\QQ { class SYS_CACHE_DELETE_ALL extends \SYSTEM\DB\QQ {
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
'DELETE FROM system.cache;'; 'DELETE FROM system.cache;';
} }
public static function mysql(){return public static function mysql(){return

View File

@ -2,7 +2,7 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_CRON_LIST extends \SYSTEM\DB\QQ { class SYS_CRON_LIST extends \SYSTEM\DB\QQ {
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
'SELECT * FROM '.\SYSTEM\SQL\system_cron::NAME_PG.';'; 'SELECT * FROM '.\SYSTEM\SQL\system_cron::NAME_PG.';';
} }
public static function mysql(){return public static function mysql(){return

View File

@ -2,7 +2,7 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_CRON_UPD extends \SYSTEM\DB\QP { class SYS_CRON_UPD 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
'UPDATE '.\SYSTEM\SQL\system_cron::NAME_PG.' SET '.\SYSTEM\SQL\system_cron::FIELD_STATUS.' = $1,'.\SYSTEM\SQL\system_cron::FIELD_LAST_RUN.' = to_timestamp($2) WHERE '.\SYSTEM\SQL\system_cron::FIELD_CLASS.' = $3;'; 'UPDATE '.\SYSTEM\SQL\system_cron::NAME_PG.' SET '.\SYSTEM\SQL\system_cron::FIELD_STATUS.' = $1,'.\SYSTEM\SQL\system_cron::FIELD_LAST_RUN.' = to_timestamp($2) WHERE '.\SYSTEM\SQL\system_cron::FIELD_CLASS.' = $3;';
} }
public static function mysql(){return public static function mysql(){return

View File

@ -2,7 +2,7 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_LOG_DEL extends \SYSTEM\DB\QP { class SYS_LOG_DEL 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
'DELETE FROM '.\SYSTEM\SQL\system_log::NAME_PG.' WHERE "ID" = $1;'; 'DELETE FROM '.\SYSTEM\SQL\system_log::NAME_PG.' WHERE "ID" = $1;';
} }
public static function mysql(){return public static function mysql(){return

View File

@ -2,7 +2,10 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_LOG_MONTH extends \SYSTEM\DB\QP { class SYS_LOG_MONTH 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 * FROM '.\SYSTEM\SQL\system_log::NAME_PG.' WHERE EXTRACT(MONTH FROM time)::INTEGER = $1 AND EXTRACT(YEAR FROM time)::INTEGER = $2 ORDER BY time ASC LIMIT 10000;';
}
public static function mysql(){return public static function mysql(){return
'SELECT * FROM '.\SYSTEM\SQL\system_log::NAME_MYS.' WHERE MONTH(time) = ? AND YEAR(time) = ? ORDER BY time DESC LIMIT 10000;'; 'SELECT * FROM '.\SYSTEM\SQL\system_log::NAME_MYS.' WHERE MONTH(time) = ? AND YEAR(time) = ? ORDER BY time ASC LIMIT 10000;';
} }
} }

View File

@ -2,8 +2,8 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_LOG_OLDEST extends \SYSTEM\DB\QQ { class SYS_LOG_OLDEST extends \SYSTEM\DB\QQ {
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
'SELECT EXTRACT(MONTH FROM time)::INTEGER as month, EXTRACT(YEAR FROM time)::INTEGER as year FROM '.\SYSTEM\SQL\system_log::NAME_PG.' ORDER BY time ASC LIMIT 1'; 'SELECT EXTRACT(MONTH FROM time)::INTEGER as month, EXTRACT(YEAR FROM time)::INTEGER as year FROM '.\SYSTEM\SQL\system_log::NAME_PG.' ORDER BY time ASC LIMIT 1';
} }
public static function mysql(){return public static function mysql(){return
'SELECT MONTH(time) as month, YEAR(time) as year FROM '.\SYSTEM\SQL\system_log::NAME_MYS.' ORDER BY time ASC LIMIT 1'; 'SELECT MONTH(time) as month, YEAR(time) as year FROM '.\SYSTEM\SQL\system_log::NAME_MYS.' ORDER BY time ASC LIMIT 1';

View File

@ -2,6 +2,16 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_SAIMOD_TODO_ASSIGNEES extends \SYSTEM\DB\QP { class SYS_SAIMOD_TODO_ASSIGNEES 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 assign.'.\SYSTEM\SQL\system_todo_assign::FIELD_TODO.' as todo_id,'.
' assignee.'.\SYSTEM\SQL\system_user::FIELD_USERNAME.' as assignee,'.
' assignee.'.\SYSTEM\SQL\system_user::FIELD_ID.' as assignee_id'.
' FROM '.\SYSTEM\SQL\system_todo_assign::NAME_PG.' as assign'.
' LEFT JOIN '.\SYSTEM\SQL\system_user::NAME_PG.' as assignee ON assign.'.\SYSTEM\SQL\system_todo_assign::FIELD_USER.'=assignee.'.\SYSTEM\SQL\system_user::FIELD_ID.
' WHERE assign.'.\SYSTEM\SQL\system_todo_assign::FIELD_TODO.' = $1'.
' ORDER BY case when assign.'.\SYSTEM\SQL\system_todo_assign::FIELD_USER.' = $2 then 1 else 2 end'.
' LIMIT 10';
}
public static function mysql(){return public static function mysql(){return
' SELECT assign.'.\SYSTEM\SQL\system_todo_assign::FIELD_TODO.' as todo_id,'. ' SELECT assign.'.\SYSTEM\SQL\system_todo_assign::FIELD_TODO.' as todo_id,'.
' assignee.'.\SYSTEM\SQL\system_user::FIELD_USERNAME.' as assignee,'. ' assignee.'.\SYSTEM\SQL\system_user::FIELD_USERNAME.' as assignee,'.

View File

@ -2,7 +2,7 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_SAIMOD_TODO_CLOSE_ALL extends \SYSTEM\DB\QQ { class SYS_SAIMOD_TODO_CLOSE_ALL extends \SYSTEM\DB\QQ {
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
'UPDATE '.\SYSTEM\SQL\system_todo::NAME_PG.' SET '.\SYSTEM\SQL\system_todo::FIELD_STATE.'='.\SYSTEM\SQL\system_todo::FIELD_STATE_CLOSED. 'UPDATE '.\SYSTEM\SQL\system_todo::NAME_PG.' SET '.\SYSTEM\SQL\system_todo::FIELD_STATE.'='.\SYSTEM\SQL\system_todo::FIELD_STATE_CLOSED.
' WHERE "'.\SYSTEM\SQL\system_todo::FIELD_TYPE.'"='.\SYSTEM\SQL\system_todo::FIELD_TYPE_EXCEPTION.';'; ' WHERE "'.\SYSTEM\SQL\system_todo::FIELD_TYPE.'"='.\SYSTEM\SQL\system_todo::FIELD_TYPE_EXCEPTION.';';
} }

View File

@ -4,13 +4,13 @@ class SYS_SAIMOD_TODO_COUNT 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 COUNT(*) as count FROM('. 'SELECT COUNT(*) as count FROM('.
'SELECT todo.id FROM '.\SYSTEM\SQL\system_todo::NAME_PG.' as todo'. 'SELECT todo."ID" FROM '.\SYSTEM\SQL\system_todo::NAME_PG.' as todo'.
' LEFT JOIN '.\SYSTEM\SQL\system_todo_assign::NAME_PG.' as assign ON todo.'.\SYSTEM\SQL\system_todo::FIELD_ID.'=assign.'.\SYSTEM\SQL\system_todo_assign::FIELD_TODO. ' LEFT JOIN '.\SYSTEM\SQL\system_todo_assign::NAME_PG.' as assign ON todo."'.\SYSTEM\SQL\system_todo::FIELD_ID.'"=assign.'.\SYSTEM\SQL\system_todo_assign::FIELD_TODO.
' LEFT JOIN '.\SYSTEM\SQL\system_user::NAME_MYS.' as creator ON todo.'.\SYSTEM\SQL\system_todo::FIELD_USER.'=creator.'.\SYSTEM\SQL\system_user::FIELD_ID. ' LEFT JOIN '.\SYSTEM\SQL\system_user::NAME_PG.' as creator ON todo.'.\SYSTEM\SQL\system_todo::FIELD_USER.'=creator.'.\SYSTEM\SQL\system_user::FIELD_ID.
' LEFT JOIN '.\SYSTEM\SQL\system_user::NAME_MYS.' as assignee ON assign.'.\SYSTEM\SQL\system_todo_assign::FIELD_USER.'=assignee.'.\SYSTEM\SQL\system_user::FIELD_ID. ' LEFT JOIN '.\SYSTEM\SQL\system_user::NAME_PG.' as assignee ON assign.'.\SYSTEM\SQL\system_todo_assign::FIELD_USER.'=assignee.'.\SYSTEM\SQL\system_user::FIELD_ID.
' WHERE '.\SYSTEM\SQL\system_todo::FIELD_STATE.'=$1'. ' WHERE '.\SYSTEM\SQL\system_todo::FIELD_STATE.'=$1'.
' AND (todo.'.\SYSTEM\SQL\system_todo::FIELD_MESSAGE.' LIKE $2 OR creator.'.\SYSTEM\SQL\system_user::FIELD_USERNAME.' LIKE $3 OR assignee.'.\SYSTEM\SQL\system_user::FIELD_USERNAME.' LIKE $4)'. ' AND (todo.'.\SYSTEM\SQL\system_todo::FIELD_MESSAGE.' LIKE $2 OR creator.'.\SYSTEM\SQL\system_user::FIELD_USERNAME.' LIKE $3 OR assignee.'.\SYSTEM\SQL\system_user::FIELD_USERNAME.' LIKE $4)'.
' GROUP BY todo.id'. ' GROUP BY todo."ID"'.
') as a;'; ') as a;';
} }
public static function mysql(){return public static function mysql(){return

View File

@ -2,6 +2,25 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_SAIMOD_TODO_LIST extends \SYSTEM\DB\QP { class SYS_SAIMOD_TODO_LIST 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 DISTINCT ON (todo_id) * FROM('.
' SELECT todo."'.\SYSTEM\SQL\system_todo::FIELD_ID.'" as todo_id,'.
' todo.'.\SYSTEM\SQL\system_todo::FIELD_TYPE.', todo.'.\SYSTEM\SQL\system_todo::FIELD_CLASS.', todo.'.\SYSTEM\SQL\system_todo::FIELD_TIME.', todo.'.\SYSTEM\SQL\system_todo::FIELD_COUNT.', todo.'.\SYSTEM\SQL\system_todo::FIELD_MESSAGE.', todo.'.\SYSTEM\SQL\system_todo::FIELD_REQUEST_URI.', todo.'.\SYSTEM\SQL\system_todo::FIELD_FILE.', todo.'.\SYSTEM\SQL\system_todo::FIELD_LINE.', todo.'.\SYSTEM\SQL\system_todo::FIELD_SERVER_NAME.', todo.'.\SYSTEM\SQL\system_todo::FIELD_SERVER_PORT.', todo.'.\SYSTEM\SQL\system_todo::FIELD_QUERYTIME.', todo.'.\SYSTEM\SQL\system_todo::FIELD_IP.', todo.'.\SYSTEM\SQL\system_todo::FIELD_PRIORITY.','.
' creator.'.\SYSTEM\SQL\system_user::FIELD_ID.' as creator_id,'.
' creator.'.\SYSTEM\SQL\system_user::FIELD_USERNAME.','.
' assignee.'.\SYSTEM\SQL\system_user::FIELD_USERNAME.' as assignee,'.
' assignee.'.\SYSTEM\SQL\system_user::FIELD_ID.' as assignee_id'.
' FROM '.\SYSTEM\SQL\system_todo::NAME_PG.' as todo'.
' LEFT JOIN '.\SYSTEM\SQL\system_todo_assign::NAME_PG.' as assign ON todo."'.\SYSTEM\SQL\system_todo::FIELD_ID.'"=assign.'.\SYSTEM\SQL\system_todo_assign::FIELD_TODO.
' LEFT JOIN '.\SYSTEM\SQL\system_user::NAME_PG.' as creator ON todo.'.\SYSTEM\SQL\system_todo::FIELD_USER.'=creator.'.\SYSTEM\SQL\system_user::FIELD_ID.
' LEFT JOIN '.\SYSTEM\SQL\system_user::NAME_PG.' as assignee ON assign.'.\SYSTEM\SQL\system_todo_assign::FIELD_USER.'=assignee.'.\SYSTEM\SQL\system_user::FIELD_ID.
' WHERE todo.'.\SYSTEM\SQL\system_todo::FIELD_STATE.' = $1'.
' AND (todo.'.\SYSTEM\SQL\system_todo::FIELD_MESSAGE.' LIKE $2 OR creator.'.\SYSTEM\SQL\system_user::FIELD_USERNAME.' LIKE $3 OR assignee.'.\SYSTEM\SQL\system_user::FIELD_USERNAME.' LIKE $4)'.
' ORDER BY case when assign.'.\SYSTEM\SQL\system_todo_assign::FIELD_USER.' = $5 then 1 else 2 end'.
') as a';
//' ORDER BY a.'.\SYSTEM\SQL\system_todo::FIELD_PRIORITY.' DESC, a.'.\SYSTEM\SQL\system_todo::FIELD_TYPE.' DESC, a.'.\SYSTEM\SQL\system_todo::FIELD_COUNT.' DESC, a.'.\SYSTEM\SQL\system_todo::FIELD_TIME.' DESC';
//sorry postgres but ur rly bad!
}
public static function mysql(){return public static function mysql(){return
'SELECT * FROM('. 'SELECT * FROM('.
' SELECT todo.'.\SYSTEM\SQL\system_todo::FIELD_ID.' as todo_id,'. ' SELECT todo.'.\SYSTEM\SQL\system_todo::FIELD_ID.' as todo_id,'.

View File

@ -2,8 +2,8 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_SAIMOD_TODO_STATS_COUNT_DOTO_GEN extends \SYSTEM\DB\QQ { class SYS_SAIMOD_TODO_STATS_COUNT_DOTO_GEN extends \SYSTEM\DB\QQ {
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
'SELECT COUNT(*) as `count` FROM system_todo WHERE state = 1 AND `type` = 0;'; 'SELECT COUNT(*) as count FROM system.todo WHERE state = 1 AND type = 0;';
} }
public static function mysql(){return public static function mysql(){return
'SELECT COUNT(*) as `count` FROM system_todo WHERE state = 1 AND `type` = 0;'; 'SELECT COUNT(*) as `count` FROM system_todo WHERE state = 1 AND `type` = 0;';

View File

@ -2,8 +2,8 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_SAIMOD_TODO_STATS_COUNT_DOTO_REPORT extends \SYSTEM\DB\QQ { class SYS_SAIMOD_TODO_STATS_COUNT_DOTO_REPORT extends \SYSTEM\DB\QQ {
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
'SELECT COUNT(*) as `count` FROM system_todo WHERE state = 1 AND `type` = 2'; 'SELECT COUNT(*) as count FROM system.todo WHERE state = 1 AND type = 2';
} }
public static function mysql(){return public static function mysql(){return
'SELECT COUNT(*) as `count` FROM system_todo WHERE state = 1 AND `type` = 2'; 'SELECT COUNT(*) as `count` FROM system_todo WHERE state = 1 AND `type` = 2';

View File

@ -2,8 +2,8 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_SAIMOD_TODO_STATS_COUNT_DOTO_USER extends \SYSTEM\DB\QQ { class SYS_SAIMOD_TODO_STATS_COUNT_DOTO_USER extends \SYSTEM\DB\QQ {
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
'SELECT COUNT(*) as `count` FROM system_todo WHERE state = 1 AND `type` = 1'; 'SELECT COUNT(*) as count FROM system.todo WHERE state = 1 AND type = 1';
} }
public static function mysql(){return public static function mysql(){return
'SELECT COUNT(*) as `count` FROM system_todo WHERE state = 1 AND `type` = 1'; 'SELECT COUNT(*) as `count` FROM system_todo WHERE state = 1 AND `type` = 1';

View File

@ -2,8 +2,8 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_SAIMOD_TODO_STATS_COUNT_TODO_GEN extends \SYSTEM\DB\QQ { class SYS_SAIMOD_TODO_STATS_COUNT_TODO_GEN extends \SYSTEM\DB\QQ {
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
'SELECT COUNT(*) as `count` FROM system_todo WHERE state = 0 AND `type` = 0'; 'SELECT COUNT(*) as count FROM system.todo WHERE state = 0 AND type = 0';
} }
public static function mysql(){return public static function mysql(){return
'SELECT COUNT(*) as `count` FROM system_todo WHERE state = 0 AND `type` = 0'; 'SELECT COUNT(*) as `count` FROM system_todo WHERE state = 0 AND `type` = 0';

View File

@ -2,6 +2,11 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_SAIMOD_TODO_STATS_COUNT_TODO_NOT_ASSIGNED extends \SYSTEM\DB\QQ { class SYS_SAIMOD_TODO_STATS_COUNT_TODO_NOT_ASSIGNED extends \SYSTEM\DB\QQ {
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.todo'.
' LEFT JOIN system.todo_assign ON system.todo."ID" = system.todo_assign.todo'.
' WHERE state = 0 AND type = 1 AND system.todo_assign.user IS NULL;';
}
public static function mysql(){return public static function mysql(){return
'SELECT COUNT(*) as `count` FROM system_todo'. 'SELECT COUNT(*) as `count` FROM system_todo'.
' LEFT JOIN system_todo_assign ON system_todo.id = system_todo_assign.todo'. ' LEFT JOIN system_todo_assign ON system_todo.id = system_todo_assign.todo'.

View File

@ -2,8 +2,8 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_SAIMOD_TODO_STATS_COUNT_TODO_REPORT extends \SYSTEM\DB\QQ { class SYS_SAIMOD_TODO_STATS_COUNT_TODO_REPORT extends \SYSTEM\DB\QQ {
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
'SELECT COUNT(*) as `count` FROM system_todo WHERE state = 0 AND `type` = 2'; 'SELECT COUNT(*) as count FROM system.todo WHERE state = 0 AND type = 2';
} }
public static function mysql(){return public static function mysql(){return
'SELECT COUNT(*) as `count` FROM system_todo WHERE state = 0 AND `type` = 2'; 'SELECT COUNT(*) as `count` FROM system_todo WHERE state = 0 AND `type` = 2';

View File

@ -2,8 +2,8 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_SAIMOD_TODO_STATS_COUNT_TODO_USER extends \SYSTEM\DB\QQ { class SYS_SAIMOD_TODO_STATS_COUNT_TODO_USER extends \SYSTEM\DB\QQ {
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
'SELECT COUNT(*) as `count` FROM system_todo WHERE state = 0 AND `type` = 1'; 'SELECT COUNT(*) as count FROM system.todo WHERE state = 0 AND type = 1';
} }
public static function mysql(){return public static function mysql(){return
'SELECT COUNT(*) as `count` FROM system_todo WHERE state = 0 AND `type` = 1'; 'SELECT COUNT(*) as `count` FROM system_todo WHERE state = 0 AND `type` = 1';

View File

@ -12,7 +12,7 @@ class SYS_SAIMOD_TODO_STATS_USERS extends \SYSTEM\DB\QQ {
'FROM system.todo_assign '. 'FROM system.todo_assign '.
'LEFT JOIN system.todo ON system.todo_assign.todo = system.todo."ID" '. 'LEFT JOIN system.todo ON system.todo_assign.todo = system.todo."ID" '.
'LEFT JOIN system.user ON system.todo_assign.user = system.user.id '. 'LEFT JOIN system.user ON system.todo_assign.user = system.user.id '.
'GROUP BY system.todo_assign.user '. 'GROUP BY system.user.username '.
'ORDER BY count DESC'. 'ORDER BY count DESC'.
') a '. ') a '.
'ORDER BY best DESC;'; 'ORDER BY best DESC;';

View File

@ -2,6 +2,17 @@
namespace SYSTEM\SQL; namespace SYSTEM\SQL;
class SYS_SAIMOD_TODO_TODO extends \SYSTEM\DB\QP { class SYS_SAIMOD_TODO_TODO 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 DISTINCT ON ("'.\SYSTEM\SQL\system_todo::FIELD_ID.'") * FROM('.
' SELECT todo.*, assignee.'.\SYSTEM\SQL\system_user::FIELD_ID.' as assignee_id, assignee.'.\SYSTEM\SQL\system_user::FIELD_USERNAME.' as assignee, creator.'.\SYSTEM\SQL\system_user::FIELD_USERNAME.' as username'.
' FROM '.\SYSTEM\SQL\system_todo::NAME_PG.' as todo'.
' LEFT JOIN '.\SYSTEM\SQL\system_todo_assign::NAME_PG.' as assign ON todo."'.\SYSTEM\SQL\system_todo::FIELD_ID.'" = assign.'.\SYSTEM\SQL\system_todo_assign::FIELD_TODO.
' LEFT JOIN '.\SYSTEM\SQL\system_user::NAME_PG.' as creator ON todo.'.\SYSTEM\SQL\system_todo::FIELD_USER.' = creator.'.\SYSTEM\SQL\system_user::FIELD_ID.
' LEFT JOIN '.\SYSTEM\SQL\system_user::NAME_PG.' as assignee ON assign.'.\SYSTEM\SQL\system_todo_assign::FIELD_USER.' = assignee.'.\SYSTEM\SQL\system_user::FIELD_ID.
' WHERE todo."'.\SYSTEM\SQL\system_todo::FIELD_ID.'" = $1'.
' ORDER BY case when assign.'.\SYSTEM\SQL\system_todo_assign::FIELD_USER.' = $2 then 1 else 2 end'.
') as a';
}
public static function mysql(){return public static function mysql(){return
'SELECT * FROM('. 'SELECT * FROM('.
' SELECT todo.*, assignee.'.\SYSTEM\SQL\system_user::FIELD_ID.' as assignee_id, assignee.'.\SYSTEM\SQL\system_user::FIELD_USERNAME.' as assignee, creator.'.\SYSTEM\SQL\system_user::FIELD_USERNAME.' as username'. ' SELECT todo.*, assignee.'.\SYSTEM\SQL\system_user::FIELD_ID.' as assignee_id, assignee.'.\SYSTEM\SQL\system_user::FIELD_USERNAME.' as assignee, creator.'.\SYSTEM\SQL\system_user::FIELD_USERNAME.' as username'.

View File

@ -22,6 +22,8 @@ CREATE TABLE system.todo
"type" integer NOT NULL DEFAULT 0, "type" integer NOT NULL DEFAULT 0,
"count" integer NOT NULL DEFAULT 1, "count" integer NOT NULL DEFAULT 1,
"state" integer NOT NULL DEFAULT 0, "state" integer NOT NULL DEFAULT 0,
"priority" integer NOT NULL DEFAULT 0,
"time_closed" timestamp with time zone DEFAULT NULL,
CONSTRAINT system_todo_pk_id PRIMARY KEY ("ID"), CONSTRAINT system_todo_pk_id PRIMARY KEY ("ID"),
CONSTRAINT system_todo_fk_user FOREIGN KEY ("user") CONSTRAINT system_todo_fk_user FOREIGN KEY ("user")
REFERENCES system."user" (id) MATCH SIMPLE REFERENCES system."user" (id) MATCH SIMPLE