mirror of
https://github.com/php/php-src.git
synced 2024-10-01 06:46:08 +00:00
56854511d8
Use string escape for exotic types that allows to handle any data types. i.e. Array, JSON, JSONB, etc will work. Add escape only query for better performance which removes meta data look up. Limitations forced by pg_convert() can be avoided with this. PGSQL_DML_ESCAPE constant is added for it.
38 lines
663 B
PHP
38 lines
663 B
PHP
--TEST--
|
|
PostgreSQL pg_convert() and JSON/Array
|
|
--SKIPIF--
|
|
<?php
|
|
include("skipif.inc");
|
|
skip_server_version('9.2');
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
error_reporting(E_ALL);
|
|
|
|
include 'config.inc';
|
|
|
|
$db = pg_connect($conn_str);
|
|
|
|
$fields = array(
|
|
'textary'=>'{"meeting", "lunch", "training", "presentation"}',
|
|
'jsn'=>'{"f1":1,"f2":"foo"}',
|
|
);
|
|
$converted = pg_convert($db, $table_name_92, $fields);
|
|
var_dump($converted);
|
|
|
|
if (!pg_insert($db, $table_name_92, $fields)) {
|
|
echo "Error\n";
|
|
} else {
|
|
echo "OK\n";
|
|
}
|
|
|
|
?>
|
|
--EXPECT--
|
|
array(2) {
|
|
[""textary""]=>
|
|
string(51) "E'{"meeting", "lunch", "training", "presentation"}'"
|
|
[""jsn""]=>
|
|
string(22) "E'{"f1":1,"f2":"foo"}'"
|
|
}
|
|
OK
|