private function checkTable($table)
{
$res = self::$sqliteWrite->querySingle('SELECT count(*) FROM sqlite_master WHERE name="' . $table . '"');
if ($res == 1) {
return true;
}
switch ($table) {
case 'compilation52':
$createTable = <<<SQLITE
CREATE TABLE compilation52 (
id INTEGER PRIMARY KEY,
file TEXT,
error TEXT,
line id
);
SQLITE;
break;
case 'compilation53':
$createTable = <<<SQLITE
CREATE TABLE compilation53 (
id INTEGER PRIMARY KEY,
file TEXT,
error TEXT,
line id
);
SQLITE;
break;
case 'compilation54':
$createTable = <<<SQLITE
CREATE TABLE compilation54 (
id INTEGER PRIMARY KEY,
file TEXT,
error TEXT,
line id
);
SQLITE;
break;
case 'compilation55':
$createTable = <<<SQLITE
CREATE TABLE compilation55 (
id INTEGER PRIMARY KEY,
file TEXT,
error TEXT,
line id
);
SQLITE;
break;
case 'compilation56':
$createTable = <<<SQLITE
CREATE TABLE compilation56 (
id INTEGER PRIMARY KEY,
file TEXT,
error TEXT,
line id
);
SQLITE;
break;
case 'compilation70':
$createTable = <<<SQLITE
CREATE TABLE compilation70 (
id INTEGER PRIMARY KEY,
file TEXT,
error TEXT,
line id
);
SQLITE;
break;
case 'compilation71':
$createTable = <<<SQLITE
CREATE TABLE compilation71 (
id INTEGER PRIMARY KEY,
file TEXT,
error TEXT,
line id
);
SQLITE;
break;
case 'compilation72':
$createTable = <<<SQLITE
CREATE TABLE compilation72 (
id INTEGER PRIMARY KEY,
file TEXT,
error TEXT,
line id
);
SQLITE;
break;
case 'shortopentag':
$createTable = <<<SQLITE
CREATE TABLE shortopentag (
id INTEGER PRIMARY KEY,
file TEXT
);
SQLITE;
break;
case 'files':
$createTable = <<<SQLITE
CREATE TABLE files (
id INTEGER PRIMARY KEY,
file TEXT
);
SQLITE;
break;
case 'ignoredFiles':
$createTable = <<<SQLITE
CREATE TABLE ignoredFiles (
id INTEGER PRIMARY KEY,
file TEXT,
reason INTEGER DEFAULT 1
);
SQLITE;
break;
case 'hash':
$createTable = <<<SQLITE
CREATE TABLE hash (
id INTEGER PRIMARY KEY,
key TEXT UNIQUE,
value TEXT
);
SQLITE;
break;
case 'hashAnalyzer':
$createTable = <<<SQLITE
CREATE TABLE hashAnalyzer (
id INTEGER PRIMARY KEY,
analyzer TEXT,
key TEXT UNIQUE,
value TEXT
);
SQLITE;
break;
case 'analyzed':
$createTable = <<<SQLITE
CREATE TABLE analyzed (
id INTEGER PRIMARY KEY,
analyzer TEXT UNIQUE,
counts TEXT
);
SQLITE;
break;
case 'tokenCounts':
$createTable = <<<SQLITE
CREATE TABLE tokenCounts (
id INTEGER PRIMARY KEY,
token TEXT UNIQUE,
counts INTEGER
);
SQLITE;
break;
case 'externallibraries':
$createTable = <<<SQLITE
CREATE TABLE externallibraries (
id INTEGER PRIMARY KEY,
library TEXT UNIQUE,
file TEXT
);
SQLITE;
break;
case 'composer':
$createTable = <<<SQLITE
CREATE TABLE composer (
id INTEGER PRIMARY KEY,
component TEXT UNIQUE,
version TEXT
);
SQLITE;
break;
case 'configFiles':
$createTable = <<<SQLITE
CREATE TABLE configFiles (
id INTEGER PRIMARY KEY,
file TEXT UNIQUE,
name TEXT UNIQUE,
homepage TEXT UNIQUE
);
SQLITE;
break;
default:
throw new Exceptions\NoStructureForTable($table);
}
self::$sqliteWrite->query($createTable);
return true;
}