. */ /** * Default class for ODBC driver-specific behavior. * * @author Dave Lawson * @version $Revision: 1.3 $ * @package creole.drivers.odbc */ class ODBCAdapter { /** * Returns true if column case is preserved in the database when a table * is first created. Returns false if table does not preserve case (i.e. * ProductID => PRODUCTID). * * @return boolean */ public function preservesColumnCase() { return true; } /** * Returns true if prepared statements should be emulated. This * might be useful if your driver does not support (or has trouble with) * prepared statements. * * @return boolean */ public function emulatePrepareStmt() { return false; } /** * Returns true if ODBC driver supports LIMIT/OFFSET via SQL. * * @return boolean */ public function hasLimitOffset() { return false; } /** * @see Connection::applyLimit() */ public function applyLimit(&$sql, $offset, $limit) { } /** * @see PreparedStatementCommon::escape() */ public function escape($str) { // use this instead of magic_quotes_sybase + addslashes(), // just in case multiple RDBMS being used at the same time return str_replace("'", "''", $str); } /** * Returns an instance of the default resultset. * * @return boolean */ public function createResultSet($conn, $odbcresult, $fetchmode) { require_once 'creole/drivers/odbc/ODBCResultSet.php'; return new ODBCResultSet($conn, $odbcresult, $fetchmode); } /** * Returns the default ODBCIdGenerator for emulating sequences. * * @return ODBCIdGenerator */ public function getIdGenerator($conn) { require_once 'creole/drivers/odbc/ODBCIdGenerator.php'; return new ODBCIdGenerator($conn); } /** * Returns true if driver support transactions. * * @return boolean */ public function supportsTransactions() { return true; } } ?>