Ejemplo n.º 1
0
 /**
  * {@inheritdoc}
  * 
  */
 public static function setUpBeforeClass()
 {
     parent::setUpBeforeClass();
     StaticDataLayer::disconnect();
     StaticDataLayer::connect('localhost', 'test', 'test', self::$dataSchema);
     StaticDataLayer::executeNone('alter table `test_data`.`TABLE1` engine=innodb');
 }
Ejemplo n.º 2
0
 /**
  * Drops all tables in test_data and test_audit.
  */
 protected static function dropAllTables()
 {
     $sql = "\nselect TABLE_SCHEMA as table_schema\n,      TABLE_NAME   as table_name\nfrom   information_schema.TABLES\nwhere TABLE_SCHEMA in (%s,%s)";
     $sql = sprintf($sql, StaticDataLayer::quoteString(self::$dataSchema), StaticDataLayer::quoteString(self::$auditSchema));
     $tables = StaticDataLayer::executeRows($sql);
     foreach ($tables as $table) {
         $sql = "drop table `%s`.`%s`";
         $sql = sprintf($sql, $table['table_schema'], $table['table_name']);
         StaticDataLayer::executeNone($sql);
     }
 }
Ejemplo n.º 3
0
 /**
  * @param string $query The SQL statement.
  *
  * @return int The number of affected rows (if any).
  */
 public static function executeNone($query)
 {
     self::logQuery($query);
     return self::$dl->executeNone($query);
 }
Ejemplo n.º 4
0
    /**
     * Test delete trigger is working correctly.
     */
    public function test02c()
    {
        StaticDataLayer::query("SET time_zone = 'Europe/Amsterdam'");
        // Delete a row from AUT_COMPANY.
        $sql = sprintf('
delete from `AUT_COMPANY`
where `cmp_abbr` = %s', StaticDataLayer::quoteString('SYS'));
        StaticDataLayer::executeNone($sql);
        // Get audit rows.
        $sql = sprintf("\nselect * \nfrom   `test_audit`.`AUT_COMPANY`\nwhere  audit_statement = 'DELETE'");
        $rows = StaticDataLayer::executeRows($sql);
        // We expect 1 row.
        $this->assertEquals(1, count($rows));
        $row = $rows[0];
        // Tests on fields.
        $time = new \DateTime();
        $this->assertLessThanOrEqual(date_format($time->add(new \DateInterval('PT1M')), 'Y-m-d H:i:s'), $row['audit_timestamp']);
        $time = new \DateTime();
        $this->assertGreaterThanOrEqual(date_format($time->sub(new \DateInterval('PT1M')), 'Y-m-d H:i:s'), $row['audit_timestamp']);
        $this->assertEquals('OLD', $row['audit_type']);
        $this->assertNotEmpty($row['audit_uuid']);
        $this->assertEquals(3, $row['audit_rownum']);
        $this->assertSame('12345', $row['audit_ses_id']);
        $this->assertSame('7011', $row['audit_usr_id']);
        $this->assertEquals('1', $row['cmp_id']);
        $this->assertEquals('SYS', $row['cmp_abbr']);
        $this->assertEquals('CMP_ID_SYS', $row['cmp_label']);
    }
Ejemplo n.º 5
0
$files = [__DIR__ . '/../vendor/autoload.php', __DIR__ . '/../../vendor/autoload.php', __DIR__ . '/../../../vendor/autoload.php', __DIR__ . '/../../../../vendor/autoload.php'];
foreach ($files as $file) {
    if (file_exists($file)) {
        require $file;
        break;
    }
}
declare (ticks=1);
//----------------------------------------------------------------------------------------------------------------------
function signalHandler()
{
    $GLOBALS['exit'] = true;
}
//----------------------------------------------------------------------------------------------------------------------
$GLOBALS['exit'] = false;
pcntl_signal(SIGUSR1, "signalHandler");
// Set error handler.
$handler = new ErrorHandler();
$handler->register();
StaticDataLayer::connect('localhost', 'test', 'test', 'test_data');
while (true) {
    if ($GLOBALS['exit']) {
        break;
    }
    StaticDataLayer::begin();
    StaticDataLayer::executeNone('insert into TABLE1(c) values(1)');
    StaticDataLayer::executeNone('update TABLE1 set c = 2');
    StaticDataLayer::executeNone('delete from TABLE1 where c = 2');
    StaticDataLayer::commit();
}
StaticDataLayer::disconnect();