Commit graph

859 commits

Author SHA1 Message Date
Daniel Lowrey
2ee4c987e6 Support async pgsql connections and non-blocking queries
- New functions (each accepts a pgsql $connection resource):

  . pg_connect_poll
  . pg_socket
  . pg_consume_input
  . pg_flush

- Modified functions

  The following functions now additionally return zero if the
  underlying socket is set to non-blocking mode and the send
  operation does not complete immediately. Previously these
  functions returned only boolean TRUE/FALSE and blocked
  execution while polling until all data was sent:

  . pg_send_execute
  . pg_send_prepare
  . pg_send_query
  . pg_send_query_params

- New constants

  Used with pg_connect() to initiate an asynchronous connection
  attempt:

  . PGSQL_CONNECT_ASYNC

  Used with pg_connection_status() to determine the current state
  of an async connection attempt:

  . PGSQL_CONNECTION_STARTED
  . PGSQL_CONNECTION_MADE
  . PGSQL_CONNECTION_AWAITING_RESPONSE
  . PGSQL_CONNECTION_AUTH_OK
  . PGSQL_CONNECTION_SSL_STARTUP
  . PGSQL_CONNECTION_SETENV

  Used with pg_connect_poll() to determine the result of an
  async connection attempt:

  . PGSQL_POLLING_FAILED
  . PGSQL_POLLING_READING
  . PGSQL_POLLING_WRITING
  . PGSQL_POLLING_OK
  . PGSQL_POLLING_ACTIVE

- Polling via returned pg_socket() stream

  pg_socket() returns a read-only socket stream that may be
  cast to a file descriptor for select (and similar) polling
  operations. Blocking behavior of the pgsql connection socket
  can be controlled by calling stream_set_blocking() on the
  stream returned by pg_socket().
2014-03-17 06:31:15 -06:00
Anatol Belski
6877af3f71 simplify the metadata part 2014-02-17 10:20:36 +01:00
Yasuo Ohgaki
d8aa130296 Imprement FR #25854 Return value for pg_insert should be resource instead of bool 2014-02-17 06:36:54 +09:00
Yasuo Ohgaki
5fd6365c77 Implement FR #41146 - Add "description" with exteneded flag pg_meta_data().
pg_meta_data(resource $conn, string $table [, bool extended])
It also made pg_meta_data() return "is enum" always.
2014-02-17 06:24:10 +09:00
Anatol Belski
a9c0d319eb updated pgsql/config.w32
keep track with the latest changes for postgles 9.3 compatibility
2014-02-16 17:13:56 +01:00
Yasuo Ohgaki
170db1c577 Travis has old PostgreSQL server. Avoid test error. 2014-02-16 18:08:50 +09:00
Yasuo Ohgaki
4a2b39269f It seems travis needs ending >? 2014-02-16 16:40:58 +09:00
Yasuo Ohgaki
56854511d8 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.
2014-02-16 14:11:21 +09:00
Yasuo Ohgaki
3f4134c00c Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed possbile injections against pg_insert()/pg_delete()/pg_update()/pg_select()
2014-02-16 10:47:32 +09:00
Yasuo Ohgaki
3fcdecf658 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed possbile injections against pg_insert()/pg_delete()/pg_update()/pg_select()
2014-02-16 10:45:50 +09:00
Yasuo Ohgaki
f275fdcf00 Fixed possbile injections against pg_insert()/pg_delete()/pg_update()/pg_select() 2014-02-16 10:45:15 +09:00
Yasuo Ohgaki
a12c896dba Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Refactor build_tablename()
2014-02-16 07:52:00 +09:00
Yasuo Ohgaki
f9537c2a0b Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Refactor build_tablename()
2014-02-16 07:51:50 +09:00
Yasuo Ohgaki
6f14b5ab41 Refactor build_tablename() 2014-02-16 07:51:27 +09:00
Yasuo Ohgaki
53f34bca76 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Revise encoding blacklist
2014-02-16 06:25:15 +09:00
Yasuo Ohgaki
8c9fd8fb53 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Revise encoding blacklist
2014-02-16 06:25:01 +09:00
Yasuo Ohgaki
9f251548ae Revise encoding blacklist 2014-02-16 06:21:39 +09:00
Felipe Pena
8cec20a565 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  - Fix ZTS build when HAVE_PQESCAPELITERAL is not set
  Update NEWS
  Update NEWS
2014-02-15 11:05:25 -02:00
Felipe Pena
a65a546640 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  - Fix ZTS build when HAVE_PQESCAPELITERAL is not set
  Update NEWS
