Annotation of embedaddon/php/ext/mysqli/tests/mysqli_autocommit.phpt, revision 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>