public function __construct(Schema $schema, $tableName) { Table::__construct($schema, $tableName); $this->columnsLockFile = new MicrotimeLockFile(new TempFile()); $this->columnsFile = new LockableFile(new TempFile()); $this->dataLockFile = new MicrotimeLockFile(new TempFile()); $this->dataFile = new LockableFile(new TempFile()); }
public function setColumns(array $columnDefs) { $this->columnsLockFile->acquireWrite(); parent::setColumns($columnDefs); $this->columnsFile->acquireWrite(); $toprint = $this->printColumns($columnDefs); $columnsHandle = $this->columnsFile->getHandle(); ftruncate($columnsHandle, 0); fwrite($columnsHandle, $toprint); $this->columnsFile->releaseWrite(); $this->columnsLockFile->releaseWrite(); }