protected function autoCreateTable()
    {
        // Without a table creator we cannot create the table
        if (!$this->tableCreator) {
            return false;
        }

        // Do a little test query
        try {

            $this->connection->select("SELECT {$this->quotedIdKey} FROM {$this->quotedTable} LIMIT 1");
            return true;

        } catch (SQLNameNotFoundException $e) { // The only matching Exception in this case
        }

        if ($e->missingType != 'table') {
            throw $e;
        }

        call_user_func($this->tableCreator, $this->connection, $this->table, $this->idKey);

        return true;
    }