Esempio n. 1
0
 public function deprecateMeta(DatabaseInterface $db, NodeRef $originNodeRef, $metaID, $datatype)
 {
     $table = $db->quoteIdentifier($this->NodeDBMeta->getMetaTable($originNodeRef, $datatype));
     $affectedRows = $db->write("DELETE FROM {$table} WHERE Name = {$db->quote($metaID)}", DatabaseInterface::AFFECTED_ROWS);
     return $affectedRows;
 }
 protected function dropDBTables(NodeRef $nodeRef, DatabaseInterface $db, Element $element)
 {
     static $createdTables;
     $tables[] = $this->NodeDBMeta->getTableName($nodeRef);
     $tables[] = $this->NodeDBMeta->getOutTagsTable($nodeRef);
     $tables[] = $this->NodeDBMeta->getInTagsTable($nodeRef);
     //        $tables[] = $this->NodeDBMeta->getSectionsTable($nodeRef);
     foreach ($this->NodeDBMeta->getMetaStorageDatatypes() as $dtype) {
         $tables[] = $this->NodeDBMeta->getMetaTable($nodeRef, $dtype);
     }
     // Find the tables that have been created.
     if (!$createdTables) {
         $createdTables = $db->readCol('SHOW TABLES');
     }
     // Create the tables that don't exist
     foreach ($tables as $table) {
         if (in_array($table, $createdTables)) {
             $count = $db->readField('SELECT COUNT(*) FROM ' . $db->quoteIdentifier($table));
             if ($count == 0) {
                 $db->write('DROP TABLE ' . $db->quoteIdentifier($table));
             }
         }
     }
 }