Closed (fixed)
Project:
Oracle Driver
Version:
6.x-1.4-beta4
Component:
Code
Priority:
Normal
Category:
Support request
Assigned:
Unassigned
Reporter:
Created:
1 Oct 2010 at 16:44 UTC
Updated:
15 Jan 2011 at 19:32 UTC
just installed storm, full of selects with an AS in front of a table alias. Do I have to alter all selects in storm or is there a way ? Thanks :)
Comments
Comment #1
aaaristo commentedThere is a way of course, i've implemented it somewhere.... but probably not released.
You know you can use a global in the settings.php to replace a "bad" statement? (without altering the module code)
Look at this samples:
$GLOBALS['oracle_exception_queries']= array(
// module nodequeue
'/^SELECT q.*, COUNT\(s.sqid\) AS subqueues FROM {nodequeue_queue} q LEFT JOIN {nodequeue_subqueue} s ON q.qid = s.qid WHERE q.qid IN \((.*?)\) GROUP BY q.qid$/' => 'SELECT q.*, (SELECT COUNT(s.sqid) FROM {nodequeue_subqueue} s WHERE q.qid = s.qid) AS subqueues FROM {nodequeue_queue} q WHERE q.qid IN (\1)',
'/^SELECT s.*, COUNT\(n.position\) AS count FROM {nodequeue_subqueue} s LEFT JOIN {nodequeue_nodes} n ON n.sqid = s.sqid WHERE s.qid IN \((.*?)\) GROUP BY s.sqid$/' => 'SELECT s.*, (SELECT COUNT(n.position) FROM {nodequeue_nodes} n WHERE n.sqid = s.sqid) AS count FROM {nodequeue_subqueue} s WHERE s.qid IN (\1)',
'/^SELECT s.*, COUNT\(n.position\) AS count FROM {nodequeue_subqueue} s LEFT JOIN {nodequeue_nodes} n ON n.sqid = s.sqid WHERE s.sqid IN \((.*?)\) GROUP BY s.sqid$/' => 'SELECT s.*, (SELECT COUNT(n.position) FROM {nodequeue_nodes} n WHERE n.sqid = s.sqid) AS count FROM {nodequeue_subqueue} s WHERE s.sqid IN (\1)',
'/^SELECT DISTINCT\(n.nid\) FROM {node} n LEFT JOIN {nodequeue_nodes} nq ON nq.nid = n.nid WHERE nq.sqid = %d(.*?) ORDER BY nq.position (.*?)$/' => 'SELECT DISTINCT n.nid, nq.position FROM {node} n LEFT JOIN {nodequeue_nodes} nq ON nq.nid = n.nid WHERE nq.sqid = %d\1 ORDER BY nq.position \2',
// module flashvideo
'/^SELECT \* FROM {files} AS f(.*)INNER JOIN {flashvideo} AS fv ON f.fid = fv.fid(.*)WHERE fv.nid = %d(.*)ORDER BY f.fid/s' => 'SELECT * FROM {files} f INNER JOIN {flashvideo} fv ON f.fid = fv.fid WHERE fv.nid = %d ORDER BY f.fid',
'/^SELECT DISTINCT video_index FROM `flashvideo` WHERE nid = %d ORDER BY video_index ASC$/' => 'SELECT DISTINCT video_index FROM {flashvideo} WHERE nid = %d ORDER BY video_index ASC',
'/^SELECT n.nid, n.type, f.\*, fv.flags(.*)FROM {files} AS f(.*)LEFT JOIN {flashvideo} AS fv ON f.fid = fv.fid(.*)LEFT JOIN {node} AS n ON fv.nid = n.nid(.*)WHERE \(n.type = \'%s\'\)(.*)AND \(fv.oid = fv.fid\)(.*)AND \(fv.status <> %d\)(.*)AND \(\(fv.status = %d\) OR \(fv.flags > 0\)\)/s' => "SELECT n.nid, n.type, f.*, fv.flags FROM {files} f LEFT JOIN {flashvideo} fv ON f.fid = fv.fid LEFT JOIN {node} n ON fv.nid = n.nid WHERE (n.type = '%s') AND (fv.oid = fv.fid) AND (fv.status <> %d) AND ((fv.status = %d) OR (fv.flags > 0))"
);
Comment #2
verta commentedsubscribe
Comment #3
aaaristo commentedfixed in next release
Comment #4
aaaristo commented