public function from($table)
    {
        if ($this->tableReadOnly) {
            throw new Exception\InvalidArgumentException(
                'Since this object was created with a table and/or schema in the constructor, it is read only.'
            );
        }

        if (!is_string($table) &&
            !is_array($table) &&
            !$table instanceof TableIdentifier &&
            !$table instanceof Select
        ) {
            throw new Exception\InvalidArgumentException(
                '$table must be a string, array, an instance of TableIdentifier, or an instance of Select'
            );
        }

        if ($table instanceof TableIdentifier) {
            $table = $table->getTable(); // Ignore schema because it is not supported by SphinxQL
        }

        $this->table = $table;

        return $this;
    }