Annotation of embedaddon/php/ext/mysqli/tests/mysqli_autocommit.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: mysqli_autocommit()
                      3: --SKIPIF--
                      4: <?php
                      5:        require_once('skipif.inc');
                      6:        require_once('skipifemb.inc');
                      7:        require_once('connect.inc');
                      8:        require_once('skipifconnectfailure.inc');
                      9: 
                     10:        if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
                     11:                die(sprintf("skip Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
                     12:                        $host, $user, $db, $port, $socket));
                     13:        }
                     14: 
                     15:        if (!have_innodb($link))
                     16:                die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
                     17: ?>
                     18: --FILE--
                     19: <?php
                     20:        require_once("connect.inc");
                     21: 
                     22:        $tmp    = NULL;
                     23:        $link   = NULL;
                     24: 
                     25:        if (!is_null($tmp = @mysqli_autocommit()))
                     26:                printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
                     27: 
                     28:        if (!is_null($tmp = @mysqli_autocommit($link)))
                     29:                printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
                     30: 
                     31:        if (!is_null($tmp = @mysqli_autocommit($link, $link, $link)))
                     32:                printf("[003] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
                     33: 
                     34:        if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
                     35:                printf("[004] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
                     36:                        $host, $user, $db, $port, $socket);
                     37:        }
                     38: 
                     39:        if (!is_bool($tmp = mysqli_autocommit($link, true)))
                     40:                printf("[005] Expecting boolean/any, got %s/%s\n", gettype($tmp), $tmp);
                     41: 
                     42:        if (!mysqli_query($link, 'SET AUTOCOMMIT = 0'))
                     43:                printf("[006] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                     44: 
                     45:        if (!$res = mysqli_query($link, 'SELECT @@autocommit as auto_commit'))
                     46:                printf("[007] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                     47: 
                     48:        $tmp = mysqli_fetch_assoc($res);
                     49:        mysqli_free_result($res);
                     50:        if ($tmp['auto_commit'])
                     51:                printf("[008] Cannot turn off autocommit\n");
                     52: 
                     53:        if (true !== ($tmp = mysqli_autocommit($link, true)))
                     54:                printf("[009] Expecting true, got %s/%s\n", gettype($tmp), $tmp);
                     55: 
                     56:        if (!$res = mysqli_query($link, 'SELECT @@autocommit as auto_commit'))
                     57:                printf("[010] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                     58:        $tmp = mysqli_fetch_assoc($res);
                     59:        mysqli_free_result($res);
                     60:        if (!$tmp['auto_commit'])
                     61:                printf("[011] Cannot turn on autocommit\n");
                     62: 
                     63:        if (!mysqli_query($link, 'DROP TABLE IF EXISTS test'))
                     64:                printf("[012] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                     65: 
                     66:        if (!mysqli_query($link, 'CREATE TABLE test(id INT) ENGINE = InnoDB')) {
                     67:                printf("[013] Cannot create test table, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                     68:        }
                     69: 
                     70:        if (!mysqli_query($link, 'INSERT INTO test(id) VALUES (1)'))
                     71:                printf("[014] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                     72: 
                     73:        if (!mysqli_query($link, 'ROLLBACK'))
                     74:                printf("[015] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                     75: 
                     76:        if (!$res = mysqli_query($link, 'SELECT COUNT(*) AS num FROM test'))
                     77:                printf("[016] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                     78: 
                     79:        if ((!$tmp = mysqli_fetch_assoc($res)) || (1 != $tmp['num']))
                     80:                printf("[17] Expecting 1 row in table test, found %d rows. [%d] %s\n",
                     81:                        $tmp['num'], mysqli_errno($link), mysqli_error($link));
                     82: 
                     83:        mysqli_free_result($res);
                     84: 
                     85:        if (!mysqli_query($link, 'DROP TABLE IF EXISTS test'))
                     86:                printf("[018] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                     87: 
                     88:        if (!mysqli_query($link, 'SET AUTOCOMMIT = 1'))
                     89:                printf("[019] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                     90: 
                     91:        if (!$res = mysqli_query($link, 'SELECT @@autocommit as auto_commit'))
                     92:                printf("[020] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                     93:        $tmp = mysqli_fetch_assoc($res);
                     94:        mysqli_free_result($res);
                     95:        if (!$tmp['auto_commit'])
                     96:                printf("[021] Cannot turn on autocommit\n");
                     97: 
                     98:        if (true !== ($tmp = mysqli_autocommit($link, false)))
                     99:                printf("[022] Expecting true, got %s/%s\n", gettype($tmp), $tmp);
                    100: 
                    101:        if (!mysqli_query($link, 'CREATE TABLE test(id INT) ENGINE = InnoDB')) {
                    102:                printf("[023] Cannot create test table, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                    103:        }
                    104: 
                    105:        if (!mysqli_query($link, 'INSERT INTO test(id) VALUES (1)'))
                    106:                printf("[024] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                    107: 
                    108:        if (!mysqli_query($link, 'ROLLBACK'))
                    109:                printf("[025] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                    110: 
                    111:        if (!$res = mysqli_query($link, 'SELECT COUNT(*) AS num FROM test'))
                    112:                printf("[026] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                    113:        $tmp = mysqli_fetch_assoc($res);
                    114:        if (0 != $tmp['num'])
                    115:                printf("[27] Expecting 0 rows in table test, found %d rows\n", $tmp['num']);
                    116:        mysqli_free_result($res);
                    117: 
                    118:        if (!mysqli_query($link, 'INSERT INTO test(id) VALUES (1)'))
                    119:                printf("[028] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                    120: 
                    121:        if (!mysqli_query($link, 'COMMIT'))
                    122:                printf("[029] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                    123: 
                    124:        if (!$res = mysqli_query($link, 'SELECT COUNT(*) AS num FROM test'))
                    125:                printf("[030] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                    126: 
                    127:        if ((!$tmp = mysqli_fetch_assoc($res)) || (1 != $tmp['num']))
                    128:                printf("[31] Expecting 1 row in table test, found %d rows. [%d] %s\n",
                    129:                        $tmp['num'], mysqli_errno($link), mysqli_error($link));
                    130:        mysqli_free_result($res);
                    131: 
                    132:        if (!mysqli_query($link, 'DROP TABLE IF EXISTS test'))
                    133:                printf("[032] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                    134: 
                    135:        mysqli_close($link);
                    136: 
                    137:        if (NULL !== ($tmp = @mysqli_autocommit($link, false)))
                    138:                printf("[033] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
                    139: 
                    140:        print "done!";
                    141: ?>
                    142: --CLEAN--
                    143: <?php
                    144:        require_once("clean_table.inc");
                    145: ?>
                    146: --EXPECTF--
                    147: done!

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>