Annotation of embedaddon/php/ext/mysqli/tests/mysqli_change_user_rollback.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: mysqli_change_user() - ROLLBACK
! 3: --SKIPIF--
! 4: <?php
! 5: require_once('skipif.inc');
! 6: require_once('skipifemb.inc');
! 7: require_once('skipifconnectfailure.inc');
! 8: require_once('connect.inc');
! 9: if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
! 10: die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));
! 11:
! 12: if (!have_innodb($link))
! 13: die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
! 14: ?>
! 15: --FILE--
! 16: <?php
! 17: require_once('connect.inc');
! 18: require_once('table.inc');
! 19:
! 20: if (!mysqli_query($link, 'ALTER TABLE test ENGINE=InnoDB'))
! 21: printf("[001] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 22:
! 23: mysqli_autocommit($link, false);
! 24:
! 25: if (!$res = mysqli_query($link, 'SELECT COUNT(*) AS _num FROM test'))
! 26: printf("[002] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 27:
! 28: if (!$row = mysqli_fetch_assoc($res))
! 29: printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 30: mysqli_free_result($res);
! 31:
! 32: $num = $row['_num'];
! 33: assert($num > 0);
! 34:
! 35: if (!$res = mysqli_query($link, 'DELETE FROM test'))
! 36: printf("[004] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 37:
! 38: if (!$res = mysqli_query($link, 'SELECT COUNT(*) AS _num FROM test'))
! 39: printf("[005] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 40:
! 41: if (!$row = mysqli_fetch_assoc($res))
! 42: printf("[006] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 43: mysqli_free_result($res);
! 44:
! 45: if (0 != $row['_num'])
! 46: printf("[007] Rows should have been deleted in this transaction\n");
! 47:
! 48: // DELETE should be rolled back
! 49: mysqli_change_user($link, $user, $passwd, $db);
! 50:
! 51: if (!$res = mysqli_query($link, 'SELECT COUNT(*) AS _num FROM test'))
! 52: printf("[008] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 53:
! 54: if (!$row = mysqli_fetch_assoc($res))
! 55: printf("[009] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 56:
! 57: if ($row['_num'] != $num)
! 58: printf("[010] Expecting %d rows in the table test, found %d rows\n",
! 59: $num, $row['_num']);
! 60:
! 61: mysqli_free_result($res);
! 62: mysqli_close($link);
! 63: print "done!";
! 64: ?>
! 65: --CLEAN--
! 66: <?php
! 67: require_once("clean_table.inc");
! 68: ?>
! 69: --EXPECTF--
! 70: done!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>