Exakat\Datastore::checkTable PHP Метод

checkTable() приватный Метод

private checkTable ( $table )
    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;
    }