diff options
Diffstat (limited to 'lib/db/adapteroci8.php')
-rw-r--r-- | lib/db/adapteroci8.php | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/db/adapteroci8.php b/lib/db/adapteroci8.php new file mode 100644 index 00000000000..bc226e979ec --- /dev/null +++ b/lib/db/adapteroci8.php @@ -0,0 +1,28 @@ +<?php +/** + * Copyright (c) 2013 Bart Visscher <bartv@thisnet.nl> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + + +namespace OC\DB; + +class AdapterOCI8 extends Adapter { + public function lastInsertId($table) { + if($table !== null) { + $suffix = '_SEQ'; + $table = '"'.$table.$suffix.'"'; + } + return $this->conn->realLastInsertId($table); + } + + const UNIX_TIMESTAMP_REPLACEMENT = "(cast(sys_extract_utc(systimestamp) as date) - date'1970-01-01') * 86400"; + public function fixupStatement($statement) { + $statement = str_replace( '`', '"', $statement ); + $statement = str_ireplace( 'NOW()', 'CURRENT_TIMESTAMP', $statement ); + $statement = str_ireplace( 'UNIX_TIMESTAMP()', self::UNIX_TIMESTAMP_REPLACEMENT, $statement ); + return $statement; + } +} |