summaryrefslogtreecommitdiff
path: root/ext/pgsql/tests/10pg_convert_json_array.phpt
diff options
context:
space:
mode:
authorYasuo Ohgaki <yohgaki@php.net>2014-02-16 12:22:52 +0900
committerYasuo Ohgaki <yohgaki@php.net>2014-02-16 14:11:21 +0900
commit56854511d8f046d49cd34666764b37698d961431 (patch)
treec635621560fdd56dcf9b34de1b471a84efe59d4f /ext/pgsql/tests/10pg_convert_json_array.phpt
parent53daf94f28d562ff5f9d3d809448ee8188b16751 (diff)
downloadphp-git-56854511d8f046d49cd34666764b37698d961431.tar.gz
EXPERIMENTAL flags for pg_select/pg_insert/pg_update/pg_delete are removed.
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.
Diffstat (limited to 'ext/pgsql/tests/10pg_convert_json_array.phpt')
-rw-r--r--ext/pgsql/tests/10pg_convert_json_array.phpt37
1 files changed, 37 insertions, 0 deletions
diff --git a/ext/pgsql/tests/10pg_convert_json_array.phpt b/ext/pgsql/tests/10pg_convert_json_array.phpt
new file mode 100644
index 0000000000..960cfd6c99
--- /dev/null
+++ b/ext/pgsql/tests/10pg_convert_json_array.phpt
@@ -0,0 +1,37 @@
+--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