mirror of
https://github.com/LBRYFoundation/pool.git
synced 2025-09-20 18:09:54 +00:00
41 lines
1.3 KiB
PHP
41 lines
1.3 KiB
PHP
<?php
|
|
/**
|
|
* CSqliteCommandBuilder class file.
|
|
*
|
|
* @author Qiang Xue <qiang.xue@gmail.com>
|
|
* @link http://www.yiiframework.com/
|
|
* @copyright Copyright © 2008-2009 Yii Software LLC
|
|
* @license http://www.yiiframework.com/license/
|
|
*/
|
|
|
|
/**
|
|
* CSqliteCommandBuilder provides basic methods to create query commands for SQLite tables.
|
|
*
|
|
* @author Qiang Xue <qiang.xue@gmail.com>
|
|
* @version $Id: CSqliteCommandBuilder.php 840 2009-03-15 22:36:06Z qiang.xue $
|
|
* @package system.db.schema.sqlite
|
|
* @since 1.0
|
|
*/
|
|
class CSqliteCommandBuilder extends CDbCommandBuilder
|
|
{
|
|
/**
|
|
* Generates the expression for selecting rows with specified composite key values.
|
|
* This method is overridden because SQLite does not support the default
|
|
* IN expression with composite columns.
|
|
* @param CDbTableSchema the table schema
|
|
* @param array list of primary key values to be selected within
|
|
* @param string column prefix (ended with dot)
|
|
* @return string the expression for selection
|
|
* @since 1.0.4
|
|
*/
|
|
protected function createCompositeInCondition($table,$values,$prefix)
|
|
{
|
|
$keyNames=array();
|
|
foreach(array_keys($values[0]) as $name)
|
|
$keyNames[]=$prefix.$table->columns[$name]->rawName;
|
|
$vs=array();
|
|
foreach($values as $value)
|
|
$vs[]=implode("||','||",$value);
|
|
return implode("||','||",$keyNames).' IN ('.implode(', ',$vs).')';
|
|
}
|
|
}
|