diff options
author | Yasuo Ohgaki <yohgaki@php.net> | 2001-12-11 08:15:25 +0000 |
---|---|---|
committer | Yasuo Ohgaki <yohgaki@php.net> | 2001-12-11 08:15:25 +0000 |
commit | 02c1e81a5438de0367995619e5450d99040f0963 (patch) | |
tree | cf816f48c94e7ff3562109c5fa959447a3ee2f7c /ext/pgsql/README | |
parent | d28ef151e0a4287b36bdb96940448cc2501bf976 (diff) | |
download | php-git-02c1e81a5438de0367995619e5450d99040f0963.tar.gz |
More README update.
Diffstat (limited to 'ext/pgsql/README')
-rw-r--r-- | ext/pgsql/README | 78 |
1 files changed, 44 insertions, 34 deletions
diff --git a/ext/pgsql/README b/ext/pgsql/README index 0015bd2a9e..aa16e99414 100644 --- a/ext/pgsql/README +++ b/ext/pgsql/README @@ -5,20 +5,21 @@ pgsql module. I appreciate your feedback. Current CVS version (probably 4.0.6 or later) compiles without modefication. -==== Function Name Change ==== -Function names are going to be changed. MySQL module has been done -this already. Function names will be changed as follows. +==== Function Name Change ==== +Function names are going to be changed to confirm coding +standard. MySQL module has been done this already. Function names will +be changed as follows. pg_errormessage -> pg_error_message pg_cmdtuples -> pg_affected_rows pg_fieldnum -> pg_field_num -and so on. Except pg_cmdtuples, under scores('_') will be added to +and so on. Except pg_cmdtuples, under scores '_' will be added to names. Older names will become aliases of new functions for backward compatibility. -Manual will be updated when this change is done in CVS source. +Manual will be updated when this change is commited to CVS source. ==== TODO === Add pg_result_error_message() to get error messages associated with @@ -27,62 +28,71 @@ Add pg_lotell(), pg_lolseek(). Add pg_escape(). This function requires PostgreSQL 7.2 or later. Add pg_copy_to() and pg_copy_from() for easier use of copy command. -==== Async Functions ===== +==== Experimental Async Functions ===== Async query can improve application performance *significantly*. Please test and report any failure to -yohgaki@php.net There are cases that async query does not work -as expected. Refer to libpq manual for details. I also implemented -functions that I need. +yohgaki@php.net + +There are some cases that async functions blocks process. Even if +process was blocked, functions work as expected. (except it blocks +process) These are cases that process is blocked. Refer to libpq +manual for details. Followings are common cases that async functions +are blocked. + + - If libpq is compile with USE_SSL, some async functions are + blocked. + - If libpq under Win32 is *NOT* compiled with + WIN32_NON_BLOCKING_CONNECTIONS, non-blocking connection will block. + +Garbages are cleaned when resource is cleaned up. There is no need to +clean up query result if it is not needed. Please refer to libpq manual or source for details. -These functions are not supposed to be documented, yet. +These functions are *NOT* supposed to be documented, yet. API may be changed. -** Functions ** - +------------------------------------------------------------------- bool pg_send_query(resource connection, string query) -Send async query to backend. Result may be retrieved with +Sends async query to backend. Result may be retrieved with pg_get_result(). It does not accept multiple query, but it accepts multiple queries at once. Each result may be retrieved separately by pg_get_result(). +-------------------------------------------------------------------- bool pg_request_cancel(resource connection) -Cancel currently executing async query already sent to PostgreSQL +Cancels currently executing async query already sent to PostgreSQL server. This function is useful when user request time consuming query to server. It cannot cancel query executed by pg_exec(), since pg_exec() is a blocking function. +-------------------------------------------------------------------- resource pg_get_result(resource conn) -Get pgsql query result resource. Returned value can be fed to -pg_result()/pg_fetch_*(). pg_get_result() may block, use pg_is_busy() -to check result are ready to be retrieved. If multiple query is sent -to backend, it may be retrieved one by one using pg_get_result(). If -there is no result left in connection, it returns false. +Gets pgsql query result resource. Returned value can be fed to +pg_result()/pg_fetch_*(). pg_get_result() may block if result is not +ready to be retrived. Use pg_is_busy() to check result is ready to be +retrieved or not. If multiple query is sent to backend, it may be +retrieved one by one using pg_get_result(). If there is no result left +in connection, it returns false. + +-------------------------------------------------------------------- bool pg_is_busy(resource connection) -Returns connections is executing query or not. +Returns connections is executing query or not. -** Misc functions ** +-------------------------------------------------------------------- int pg_status(resource connection) -Get connection status. It return PGSQL_CONNECTION_OK or + +Gets connection status. It returns PGSQL_CONNECTION_OK or PGSQL_CONNECTION_BAD. +-------------------------------------------------------------------- bool pg_reset(resource connection) -Reset communication port to Postgresql server using the same -connection parameter. It's useful for error recovery. -Note: There are some cases that async functions blocks process. Even -if process was blocked, functions are work as expected. (except it -blocks process) These are common cases that process is blocked. Refer -to libpq manual for details. - - If libpq is compile with USE_SSL, some async functions are - blocked. - - If libpq under Win32 is *NOT* compiled with - WIN32_NON_BLOCKING_CONNECTIONS, non-blocking connection will block. +Resets communication port to Postgresql server using the same +connection parameter. It's useful for error recovery. -Garbages are cleaned when resource is cleaned up. There is no need to -clean up query result if it is not needed. +-------------------------------------------------------------------- |