From 2387d003415647bcd20750c60b0ca7c93fcfb69e Mon Sep 17 00:00:00 2001 From: Carsten Brandt Date: Thu, 5 Sep 2013 18:22:24 +0200 Subject: [PATCH] CUBRID added exception about wrong implementation of quoteValue --- framework/yii/db/cubrid/QueryBuilder.php | 2 +- framework/yii/db/cubrid/Schema.php | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/framework/yii/db/cubrid/QueryBuilder.php b/framework/yii/db/cubrid/QueryBuilder.php index 28b6466..2132b58 100644 --- a/framework/yii/db/cubrid/QueryBuilder.php +++ b/framework/yii/db/cubrid/QueryBuilder.php @@ -21,7 +21,7 @@ class QueryBuilder extends \yii\db\QueryBuilder * @var array mapping from abstract column types (keys) to physical column types (values). */ public $typeMap = array( - Schema::TYPE_PK => 'int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY', + Schema::TYPE_PK => 'int NOT NULL AUTO_INCREMENT PRIMARY KEY', Schema::TYPE_STRING => 'varchar(255)', Schema::TYPE_TEXT => 'varchar', Schema::TYPE_SMALLINT => 'smallint', diff --git a/framework/yii/db/cubrid/Schema.php b/framework/yii/db/cubrid/Schema.php index 9242dc1..f0b909b 100644 --- a/framework/yii/db/cubrid/Schema.php +++ b/framework/yii/db/cubrid/Schema.php @@ -7,6 +7,7 @@ namespace yii\db\cubrid; +use yii\base\NotSupportedException; use yii\db\Expression; use yii\db\TableSchema; use yii\db\ColumnSchema; @@ -87,6 +88,29 @@ class Schema extends \yii\db\Schema } /** + * Quotes a string value for use in a query. + * Note that if the parameter is not a string, it will be returned without change. + * @param string $str string to be quoted + * @return string the properly quoted string + * @see http://www.php.net/manual/en/function.PDO-quote.php + */ + public function quoteValue($str) + { + throw new NotSupportedException('quoteValue is currently broken in cubrid PDO'); + // TODO implement workaround +/* if (!is_string($str)) { + return $str; + } + + $this->db->open(); + if (($value = $this->db->pdo->quote($str)) !== false) { + return $value; + } else { // the driver doesn't support quote (e.g. oci) + return "'" . addcslashes(str_replace("'", "''", $str), "\000\n\r\\\032") . "'"; + }*/ + } + + /** * Creates a query builder for the CUBRID database. * @return QueryBuilder query builder instance */