/** * @since 2.5 * * @return Table[] */ public function getTables() { if ($this->tables !== array()) { return $this->tables; } $this->addTable($this->newEntityIdTable()); $this->addTable($this->newConceptCacheTable()); $this->addTable($this->newQueryLinksTable()); $this->addTable($this->newFulltextSearchTable()); $this->addTable($this->newPropertyStatisticsTable()); foreach ($this->store->getPropertyTables() as $propertyTable) { // Only extensions that aren't setup correctly can force an exception // and to avoid a failure during setup, ensure that standard tables // are correctly initialized otherwise SMW can't recover try { $diHandler = $this->store->getDataItemHandlerForDIType($propertyTable->getDiType()); } catch (\Exception $e) { continue; } $this->addTable($this->newPropertyTable($propertyTable, $diHandler)); } return $this->tables; }
/** * Method to return the fields for this table * * @since 1.8 * * @param SQLStore $store * * @return array */ public function getFields(SQLStore $store) { $diHandler = $store->getDataItemHandlerForDIType($this->diType); return $diHandler->getTableFields(); }