#include "php_pdo_pgsql.h"
#include "php_pdo_pgsql_int.h"
#include "zend_exceptions.h"
+#include "pgsql_driver_arginfo.h"
static char * _pdo_pgsql_trim_message(const char *message, int persistent)
{
}
/* {{{ Returns true if the copy worked fine or false if error */
-static PHP_METHOD(PDO, pgsqlCopyFromArray)
+PHP_METHOD(PDO_PGSql_Ext, pgsqlCopyFromArray)
{
pdo_dbh_t *dbh;
pdo_pgsql_db_handle *H;
/* }}} */
/* {{{ Returns true if the copy worked fine or false if error */
-static PHP_METHOD(PDO, pgsqlCopyFromFile)
+PHP_METHOD(PDO_PGSql_Ext, pgsqlCopyFromFile)
{
pdo_dbh_t *dbh;
pdo_pgsql_db_handle *H;
/* {{{ Returns true if the copy worked fine or false if error */
-static PHP_METHOD(PDO, pgsqlCopyToFile)
+PHP_METHOD(PDO_PGSql_Ext, pgsqlCopyToFile)
{
pdo_dbh_t *dbh;
pdo_pgsql_db_handle *H;
/* }}} */
/* {{{ Returns true if the copy worked fine or false if error */
-static PHP_METHOD(PDO, pgsqlCopyToArray)
+PHP_METHOD(PDO_PGSql_Ext, pgsqlCopyToArray)
{
pdo_dbh_t *dbh;
pdo_pgsql_db_handle *H;
/* {{{ Creates a new large object, returning its identifier. Must be called inside a transaction. */
-static PHP_METHOD(PDO, pgsqlLOBCreate)
+PHP_METHOD(PDO_PGSql_Ext, pgsqlLOBCreate)
{
pdo_dbh_t *dbh;
pdo_pgsql_db_handle *H;
/* }}} */
/* {{{ Opens an existing large object stream. Must be called inside a transaction. */
-static PHP_METHOD(PDO, pgsqlLOBOpen)
+PHP_METHOD(PDO_PGSql_Ext, pgsqlLOBOpen)
{
pdo_dbh_t *dbh;
pdo_pgsql_db_handle *H;
/* }}} */
/* {{{ Deletes the large object identified by oid. Must be called inside a transaction. */
-static PHP_METHOD(PDO, pgsqlLOBUnlink)
+PHP_METHOD(PDO_PGSql_Ext, pgsqlLOBUnlink)
{
pdo_dbh_t *dbh;
pdo_pgsql_db_handle *H;
/* }}} */
/* {{{ Get asynchronous notification */
-static PHP_METHOD(PDO, pgsqlGetNotify)
+PHP_METHOD(PDO_PGSql_Ext, pgsqlGetNotify)
{
pdo_dbh_t *dbh;
pdo_pgsql_db_handle *H;
/* }}} */
/* {{{ Get backend(server) pid */
-static PHP_METHOD(PDO, pgsqlGetPid)
+PHP_METHOD(PDO_PGSql_Ext, pgsqlGetPid)
{
pdo_dbh_t *dbh;
pdo_pgsql_db_handle *H;
}
/* }}} */
-
-static const zend_function_entry dbh_methods[] = {
- PHP_ME(PDO, pgsqlLOBCreate, NULL, ZEND_ACC_PUBLIC)
- PHP_ME(PDO, pgsqlLOBOpen, NULL, ZEND_ACC_PUBLIC)
- PHP_ME(PDO, pgsqlLOBUnlink, NULL, ZEND_ACC_PUBLIC)
- PHP_ME(PDO, pgsqlCopyFromArray, NULL, ZEND_ACC_PUBLIC)
- PHP_ME(PDO, pgsqlCopyFromFile, NULL, ZEND_ACC_PUBLIC)
- PHP_ME(PDO, pgsqlCopyToArray, NULL, ZEND_ACC_PUBLIC)
- PHP_ME(PDO, pgsqlCopyToFile, NULL, ZEND_ACC_PUBLIC)
- PHP_ME(PDO, pgsqlGetNotify, NULL, ZEND_ACC_PUBLIC)
- PHP_ME(PDO, pgsqlGetPid, NULL, ZEND_ACC_PUBLIC)
- PHP_FE_END
-};
-
static const zend_function_entry *pdo_pgsql_get_driver_methods(pdo_dbh_t *dbh, int kind)
{
switch (kind) {
case PDO_DBH_DRIVER_METHOD_KIND_DBH:
- return dbh_methods;
+ return class_PDO_PGSql_Ext_methods;
default:
return NULL;
}
--- /dev/null
+<?php
+
+/** @generate-function-entries */
+
+// These are extension methods for PDO. This is not a real class.
+class PDO_PGSql_Ext {
+ /** @return bool */
+ public function pgsqlCopyFromArray(string $table_name, array $rows, string $delimiter = "\t", string $null_as = "\\\\N", string $fields = UNKNOWN) {}
+
+ /** @return bool */
+ public function pgsqlCopyFromFile(string $table_name, string $filename, string $delimiter = "\t", string $null_as = "\\\\N", string $fields = UNKNOWN) {}
+
+ /** @return array|false */
+ public function pgsqlCopyToArray(string $table_name, string $delimiter = "\t", string $null_as = "\\\\N", string $fields = UNKNOWN) {}
+
+ /** @return bool */
+ public function pgsqlCopyToFile(string $table_name, string $filename, string $delimiter = "\t", string $null_as = "\\\\N", string $fields = UNKNOWN) {}
+
+ /** @return string|false */
+ public function pgsqlLOBCreate() {}
+
+ /** @return resource|false */
+ public function pgsqlLOBOpen(string $oid, string $mode = "rb") {}
+
+ /** @return bool */
+ public function pgsqlLOBUnlink(string $oid) {}
+
+ /** @return array|false */
+ public function pgsqlGetNotify(int $result_type = PDO::FETCH_USE_DEFAULT, int $ms_timeout = 0) {}
+
+ /** @return int */
+ public function pgsqlGetPid() {}
+}
--- /dev/null
+/* This is a generated file, edit the .stub.php file instead.
+ * Stub hash: 80c3e9c95db8c68ff3a2c2753aa5e9485af9fe4c */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_PGSql_Ext_pgsqlCopyFromArray, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, table_name, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, rows, IS_ARRAY, 0)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, delimiter, IS_STRING, 0, "\"\\t\"")
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, null_as, IS_STRING, 0, "\"\\\\\\\\N\"")
+ ZEND_ARG_TYPE_INFO(0, fields, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_PGSql_Ext_pgsqlCopyFromFile, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, table_name, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, delimiter, IS_STRING, 0, "\"\\t\"")
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, null_as, IS_STRING, 0, "\"\\\\\\\\N\"")
+ ZEND_ARG_TYPE_INFO(0, fields, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_PGSql_Ext_pgsqlCopyToArray, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, table_name, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, delimiter, IS_STRING, 0, "\"\\t\"")
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, null_as, IS_STRING, 0, "\"\\\\\\\\N\"")
+ ZEND_ARG_TYPE_INFO(0, fields, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_PDO_PGSql_Ext_pgsqlCopyToFile arginfo_class_PDO_PGSql_Ext_pgsqlCopyFromFile
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_PGSql_Ext_pgsqlLOBCreate, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_PGSql_Ext_pgsqlLOBOpen, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, oid, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_STRING, 0, "\"rb\"")
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_PGSql_Ext_pgsqlLOBUnlink, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, oid, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_PGSql_Ext_pgsqlGetNotify, 0, 0, 0)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, result_type, IS_LONG, 0, "PDO::FETCH_USE_DEFAULT")
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, ms_timeout, IS_LONG, 0, "0")
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_PDO_PGSql_Ext_pgsqlGetPid arginfo_class_PDO_PGSql_Ext_pgsqlLOBCreate
+
+
+ZEND_METHOD(PDO_PGSql_Ext, pgsqlCopyFromArray);
+ZEND_METHOD(PDO_PGSql_Ext, pgsqlCopyFromFile);
+ZEND_METHOD(PDO_PGSql_Ext, pgsqlCopyToArray);
+ZEND_METHOD(PDO_PGSql_Ext, pgsqlCopyToFile);
+ZEND_METHOD(PDO_PGSql_Ext, pgsqlLOBCreate);
+ZEND_METHOD(PDO_PGSql_Ext, pgsqlLOBOpen);
+ZEND_METHOD(PDO_PGSql_Ext, pgsqlLOBUnlink);
+ZEND_METHOD(PDO_PGSql_Ext, pgsqlGetNotify);
+ZEND_METHOD(PDO_PGSql_Ext, pgsqlGetPid);
+
+
+static const zend_function_entry class_PDO_PGSql_Ext_methods[] = {
+ ZEND_ME(PDO_PGSql_Ext, pgsqlCopyFromArray, arginfo_class_PDO_PGSql_Ext_pgsqlCopyFromArray, ZEND_ACC_PUBLIC)
+ ZEND_ME(PDO_PGSql_Ext, pgsqlCopyFromFile, arginfo_class_PDO_PGSql_Ext_pgsqlCopyFromFile, ZEND_ACC_PUBLIC)
+ ZEND_ME(PDO_PGSql_Ext, pgsqlCopyToArray, arginfo_class_PDO_PGSql_Ext_pgsqlCopyToArray, ZEND_ACC_PUBLIC)
+ ZEND_ME(PDO_PGSql_Ext, pgsqlCopyToFile, arginfo_class_PDO_PGSql_Ext_pgsqlCopyToFile, ZEND_ACC_PUBLIC)
+ ZEND_ME(PDO_PGSql_Ext, pgsqlLOBCreate, arginfo_class_PDO_PGSql_Ext_pgsqlLOBCreate, ZEND_ACC_PUBLIC)
+ ZEND_ME(PDO_PGSql_Ext, pgsqlLOBOpen, arginfo_class_PDO_PGSql_Ext_pgsqlLOBOpen, ZEND_ACC_PUBLIC)
+ ZEND_ME(PDO_PGSql_Ext, pgsqlLOBUnlink, arginfo_class_PDO_PGSql_Ext_pgsqlLOBUnlink, ZEND_ACC_PUBLIC)
+ ZEND_ME(PDO_PGSql_Ext, pgsqlGetNotify, arginfo_class_PDO_PGSql_Ext_pgsqlGetNotify, ZEND_ACC_PUBLIC)
+ ZEND_ME(PDO_PGSql_Ext, pgsqlGetPid, arginfo_class_PDO_PGSql_Ext_pgsqlGetPid, ZEND_ACC_PUBLIC)
+ ZEND_FE_END
+};