* @version $Revision: 1612 $ * @package propel.runtime.adapter */ class DBSQLite extends DBAdapter { /** * For SQLite this method has no effect, since SQLite doesn't support specifying a character * set (or, another way to look at it, it doesn't require a single character set per DB). * * @param PDO A PDO connection instance. * @param string The charset encoding. * @throws PropelException If the specified charset doesn't match sqlite_libencoding() */ public function setCharset(PDO $con, $charset) { } /** * This method is used to ignore case. * * @param in The string to transform to upper case. * @return The upper case string. */ public function toUpperCase($in) { return 'UPPER(' . $in . ')'; } /** * This method is used to ignore case. * * @param in The string whose case to ignore. * @return The string in a case that can be ignored. */ public function ignoreCase($in) { return 'UPPER(' . $in . ')'; } /** * Returns SQL which concatenates the second string to the first. * * @param string String to concatenate. * @param string String to append. * @return string */ public function concatString($s1, $s2) { return "($s1 || $s2)"; } /** * Returns SQL which extracts a substring. * * @param string String to extract from. * @param int Offset to start from. * @param int Number of characters to extract. * @return string */ public function subString($s, $pos, $len) { return "substr($s, $pos, $len)"; } /** * Returns SQL which calculates the length (in chars) of a string. * * @param string String to calculate length of. * @return string */ public function strLength($s) { return "length($s)"; } /** * @see DBAdapter::quoteIdentifier() */ public function quoteIdentifier($text) { return '[' . $text . ']'; } /** * @see DBAdapter::applyLimit() */ public function applyLimit(&$sql, $offset, $limit) { if ( $limit > 0 ) { $sql .= " LIMIT " . $limit . ($offset > 0 ? " OFFSET " . $offset : ""); } elseif ( $offset > 0 ) { $sql .= " LIMIT -1 OFFSET " . $offset; } } public function random($seed=NULL) { return 'random()'; } }