* @package Mammut\DB\Dialect */ class Oracle extends Sql92 implements iDialect { public function getName() { return DB::DIALECT_ORACLE; } public function isOffsetSupported() { return true; } public function getDdl() { if(!is_null($this->ddlInstance)) return $this->ddlInstance; $this->ddlInstance = new \Mammut\DB\Sql\Dialect\Ddl\OracleDdl(); return $this->ddlInstance; } public function getTruncateSQL($table) { $table = $this->quoteIdent($table); return "TRUNCATE TABLE {$table}"; } public function getDummyTableSQL() { return "FROM DUAL"; } public function getFunctionSQL(SQLFunction $function) { switch($function->getFunction()) { case SQLFunction::F_RANDOM: if(!empty($function->param)) throw new \InvalidArgumentException('No parameter allowed for RANDOM'); return '(SELECT dbms_random.value FROM dual)'; } return parent::getFunctionSQL($function); } }