. * */ require_once 'MDB2/Driver/Function/Common.php'; /** * MDB2 SQLite driver for the function modules * * @package MDB2 * @category Database * @author Lukas Smith */ class MDB2_Driver_Function_sqlite3 extends MDB2_Driver_Function_Common { // {{{ constructor /** * Constructor */ function __construct($db_index) { parent::__construct($db_index); // create all sorts of UDFs } // {{{ now() /** * Return string to call a variable with the current timestamp inside an SQL statement * There are three special variables for current date and time. * * @return string to call a variable with the current timestamp * @access public */ function now($type = 'timestamp') { switch ($type) { case 'time': return 'CURRENT_TIME'; case 'date': return 'CURRENT_DATE'; case 'timestamp': default: return 'CURRENT_TIMESTAMP'; } } // }}} // {{{ unixtimestamp() /** * return string to call a function to get the unix timestamp from a iso timestamp * * @param string $expression * * @return string to call a variable with the timestamp * @access public */ function unixtimestamp($expression) { return 'strftime("%s",'. $expression.', "utc")'; } // }}} // {{{ substring() /** * return string to call a function to get a substring inside an SQL statement * * @return string to call a function to get a substring * @access public */ function substring($value, $position = 1, $length = null) { if (!is_null($length)) { return "substr($value,$position,$length)"; } return "substr($value,$position,length($value))"; } // }}} // {{{ random() /** * return string to call a function to get random value inside an SQL statement * * @return return string to generate float between 0 and 1 * @access public */ function random() { return '((RANDOM()+2147483648)/4294967296)'; } // }}} // {{{ replace() /** * return string to call a function to get a replacement inside an SQL statement. * * @return string to call a function to get a replace * @access public */ function replace($str, $from_str, $to_str) { $db =& $this->getDBInstance(); if (PEAR::isError($db)) { return $db; } $error =& $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, 'method not implemented', __FUNCTION__); return $error; } // }}} }