⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 php_monetdb.h

📁 这个是内存数据库的客户端
💻 H
字号:
/*   +----------------------------------------------------------------------+   | PHP Version 5                                                        |   +----------------------------------------------------------------------+   | Copyright (c) 1997-2006 The PHP Group                                |   +----------------------------------------------------------------------+   | This source file is subject to version 3.01 of the PHP license,      |   | that is bundled with this package in the file LICENSE, and is        |   | available through the world-wide-web at the following url:           |   | http://www.php.net/license/3_01.txt                                  |   | If you did not receive a copy of the PHP license and are unable to   |   | obtain it through the world-wide-web, please send a note to          |   | license@php.net so we can mail you a copy immediately.               |   +----------------------------------------------------------------------+   | Authors: Zeev Suraski <zeev@zend.com>                                |   |          Jouni Ahto <jouni.ahto@exdec.fi>                            |   |          Fabian Groffen <fabian@cwi.nl> (monetdb version)            |   +----------------------------------------------------------------------+ */ /* $Id: php_monetdb.h,v 1.1 2006/12/22 15:24:17 sjoerd Exp $ */#ifndef PHP_MONETDB_H#define PHP_MONETDB_Hextern zend_module_entry monetdb_module_entry;#define monetdb_module_ptr &monetdb_module_entry# ifdef PHP_WIN32#  define INV_WRITE            0x00020000#  define INV_READ             0x00040000#  undef PHP_MONETDB_API#  ifdef MONETDB_EXPORTS#   define PHP_MONETDB_API __declspec(dllexport)#  else#   define PHP_MONETDB_API __declspec(dllimport)#  endif# else#  define PHP_MONETDB_API /* nothing special */# endif# ifdef HAVE_PGSQL_WITH_MULTIBYTE_SUPPORTconst char * pg_encoding_to_char(int encoding);# endifPHP_MINIT_FUNCTION(monetdb);PHP_MSHUTDOWN_FUNCTION(monetdb);PHP_RINIT_FUNCTION(monetdb);PHP_RSHUTDOWN_FUNCTION(monetdb);PHP_MINFO_FUNCTION(monetdb);/* connection functions */PHP_FUNCTION(monetdb_connect);PHP_FUNCTION(monetdb_pconnect);PHP_FUNCTION(monetdb_close);PHP_FUNCTION(monetdb_connection_reset);PHP_FUNCTION(monetdb_connection_status);PHP_FUNCTION(monetdb_connection_busy);PHP_FUNCTION(monetdb_host);PHP_FUNCTION(monetdb_dbname);PHP_FUNCTION(monetdb_version);PHP_FUNCTION(monetdb_ping);/* query functions */PHP_FUNCTION(monetdb_query);#ifdef I_FEEL_LIKE_IMPLEMENTING_PREPARED_STUFFPHP_FUNCTION(monetdb_query_params);PHP_FUNCTION(monetdb_prepare);PHP_FUNCTION(monetdb_execute);PHP_FUNCTION(monetdb_send_query);PHP_FUNCTION(monetdb_send_query_params);PHP_FUNCTION(monetdb_send_prepare);PHP_FUNCTION(monetdb_send_execute);PHP_FUNCTION(monetdb_get_result);PHP_FUNCTION(monetdb_result_status);#endif/* result functions */PHP_FUNCTION(monetdb_fetch_result);PHP_FUNCTION(monetdb_fetch_row);PHP_FUNCTION(monetdb_fetch_assoc);PHP_FUNCTION(monetdb_fetch_array);PHP_FUNCTION(monetdb_fetch_object);PHP_FUNCTION(monetdb_affected_rows);PHP_FUNCTION(monetdb_result_seek);PHP_FUNCTION(monetdb_free_result);PHP_FUNCTION(monetdb_num_rows);PHP_FUNCTION(monetdb_num_fields);PHP_FUNCTION(monetdb_field_name);PHP_FUNCTION(monetdb_field_table);PHP_FUNCTION(monetdb_field_type);PHP_FUNCTION(monetdb_field_num);PHP_FUNCTION(monetdb_field_prtlen);PHP_FUNCTION(monetdb_field_is_null);/* error message functions */PHP_FUNCTION(monetdb_last_error);PHP_FUNCTION(monetdb_last_notice);/* copy functions */#ifdef I_FEEL_LIKE_IMPLEMENTING_COPY_INTO_PROPERLYPHP_FUNCTION(monetdb_put_line);PHP_FUNCTION(monetdb_end_copy);PHP_FUNCTION(monetdb_copy_to);PHP_FUNCTION(monetdb_copy_from);#endif/* utility functions */PHP_FUNCTION(monetdb_escape_string);/* misc functions */#ifdef I_FEEL_LIKE_IMPLEMENTING_POSTGRES_EXPERIMENTAL_FUNCTIONSPHP_FUNCTION(monetdb_meta_data);PHP_FUNCTION(monetdb_convert);PHP_FUNCTION(monetdb_insert);PHP_FUNCTION(monetdb_update);PHP_FUNCTION(monetdb_delete);PHP_FUNCTION(monetdb_select);#endif/* connection options - TODO: Add async connection option */#define MONETDB_CONNECT_FORCE_NEW     (1<<1)/* php_pgsql_convert options */#define MONETDB_CONV_IGNORE_DEFAULT   (1<<1)     /* Do not use DEAFULT value by removing field from returned array */#define MONETDB_CONV_FORCE_NULL       (1<<2)     /* Convert to NULL if string is null string */#define MONETDB_CONV_IGNORE_NOT_NULL  (1<<3)     /* Ignore NOT NULL constraints */#define MONETDB_CONV_OPTS             (MONETDB_CONV_IGNORE_DEFAULT|MONETDB_CONV_FORCE_NULL|MONETDB_CONV_IGNORE_NOT_NULL)/* php_pgsql_insert/update/select/delete options */#define MONETDB_DML_NO_CONV           (1<<8)     /* Do not call php_pgsql_convert() */#define MONETDB_DML_EXEC              (1<<9)     /* Execute query */#define MONETDB_DML_ASYNC             (1<<10)    /* Do async query */#define MONETDB_DML_STRING            (1<<11)    /* Return query string *//* avoid redeclaration */#ifdef _POSIX_C_SOURCE# undef _POSIX_C_SOURCE#endif#include "Mapi.h"/* typedefs for convenience; not using Mapi's as those already are a * pointer to the struct*/typedef struct MapiStruct Mconn;typedef struct MapiStatement Mresult;/* exported functions */PHP_MONETDB_API int php_monetdb_meta_data(Mconn *m_link, const char *table_name, zval *meta TSRMLS_DC);PHP_MONETDB_API int php_monetdb_convert(Mconn *m_link, const char *table_name, const zval *values, zval *result, ulong opt TSRMLS_DC);PHP_MONETDB_API int php_monetdb_insert(Mconn *m_link, const char *table, zval *values, ulong opt, char **sql TSRMLS_DC);PHP_MONETDB_API int php_monetdb_update(Mconn *m_link, const char *table, zval *values, zval *ids, ulong opt , char **sql TSRMLS_DC);PHP_MONETDB_API int php_monetdb_delete(Mconn *m_link, const char *table, zval *ids, ulong opt, char **sql TSRMLS_DC);PHP_MONETDB_API int php_monetdb_select(Mconn *m_link, const char *table, zval *ids, zval *ret_array, ulong opt, char **sql  TSRMLS_DC);PHP_MONETDB_API int php_monetdb_result2array(Mresult *m_result, zval *ret_array TSRMLS_DC);/* internal functions */static void php_monetdb_do_connect(INTERNAL_FUNCTION_PARAMETERS,int persistent);static void php_monetdb_get_link_info(INTERNAL_FUNCTION_PARAMETERS, int entry_type);static void php_monetdb_get_result_info(INTERNAL_FUNCTION_PARAMETERS, int entry_type);static void php_monetdb_get_field_info(INTERNAL_FUNCTION_PARAMETERS, int entry_type);static void php_monetdb_data_info(INTERNAL_FUNCTION_PARAMETERS, int entry_type);#ifdef I_FEEL_LIKE_IMPLEMENTING_PREPARED_STUFFstatic void php_monetdb_do_async(INTERNAL_FUNCTION_PARAMETERS,int entry_type);#endiftypedef enum _php_monetdb_data_type {	/* boolean */	M_BOOL,	/* number */	M_OID,	M_INT2,	M_INT4,	M_INT8,	M_FLOAT4,	M_FLOAT8,	M_NUMERIC,	M_MONEY,	/* character */	M_TEXT,	M_CHAR,	M_VARCHAR,	/* time and interval */	M_UNIX_TIME,	M_UNIX_TIME_INTERVAL,	M_DATE,	M_TIME,	M_TIME_WITH_TIMEZONE,	M_TIMESTAMP,	M_TIMESTAMP_WITH_TIMEZONE,	M_INTERVAL,	/* binary */	M_BYTEA,	/* network */	M_CIDR,	M_INET,	M_MACADDR,	/* bit */	M_BIT,	M_VARBIT,	/* geometoric */	M_LINE,	M_LSEG,	M_POINT,	M_BOX,	M_PATH,	M_POLYGON,	M_CIRCLE,	/* unkown and system */	M_UNKNOWN} php_monetdb_data_type;typedef struct mLofp {	Mconn *conn;	int lofd;} mLofp;typedef struct _php_monetdb_result_handle {	Mconn *conn;	Mresult *result;	int row;} php_monetdb_result_handle;typedef struct _php_monetdb_notice {	char *message;	int len;} php_monetdb_notice;ZEND_BEGIN_MODULE_GLOBALS(monetdb)	long default_link; /* default link when connection is omitted */	long num_links,num_persistent;	long max_links,max_persistent;	long allow_persistent;	long auto_reset_persistent;	int le_lofp,le_string;	int ignore_notices,log_notices;	HashTable errors;  /* error message for each connection */	HashTable notices;  /* notice message for each connection */	char* default_hostname;	char* default_username;	char* default_password;	char* default_language;	int default_port;ZEND_END_MODULE_GLOBALS(monetdb)ZEND_EXTERN_MODULE_GLOBALS(monetdb)#ifdef ZTS# define MG(v) TSRMG(monetdb_globals_id, zend_monetdb_globals *, v)#else# define MG(v) (monetdb_globals.v)#endif#define phpext_monetdb_ptr monetdb_module_ptr#endif /* PHP_PGSQL_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -