CGI-OptimalQuery
view release on metacpan or search on metacpan
demo/make_test_data.pl view on Meta::CPAN
my $product_id = int(rand($NUM_PRODUCT)) + 1;
my $barcode = '345'.sprintf("%03d",$id);
$lasttime += int(rand(9999)) + 1;
my @t = localtime($lasttime);
my $date_acquired = ($t[5] + 1900).'-'.sprintf("%02d", $t[4] + 1).'-'.sprintf("%02d", $t[3]);
my $date_disposed;
if (rand(5) > 3) {
@t = localtime($lasttime + rand(999999));
$date_disposed = ($t[5] + 1900).'-'.sprintf("%02d", $t[4] + 1).'-'.sprintf("%02d", $t[3]);
}
$sth->execute($id, $barcode, $product_id, $owner_id, $date_acquired, $date_disposed);
}
$dbh->do("
CREATE TABLE oq_saved_search (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER,
uri TEXT NOT NULL,
oq_title TEXT NOT NULL,
user_title TEXT NOT NULL,
params TEXT,
alert_mask INTEGER NOT NULL DEFAULT 0,
alert_interval_min INTEGER,
alert_dow TEXT,
alert_start_hour INTEGER,
alert_end_hour INTEGER,
alert_last_dt DATETIME,
alert_err TEXT,
alert_uids TEXT,
is_default INTEGER NOT NULL DEFAULT 0,
CONSTRAINT unq_oq_saved_search UNIQUE (user_id,uri,oq_title,user_title)
)");
$dbh->do("
CREATE TABLE oq_autoaction (
id INTEGER PRIMARY KEY AUTOINCREMENT,
uri TEXT NOT NULL,
oq_title TEXT NOT NULL,
user_title TEXT NOT NULL,
params TEXT,
start_dt DATETIME NOT NULL,
end_dt DATETIME,
repeat_interval_min INTEGER UNSIGNED NOT NULL DEFAULT 1440,
last_run_dt DATETIME NOT NULL,
trigger_mask INTEGER UNSIGNED NOT NULL,
error_txt TEXT
)");
$dbh->do("CREATE INDEX idx_manufact_name ON manufact (name)");
$dbh->do("CREATE INDEX idx_product_name ON product (name)");
$dbh->do("CREATE INDEX idx_product_prodno ON product (prodno)");
$dbh->do("CREATE INDEX idx_product_manufact ON product (manufact)");
$dbh->do("CREATE INDEX idx_inventory_barcode ON inventory(barcode)");
$dbh->do("CREATE INDEX idx_inventory_product ON inventory(product)");
$dbh->do("CREATE INDEX idx_inventory_owner ON inventory(owner)");
$dbh->commit();
$dbh->disconnect();
system("chmod -R ugo+rwX db");
( run in 1.209 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )