define escape character for like statements on oracle
This commit is contained in:
parent
b394fe8709
commit
b05e1b6ed3
|
@ -36,6 +36,7 @@ class AdapterOCI8 extends Adapter {
|
||||||
const UNIX_TIMESTAMP_REPLACEMENT = "(cast(sys_extract_utc(systimestamp) as date) - date'1970-01-01') * 86400";
|
const UNIX_TIMESTAMP_REPLACEMENT = "(cast(sys_extract_utc(systimestamp) as date) - date'1970-01-01') * 86400";
|
||||||
|
|
||||||
public function fixupStatement($statement) {
|
public function fixupStatement($statement) {
|
||||||
|
$statement = preg_replace('( LIKE \?)', '$0 ESCAPE \'\\\'', $statement);
|
||||||
$statement = preg_replace('/`(\w+)` ILIKE \?/', 'REGEXP_LIKE(`$1`, \'^\' || REPLACE(?, \'%\', \'.*\') || \'$\', \'i\')', $statement);
|
$statement = preg_replace('/`(\w+)` ILIKE \?/', 'REGEXP_LIKE(`$1`, \'^\' || REPLACE(?, \'%\', \'.*\') || \'$\', \'i\')', $statement);
|
||||||
$statement = str_replace('`', '"', $statement);
|
$statement = str_replace('`', '"', $statement);
|
||||||
$statement = str_ireplace('NOW()', 'CURRENT_TIMESTAMP', $statement);
|
$statement = str_ireplace('NOW()', 'CURRENT_TIMESTAMP', $statement);
|
||||||
|
|
Loading…
Reference in New Issue