85 lines
2.0 KiB
HTML
85 lines
2.0 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
|
|
<style>
|
|
pre { padding: 5px; border: 1px solid black; }
|
|
</style>
|
|
|
|
<script>
|
|
var db;
|
|
|
|
try {
|
|
if (window.openDatabase) {
|
|
db = openDatabase("StressTest1", "1.0", "Database Stress Test", 200000);
|
|
if (!db)
|
|
alert("Failed to open the database on disk. This is probably because the version was bad or there is not enough space left in this domain's quota");
|
|
} else
|
|
alert("Couldn't open the database.");
|
|
} catch(err) { }
|
|
|
|
var highestId = 0;
|
|
var allData = new Array();
|
|
|
|
function newData()
|
|
{
|
|
var id = ++highestId;
|
|
allData.push(id);
|
|
db.transaction(function (tx)
|
|
{
|
|
tx.executeSql("INSERT INTO FillerData (id, filler) VALUES (?, randomblob(1024))", [id]);
|
|
});
|
|
}
|
|
|
|
function testOpen()
|
|
{
|
|
for (var i = 0; i < 4; i++) {
|
|
newData();
|
|
}
|
|
|
|
setTimeout("testClose();", 0);
|
|
}
|
|
|
|
function testClose()
|
|
{
|
|
db.transaction(function(tx)
|
|
{
|
|
for (var i = 0; i < allData.length; i++)
|
|
tx.executeSql("DELETE FROM FillerData WHERE id = ?", [allData[i]]);
|
|
|
|
allData = new Array();
|
|
});
|
|
setTimeout("testOpen();", 0);
|
|
}
|
|
|
|
function updateTransactionCount()
|
|
{
|
|
document.getElementById("transactionCount").innerHTML = "Current Transaction Count: " + highestId;
|
|
setTimeout("updateTransactionCount();", 1000);
|
|
}
|
|
|
|
function loaded()
|
|
{
|
|
db.transaction(function(tx) {
|
|
tx.executeSql("SELECT COUNT(*) FROM FillerData", [], function(result) { }, function(tx, error) {
|
|
tx.executeSql("CREATE TABLE FillerData (id REAL UNIQUE, filler)", [], function(result) {
|
|
});
|
|
});
|
|
});
|
|
|
|
setTimeout("testOpen();", 0);
|
|
setTimeout("updateTransactionCount();", 1000);
|
|
}
|
|
|
|
addEventListener('load', loaded, false);
|
|
</script>
|
|
</head>
|
|
|
|
<body>
|
|
This test stresses the database threading code by constantly opening transactions to the test database at a fast rate.<br>
|
|
See radar 5729446 for more details.<br>
|
|
<pre id="transactionCount">Current Transaction Count: 0</pre>
|
|
|
|
</body>
|
|
</html>
|