2014-02-15 11:05:08 -02:00
Felipe Pena
9d84f6c06e - Fix ZTS build when HAVE_PQESCAPELITERAL is not set 2014-02-15 11:04:49 -02:00
Yasuo Ohgaki
5ff9089aeb Merge branch 'PHP-5.5' into PHP-5.6 2014-02-15 18:30:11 +09:00
Yasuo Ohgaki
6e0b8b4288 Merge branch 'PHP-5.4' into PHP-5.5 2014-02-15 18:29:36 +09:00
Yasuo Ohgaki
832c21cabf Refactor and cleanup. WS is cleaned up. Use -b if it is needed.
Added compatibility macros, PQescapeStringConn, PGSQLescapeLiteral/Identifier, PGSQLfree.
2014-02-15 18:20:58 +09:00
Lior Kaplan
23d952ed60 Merge branch 'PHP-5.5' into PHP-5.6 2014-02-14 17:15:35 +02:00
Lior Kaplan
c09bd9def0 Merge branch 'PHP-5.4' into PHP-5.5 2014-02-14 15:30:00 +02:00
Veres Lajos
35101e9ef4 a few typofixes 2014-02-14 14:51:10 +02:00
Anatol Belski
4247f624cb Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fixed missing usleep() prototype in pgsql
2014-01-22 11:53:56 +01:00
Anatol Belski
e67ef24227 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fixed missing usleep() prototype in pgsql
2014-01-22 11:53:32 +01:00
Anatol Belski
7bcf01f39a fixed missing usleep() prototype in pgsql 2014-01-22 11:52:52 +01:00
Yasuo Ohgaki
28be6aea9c Added pg_lo_truncate() and 64bit large object support from PostgreSQL 9.3 and up 2014-01-15 14:37:24 +09:00
Yasuo Ohgaki
c58329fccc Always initialize pg_version() result array elements to prevent failed test with older postgresql servers. Add missing client_encoding element. 2014-01-15 14:27:33 +09:00
Yasuo Ohgaki
d0924c2500 Fixed pg_version() crash with older postgresql 2014-01-15 13:32:15 +09:00
Yasuo Ohgaki
58dff7cee5 Made pg_version() return full connection info. 2014-01-14 10:10:48 +09:00
Xinchen Hui
c081ce628f Bump year 2014-01-03 11:08:10 +08:00
Xinchen Hui
47c9027772 Bump year 2014-01-03 11:06:16 +08:00
Xinchen Hui
c0d060f5c0 Bump year 2014-01-03 11:04:26 +08:00
Yasuo Ohgaki
29e5a9659f Merge branch 'PHP-5.5'
* PHP-5.5:
  Fix Coverity issue reporting wrong sizeof()
2013-10-22 12:30:24 +09:00
Yasuo Ohgaki
6af3683a4c Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix Coverity issue reporting wrong sizeof()
2013-10-22 12:29:01 +09:00
Yasuo Ohgaki
1f5b1cfb2b Fix Coverity issue reporting wrong sizeof() 2013-10-22 12:27:18 +09:00
Matteo Beccati
80917e5ca2 Merge branch 'PHP-5.5'
* PHP-5.5:
  Fixed other compiler warnings
2013-08-22 15:34:22 +02:00
Matteo Beccati
908da14bd1 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed other compiler warnings
2013-08-22 15:34:11 +02:00
Matteo Beccati
d5987478a8 Fixed other compiler warnings 2013-08-22 15:33:54 +02:00
Nikita Popov
c0d99fd76a Apply pgsql notice test fixes to PHP-5.5 2013-08-22 14:02:55 +02:00
Nikita Popov
1a88fcc2d8 Remove trailing whitespace in test
Third try to make this work...
2013-08-22 13:09:53 +02:00
Nikita Popov
96045e1b33 Forgot newline in test 2013-08-22 12:26:34 +02:00
Nikita Popov
b668a26c2f Fix pgsql notice test failure 2013-08-22 11:31:56 +02:00
Matteo Beccati
3ec28b1d1f Merge branch 'PHP-5.5'
* PHP-5.5:
  Fixed compiler warnings in ext/pgsql
  Fixed other compiler warnings in PDO_PGSQL
  Fixed compiler warning
  Update NEWS

Conflicts:
	ext/pdo_pgsql/pgsql_driver.c
2013-08-21 11:26:41 +02:00
Matteo Beccati
4283f75c34 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed compiler warnings in ext/pgsql
  Fixed other compiler warnings in PDO_PGSQL
  Fixed compiler warning
2013-08-21 11:24:27 +02:00
Matteo Beccati
540f325664 Fixed compiler warnings in ext/pgsql 2013-08-21 11:24:12 +02:00
Yasuo Ohgaki
fdef0e38f7 Revert wrong description 2013-08-20 17:38:17 +09:00