public static function createHashColumn($table, $columnName) { // Sanitize $table = Sanitize::variable($table); $columnName = Sanitize::variable($columnName); $prefix = Sanitize::word(substr($table, 0, 4) . ucfirst(substr($columnName, 0, 6))); // Make sure table exists if (Database::tableExists($table)) { $colExists = false; // Add the hash column if it doesn't exist if (!Database::columnExists($table, $columnName)) { $colExists = Database::addColumn($table, $columnName . '_crc', "int(10) unsigned not null", 0); } if ($colExists) { // Create a Trigger self::exec('CREATE TRIGGER ' . $prefix . '_ins BEFORE INSERT ON ' . $table . ' FOR EACH ROW BEGIN SET NEW.' . $columnName . '_crc=crc32(NEW.' . $columnName . '); END;'); return self::exec('CREATE TRIGGER ' . $prefix . '_upd BEFORE UPDATE ON ' . $table . ' FOR EACH ROW BEGIN SET NEW.' . $columnName . '_crc=crc32(NEW.' . $columnName . '); END; '); } } return false; }