#17747: PGSQL improvements
parent
a203f728bd
commit
ff386b90bb
|
|
@ -1961,7 +1961,7 @@ function update_110() {
|
|||
#$ret[] = update_sql('ALTER TABLE {blocks} DROP path');
|
||||
|
||||
$ret[] = update_sql('ALTER TABLE {blocks} ADD visibility smallint');
|
||||
$ret[] = update_sql("ALTER TABLE {blocks} ALTER COLUMN type set default ''");
|
||||
$ret[] = update_sql("ALTER TABLE {blocks} ALTER COLUMN visibility set default 0");
|
||||
$ret[] = update_sql('UPDATE {blocks} SET visibility = 0');
|
||||
$ret[] = update_sql('ALTER TABLE {blocks} ALTER COLUMN visibility SET NOT NULL');
|
||||
$ret[] = update_sql('ALTER TABLE {blocks} ADD pages text');
|
||||
|
|
@ -2291,7 +2291,7 @@ function update_125() {
|
|||
|
||||
if ($GLOBALS['db_type'] == 'pgsql') {
|
||||
|
||||
$ret[] = update_sql[] = ("CREATE FUNCTION "if"(boolean, anyelement, anyelement) RETURNS anyelement AS '
|
||||
$ret[] = update_sql("CREATE OR REPLACE FUNCTION if(boolean, anyelement, anyelement) RETURNS anyelement AS '
|
||||
SELECT CASE WHEN $1 THEN $2 ELSE $3 END;
|
||||
' LANGUAGE 'sql'");
|
||||
|
||||
|
|
|
|||
|
|
@ -21,11 +21,11 @@ function sess_close() {
|
|||
|
||||
function sess_read($key) {
|
||||
global $user;
|
||||
|
||||
$uid = (isset($user->uid)) ? $user-uid : 0;
|
||||
$result = db_query_range("SELECT u.*, s.* FROM {users} u INNER JOIN {sessions} s ON u.uid = s.uid WHERE s.sid = '%s' AND u.status < 3", $key, 0, 1);
|
||||
|
||||
if (!db_num_rows($result)) {
|
||||
db_query("INSERT INTO {sessions} (sid, hostname, timestamp) values('%s', '%s', %d)", $key, $_SERVER["REMOTE_ADDR"], time());
|
||||
db_query("INSERT INTO {sessions} (sid, uid, hostname, timestamp) VALUES ('%s', %d, '%s', %d)", $key, $uid, $_SERVER["REMOTE_ADDR"], time());
|
||||
$result = db_query("SELECT u.* FROM {users} u WHERE u.uid = 0");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -582,7 +582,7 @@ function node_search($op = 'search', $keys = null) {
|
|||
case 'status':
|
||||
$last = variable_get('node_cron_last', 0);
|
||||
$total = db_result(db_query('SELECT COUNT(*) FROM {node} WHERE status = 1 AND moderate = 0'));
|
||||
$remaining = db_result(db_query('SELECT COUNT(*) FROM {node} n LEFT JOIN {node_comment_statistics} c ON n.nid = c.nid WHERE n.status = 1 AND n.moderate = 0 AND (n.created > %d OR n.changed > %d OR c.last_comment_timestamp > %d) ORDER BY GREATEST(n.created, n.changed, c.last_comment_timestamp) ASC', $last, $last, $last));
|
||||
$remaining = db_result(db_query('SELECT COUNT(*) FROM {node} n LEFT JOIN {node_comment_statistics} c ON n.nid = c.nid WHERE n.status = 1 AND n.moderate = 0 AND (n.created > %d OR n.changed > %d OR c.last_comment_timestamp > %d)', $last, $last, $last));
|
||||
return array('remaining' => $remaining, 'total' => $total);
|
||||
case 'search':
|
||||
list($join, $where) = _db_rewrite_sql();
|
||||
|
|
|
|||
|
|
@ -582,7 +582,7 @@ function node_search($op = 'search', $keys = null) {
|
|||
case 'status':
|
||||
$last = variable_get('node_cron_last', 0);
|
||||
$total = db_result(db_query('SELECT COUNT(*) FROM {node} WHERE status = 1 AND moderate = 0'));
|
||||
$remaining = db_result(db_query('SELECT COUNT(*) FROM {node} n LEFT JOIN {node_comment_statistics} c ON n.nid = c.nid WHERE n.status = 1 AND n.moderate = 0 AND (n.created > %d OR n.changed > %d OR c.last_comment_timestamp > %d) ORDER BY GREATEST(n.created, n.changed, c.last_comment_timestamp) ASC', $last, $last, $last));
|
||||
$remaining = db_result(db_query('SELECT COUNT(*) FROM {node} n LEFT JOIN {node_comment_statistics} c ON n.nid = c.nid WHERE n.status = 1 AND n.moderate = 0 AND (n.created > %d OR n.changed > %d OR c.last_comment_timestamp > %d)', $last, $last, $last));
|
||||
return array('remaining' => $remaining, 'total' => $total);
|
||||
case 'search':
|
||||
list($join, $where) = _db_rewrite_sql();
|
||||
|
|
|
|||
|
|
@ -511,7 +511,7 @@ function do_search($keys, $type, $join = '', $where = '1') {
|
|||
$count_query = "SELECT $count";
|
||||
|
||||
// Do pager query
|
||||
$query = "SELECT i.type, i.sid, i.word, SUM(i.score/t.count) AS score FROM {search_index} i $join INNER JOIN {search_total} t ON i.word = t.word WHERE $where GROUP BY i.type, i.sid ORDER BY score DESC";
|
||||
$query = "SELECT i.type, i.sid, SUM(i.score/t.count) AS score FROM {search_index} i $join INNER JOIN {search_total} t ON i.word = t.word WHERE $where GROUP BY i.type, i.sid ORDER BY score DESC";
|
||||
$result = pager_query($query, 15, 0, $count_query, $arguments);
|
||||
|
||||
$results = array();
|
||||
|
|
|
|||
|
|
@ -511,7 +511,7 @@ function do_search($keys, $type, $join = '', $where = '1') {
|
|||
$count_query = "SELECT $count";
|
||||
|
||||
// Do pager query
|
||||
$query = "SELECT i.type, i.sid, i.word, SUM(i.score/t.count) AS score FROM {search_index} i $join INNER JOIN {search_total} t ON i.word = t.word WHERE $where GROUP BY i.type, i.sid ORDER BY score DESC";
|
||||
$query = "SELECT i.type, i.sid, SUM(i.score/t.count) AS score FROM {search_index} i $join INNER JOIN {search_total} t ON i.word = t.word WHERE $where GROUP BY i.type, i.sid ORDER BY score DESC";
|
||||
$result = pager_query($query, 15, 0, $count_query, $arguments);
|
||||
|
||||
$results = array();
|
||||
|
|
|
|||
Loading…
Reference in New Issue