Ejemplo n.º 1
0
<?php

require "../adei.php";
$c = new CACHEDB();
$c->CreateStoredProcedures();
$list = $c->GetCacheList(REQUEST::NEED_ITEMINFO);
foreach ($list as &$info) {
    $table = "cache0{$info['postfix']}";
    $subseconds = $info['info']['ns'];
    echo $table . " - ";
    try {
        $query = "ALTER TABLE `{$table}` ADD `id` BIGINT NOT NULL FIRST";
        $c->Query($query);
        if ($subseconds) {
            $query = "UPDATE `{$table}` SET id = UNIX_TIMESTAMP(`time`)*1000000000+`ns`";
        } else {
            $query = "UPDATE `{$table}` SET id = UNIX_TIMESTAMP(`time`)*1000000000";
        }
        $c->Query($query);
        $query = "ALTER TABLE `{$table}` ADD UNIQUE KEY (id)";
        $c->Query($query);
        #	if ($subseconds) {
        #	    $query = "CREATE TRIGGER cache0_id BEFORE INSERT ON `$table` FOR EACH ROW SET NEW.id = UNIX_TIMESTAMP(NEW.time)*1000000000+NEW.ns";
        #	} else {
        #	    $query = "CREATE TRIGGER cache0_id BEFORE INSERT ON `$table` FOR EACH ROW SET NEW.id = UNIX_TIMESTAMP(NEW.time)*1000000000";
        #	}
        #	$c->Query($query);
        $done = true;
    } catch (ADEIException $ae) {
        $done = false;
        $error = $ae->getMessage();