]> granicus.if.org Git - php/commitdiff
Use constant IBASE_CREATE instead of just 0
authorArd Biesheuvel <abies@php.net>
Tue, 1 Jun 2004 08:38:33 +0000 (08:38 +0000)
committerArd Biesheuvel <abies@php.net>
Tue, 1 Jun 2004 08:38:33 +0000 (08:38 +0000)
ext/interbase/ibase_query.c
ext/interbase/interbase.c
ext/interbase/php_ibase_includes.h
ext/interbase/tests/interbase.inc

index 6493323081407bd9d0b70af44d550456505e2a4c..76b539650f7a7e3e2309e1b1b31b82e32145db4f 100644 (file)
@@ -1049,6 +1049,7 @@ PHP_FUNCTION(ibase_query)
 
        switch (ZEND_NUM_ARGS()) {
                long l;
+               zval *z;
 
                default:
                    if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, 3 TSRMLS_CC, "rrs",
@@ -1073,9 +1074,9 @@ PHP_FUNCTION(ibase_query)
                                break;
                        }
 
-                       /* assume the statement is 'CREATE DATABASE ...' if the link argument is int(0) */
+                       /* the statement is 'CREATE DATABASE ...' if the link argument is IBASE_CREATE */
                        if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS()
-                                       TSRMLS_CC, "ls", &l, &query, &query_len) && l == 0) {
+                                       TSRMLS_CC, "zs", &z, &query, &query_len) ) {//&& l == PHP_IBASE_CREATE) {
                                isc_db_handle db = NULL;
                                isc_tr_handle trans = NULL;
 
index f62ce1e675083f13bbb79792917b6cccb7809c2b..03d9c572e660077f574af97a5dd8b43caf21dbf1 100644 (file)
@@ -465,6 +465,7 @@ PHP_MINIT_FUNCTION(ibase)
        le_trans = zend_register_list_destructors_ex(_php_ibase_free_trans, NULL, "interbase transaction", module_number);
 
        REGISTER_LONG_CONSTANT("IBASE_DEFAULT", PHP_IBASE_DEFAULT, CONST_PERSISTENT);
+       REGISTER_LONG_CONSTANT("IBASE_CREATE", PHP_IBASE_CREATE, CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("IBASE_TEXT", PHP_IBASE_FETCH_BLOBS, CONST_PERSISTENT); /* deprecated, for BC only */
        REGISTER_LONG_CONSTANT("IBASE_FETCH_BLOBS", PHP_IBASE_FETCH_BLOBS, CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("IBASE_FETCH_ARRAYS", PHP_IBASE_FETCH_ARRAYS, CONST_PERSISTENT);
index 6ec06efce330519e4607d51e52f684a4d7aed676..9ee53172fe5456f06bbd150e78537597a93ddd16 100755 (executable)
@@ -114,6 +114,7 @@ typedef struct event {
 
 enum php_interbase_option {
        PHP_IBASE_DEFAULT                       = 0,
+       PHP_IBASE_CREATE            = 0,
        /* fetch flags */
        PHP_IBASE_FETCH_BLOBS           = 1,
        PHP_IBASE_FETCH_ARRAYS      = 2,
index 55ca53c4506d3eec4526d728ea66e358766c8f94..1401d9b8214a26ffd88a5e2f6f552ed93c6b0783 100755 (executable)
@@ -14,8 +14,9 @@ function init_db()
 {
        global $test_base, $user, $password;
 
-       $test_db = ibase_query(0, sprintf("  create    Schema '%s' USER '%s' PASSWORD '%s' DEFAULT CHARACTER SET %s",
-               $test_base, $user, $password, ($charset = ini_get('ibase.default_charset')) ? $charset : 'NONE'));
+       $test_db = ibase_query(IBASE_CREATE, 
+               sprintf("CREATE SCHEMA '%s' USER '%s' PASSWORD '%s' DEFAULT CHARACTER SET %s",$test_base,
+               $user, $password, ($charset = ini_get('ibase.default_charset')) ? $charset : 'NONE'));
        $tr = ibase_trans($test_db);
        ibase_query($tr,"create table test1 (i integer, c varchar(100))");
        ibase_commit_ret($tr);