diff options
author | Frank M. Kromann <fmk@php.net> | 2004-11-22 22:40:21 +0000 |
---|---|---|
committer | Frank M. Kromann <fmk@php.net> | 2004-11-22 22:40:21 +0000 |
commit | b38b068302f8e7a70e812af8bcadfe1fa69f16b1 (patch) | |
tree | 5b73c10175b23fa6d49f110a7a6f4ff2937a4621 /ext/fbsql | |
parent | 7c3eaef39d8c050b5edd9a8e672a78d3ac8a6338 (diff) | |
download | php-git-b38b068302f8e7a70e812af8bcadfe1fa69f16b1.tar.gz |
Adding fbsql_set_characterset.
Change PHP_INI_USER to PHP_INI_ALL on fbsql.batchsize
Diffstat (limited to 'ext/fbsql')
-rw-r--r-- | ext/fbsql/php_fbsql.c | 157 | ||||
-rw-r--r-- | ext/fbsql/php_fbsql.h | 1 |
2 files changed, 100 insertions, 58 deletions
diff --git a/ext/fbsql/php_fbsql.c b/ext/fbsql/php_fbsql.c index 59a69beaf7..acbc790e8a 100644 --- a/ext/fbsql/php_fbsql.c +++ b/ext/fbsql/php_fbsql.c @@ -184,73 +184,74 @@ char *DigestPassword(char *user, char *password) /* {{{ fbsql_functions[] */ function_entry fbsql_functions[] = { - PHP_FE(fbsql_connect, NULL) - PHP_FE(fbsql_pconnect, NULL) - PHP_FE(fbsql_close, NULL) - PHP_FE(fbsql_select_db, NULL) - PHP_FE(fbsql_create_db, NULL) - PHP_FE(fbsql_drop_db, NULL) - PHP_FE(fbsql_start_db, NULL) - PHP_FE(fbsql_stop_db, NULL) - PHP_FE(fbsql_db_status, NULL) - PHP_FE(fbsql_query, NULL) - PHP_FE(fbsql_db_query, NULL) - PHP_FE(fbsql_list_dbs, NULL) - PHP_FE(fbsql_list_tables, NULL) - PHP_FE(fbsql_list_fields, NULL) - PHP_FE(fbsql_error, NULL) - PHP_FE(fbsql_errno, NULL) - PHP_FE(fbsql_affected_rows, NULL) - PHP_FE(fbsql_rows_fetched, NULL) - PHP_FE(fbsql_insert_id, NULL) - PHP_FE(fbsql_result, NULL) - PHP_FE(fbsql_next_result, NULL) - PHP_FE(fbsql_num_rows, NULL) - PHP_FE(fbsql_num_fields, NULL) - PHP_FE(fbsql_fetch_row, NULL) - PHP_FE(fbsql_fetch_array, NULL) - PHP_FE(fbsql_fetch_assoc, NULL) - PHP_FE(fbsql_fetch_object, NULL) - PHP_FE(fbsql_data_seek, NULL) - PHP_FE(fbsql_fetch_lengths, NULL) - PHP_FE(fbsql_fetch_field, NULL) - PHP_FE(fbsql_field_seek, NULL) - PHP_FE(fbsql_free_result, NULL) - PHP_FE(fbsql_field_name, NULL) - PHP_FE(fbsql_field_table, NULL) - PHP_FE(fbsql_field_len, NULL) - PHP_FE(fbsql_field_type, NULL) - PHP_FE(fbsql_field_flags, NULL) - PHP_FE(fbsql_table_name, NULL) + PHP_FE(fbsql_connect, NULL) + PHP_FE(fbsql_pconnect, NULL) + PHP_FE(fbsql_close, NULL) + PHP_FE(fbsql_select_db, NULL) + PHP_FE(fbsql_set_characterset, NULL) + PHP_FE(fbsql_create_db, NULL) + PHP_FE(fbsql_drop_db, NULL) + PHP_FE(fbsql_start_db, NULL) + PHP_FE(fbsql_stop_db, NULL) + PHP_FE(fbsql_db_status, NULL) + PHP_FE(fbsql_query, NULL) + PHP_FE(fbsql_db_query, NULL) + PHP_FE(fbsql_list_dbs, NULL) + PHP_FE(fbsql_list_tables, NULL) + PHP_FE(fbsql_list_fields, NULL) + PHP_FE(fbsql_error, NULL) + PHP_FE(fbsql_errno, NULL) + PHP_FE(fbsql_affected_rows, NULL) + PHP_FE(fbsql_rows_fetched, NULL) + PHP_FE(fbsql_insert_id, NULL) + PHP_FE(fbsql_result, NULL) + PHP_FE(fbsql_next_result, NULL) + PHP_FE(fbsql_num_rows, NULL) + PHP_FE(fbsql_num_fields, NULL) + PHP_FE(fbsql_fetch_row, NULL) + PHP_FE(fbsql_fetch_array, NULL) + PHP_FE(fbsql_fetch_assoc, NULL) + PHP_FE(fbsql_fetch_object, NULL) + PHP_FE(fbsql_data_seek, NULL) + PHP_FE(fbsql_fetch_lengths, NULL) + PHP_FE(fbsql_fetch_field, NULL) + PHP_FE(fbsql_field_seek, NULL) + PHP_FE(fbsql_free_result, NULL) + PHP_FE(fbsql_field_name, NULL) + PHP_FE(fbsql_field_table, NULL) + PHP_FE(fbsql_field_len, NULL) + PHP_FE(fbsql_field_type, NULL) + PHP_FE(fbsql_field_flags, NULL) + PHP_FE(fbsql_table_name, NULL) /* Fontbase additions: */ PHP_FE(fbsql_set_transaction, NULL) - PHP_FE(fbsql_autocommit, NULL) - PHP_FE(fbsql_commit, NULL) - PHP_FE(fbsql_rollback, NULL) - - PHP_FE(fbsql_create_blob, NULL) - PHP_FE(fbsql_create_clob, NULL) - PHP_FE(fbsql_set_lob_mode, NULL) - PHP_FE(fbsql_read_blob, NULL) - PHP_FE(fbsql_read_clob, NULL) - PHP_FE(fbsql_blob_size, NULL) - PHP_FE(fbsql_clob_size, NULL) - - PHP_FE(fbsql_hostname, NULL) - PHP_FE(fbsql_database, NULL) + PHP_FE(fbsql_autocommit, NULL) + PHP_FE(fbsql_commit, NULL) + PHP_FE(fbsql_rollback, NULL) + + PHP_FE(fbsql_create_blob, NULL) + PHP_FE(fbsql_create_clob, NULL) + PHP_FE(fbsql_set_lob_mode, NULL) + PHP_FE(fbsql_read_blob, NULL) + PHP_FE(fbsql_read_clob, NULL) + PHP_FE(fbsql_blob_size, NULL) + PHP_FE(fbsql_clob_size, NULL) + + PHP_FE(fbsql_hostname, NULL) + PHP_FE(fbsql_database, NULL) PHP_FE(fbsql_database_password, NULL) - PHP_FE(fbsql_username, NULL) - PHP_FE(fbsql_password, NULL) - PHP_FE(fbsql_warnings, NULL) + PHP_FE(fbsql_username, NULL) + PHP_FE(fbsql_password, NULL) + PHP_FE(fbsql_warnings, NULL) PHP_FE(fbsql_set_password, NULL) PHP_FE(fbsql_get_autostart_info, NULL) /* PHP_FE(fbsql_set_autostart_info, NULL) */ /* Aliases: */ - PHP_FALIAS(fbsql, fbsql_db_query, NULL) - PHP_FALIAS(fbsql_tablename, fbsql_table_name, NULL) + PHP_FALIAS(fbsql, fbsql_db_query, NULL) + PHP_FALIAS(fbsql_tablename, fbsql_table_name, NULL) {NULL, NULL, NULL} }; @@ -382,7 +383,7 @@ PHP_INI_BEGIN() STD_PHP_INI_ENTRY_EX ("fbsql.max_links", "128", PHP_INI_SYSTEM, OnUpdateLong, maxLinks, zend_fbsql_globals, fbsql_globals, display_link_numbers) STD_PHP_INI_ENTRY_EX ("fbsql.max_connections", "128", PHP_INI_SYSTEM, OnUpdateLong, maxConnections, zend_fbsql_globals, fbsql_globals, display_link_numbers) STD_PHP_INI_ENTRY_EX ("fbsql.max_results", "128", PHP_INI_SYSTEM, OnUpdateLong, maxResults, zend_fbsql_globals, fbsql_globals, display_link_numbers) - STD_PHP_INI_ENTRY_EX ("fbsql.batchsize", "1000", PHP_INI_USER, OnUpdateLong, batchSize, zend_fbsql_globals, fbsql_globals, display_link_numbers) + STD_PHP_INI_ENTRY_EX ("fbsql.batchsize", "1000", PHP_INI_ALL, OnUpdateLong, batchSize, zend_fbsql_globals, fbsql_globals, display_link_numbers) STD_PHP_INI_ENTRY ("fbsql.default_host", NULL, PHP_INI_SYSTEM, OnUpdateString, hostName, zend_fbsql_globals, fbsql_globals) STD_PHP_INI_ENTRY ("fbsql.default_user", "_SYSTEM", PHP_INI_SYSTEM, OnUpdateString, userName, zend_fbsql_globals, fbsql_globals) STD_PHP_INI_ENTRY ("fbsql.default_password", "", PHP_INI_SYSTEM, OnUpdateString, userPassword, zend_fbsql_globals, fbsql_globals) @@ -435,6 +436,9 @@ PHP_MINIT_FUNCTION(fbsql) REGISTER_LONG_CONSTANT("FBSQL_ISO_SERIALIZABLE", FBSQL_ISO_SERIALIZABLE, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("FBSQL_ISO_VERSIONED", FBSQL_ISO_VERSIONED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FBSQL_UTF8", 0, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FBSQL_ISO8859_1", FBC_ISO8859_1, CONST_CS | CONST_PERSISTENT); + /* Register Status constants */ REGISTER_LONG_CONSTANT("FBSQL_UNKNOWN", FBUnknownStatus, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("FBSQL_STOPPED", FBStopped, CONST_CS | CONST_PERSISTENT); @@ -1431,6 +1435,43 @@ PHP_FUNCTION(fbsql_select_db) } /* }}} */ +/* {{{ proto void fbsql_set_characterset(resource link_identifier, long charcterset [, long in_out_both]]) + Change input/output character set */ +PHP_FUNCTION(fbsql_set_characterset) +{ + PHPFBLink* phpLink = NULL; + zval **fbsql_link_index, **zcharset, **zin_out; + int id; + int charset = -1, in_out_both = 3; + + switch (ZEND_NUM_ARGS()) { + case 2: + if (zend_get_parameters_ex(2, &fbsql_link_index, &zcharset)==FAILURE) { + RETURN_FALSE; + } + break; + case 3: + if (zend_get_parameters_ex(3, &fbsql_link_index, &zcharset, &zin_out)==FAILURE) { + RETURN_FALSE; + } + in_out_both = Z_LVAL_PP(zin_out); + break; + default: + WRONG_PARAM_COUNT; + break; + } + ZEND_FETCH_RESOURCE2(phpLink, PHPFBLink *, fbsql_link_index, id, "FrontBase-Link", le_link, le_plink); + + charset = Z_LVAL_PP(zcharset); + + if (in_out_both & 1) { + fbcdcSetInputCharacterSet(phpLink->connection, charset); + } + if (in_out_both & 2) { + fbcdcSetOutputCharacterSet(phpLink->connection, charset); + } +} + /* {{{ proto int fbsql_change_user(string user, string password [, string database [, resource link_identifier]]) Change the user for a session */ PHP_FUNCTION(fbsql_change_user) diff --git a/ext/fbsql/php_fbsql.h b/ext/fbsql/php_fbsql.h index 7c23727c5b..ff98989ab2 100644 --- a/ext/fbsql/php_fbsql.h +++ b/ext/fbsql/php_fbsql.h @@ -43,6 +43,7 @@ PHP_FUNCTION(fbsql_connect); PHP_FUNCTION(fbsql_pconnect); PHP_FUNCTION(fbsql_close); PHP_FUNCTION(fbsql_select_db); +PHP_FUNCTION(fbsql_set_characterset); PHP_FUNCTION(fbsql_change_user); PHP_FUNCTION(fbsql_create_db); PHP_FUNCTION(fbsql_drop_db); |