diff --git a/framework/yii/db/pgsql/QueryBuilder.php b/framework/yii/db/pgsql/QueryBuilder.php new file mode 100644 index 0000000..c0d5089 --- /dev/null +++ b/framework/yii/db/pgsql/QueryBuilder.php @@ -0,0 +1,48 @@ + + * @since 2.0 + */ +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 => 'bigserial not null primary key', + Schema::TYPE_STRING => 'varchar(255)', + Schema::TYPE_TEXT => 'text', + Schema::TYPE_SMALLINT => 'smallint', + Schema::TYPE_INTEGER => 'integer', + Schema::TYPE_BIGINT => 'bigint', + Schema::TYPE_FLOAT => 'real', + Schema::TYPE_DECIMAL => 'decimal', + Schema::TYPE_DATETIME => 'timestamp', + Schema::TYPE_TIMESTAMP => 'timestamp', + Schema::TYPE_TIME => 'time', + Schema::TYPE_DATE => 'date', + Schema::TYPE_BINARY => 'bytea', + Schema::TYPE_BOOLEAN => 'boolean', + Schema::TYPE_MONEY => 'numeric(19,4)', + ); + + public function insert($table, $columns, &$params) { + $sql = parent::insert($table, $columns, $params); + return $sql . ' RETURNING *'; + } + +}