117 lines
2.5 KiB
PHP
117 lines
2.5 KiB
PHP
<?php
|
|
|
|
/**
|
|
* This file is part of the Propel package.
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*
|
|
* @license MIT License
|
|
*/
|
|
|
|
/**
|
|
* This is used in order to connect to a SQLite database.
|
|
*
|
|
* @author Hans Lellelid <hans@xmpl.org>
|
|
* @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()';
|
|
}
|
|
|
|
}
|