Senhores, resolvi o problema.
Ele estava dizendo que não podia usar o método query do objeto class (linha 109).
O problema é justamente que a variável $class não é nada ali pois a mesma não foi informada nem como parâmetro, nem dentro do método.
O que fiz foi procurar a chamada do método createIndexes em SQLReactorTable e nessa chamada colocar o parâmetro a $class que o método principal recebe e na declaração do método createIndexes criar um parãmetro &$class. Assim o problema foi resolvido:
Abaixo como ficou:
O que era (linha 114 de SQLReactorTable)
public function createTable( &$class ){
$class->_connection->query( $this->getCreateSQL( $class ) );
if( $class->_primaryKey == array( 'id' ) ){
$sql = $this->columns->id->getCreateSequenceSQL( $class );
if( $sql ){
$class->_connection->query( $sql );
}
}
$this->createIndexes();
}
ficou:
public function createTable( &$class ){
$class->_connection->query( $this->getCreateSQL( $class ) );
if( $class->_primaryKey == array( 'id' ) ){
$sql = $this->columns->id->getCreateSequenceSQL( $class );
if( $sql ){
$class->_connection->query( $sql );
}
}
$this->createIndexes( $class );
}
e o que era (linha 97):
public function createIndexes(){
foreach( $this->indexes as $index ){
$indexName = "idx_{$this->name}";
$columns = array();
foreach( $index as $columnName ){
$indexName .= "_{$this->columns->$columnName->name}";
$columns[] = "{$class->_connection->engine->escapeNameOpen}{$this->columns->$columnName->name}{$class->_connection->engine->escapeNameClose}";
}
if( $columns ){
$sql = "CREATE INDEX {$class->_connection->engine->escapeNameOpen}{$indexName}{$class->_connection->engine->escapeNameClose} ON {$class->_connection->engine->escapeNameOpen}{$this->name}{$class->_connection->engine->escapeNameClose} ( " . implode( ', ', $columns ) . " )";
$class->_connection->query( $sql );
}
}
}
ficou:
public function createIndexes( &$class ){
foreach( $this->indexes as $index ){
$indexName = "idx_{$this->name}";
$columns = array();
foreach( $index as $columnName ){
$indexName .= "_{$this->columns->$columnName->name}";
$columns[] = "{$class->_connection->engine->escapeNameOpen}{$this->columns->$columnName->name}{$class->_connection->engine->escapeNameClose}";
}
if( $columns ){
$sql = "CREATE INDEX {$class->_connection->engine->escapeNameOpen}{$indexName}{$class->_connection->engine->escapeNameClose} ON {$class->_connection->engine->escapeNameOpen}{$this->name}{$class->_connection->engine->escapeNameClose} ( " . implode( ', ', $columns ) . " )";
$class->_connection->query( $sql );