class_docstr: Base class for handlers associated to vector databases.
class_docstr_tok: ["Base","class","for","handlers","associated","to","vector","databases","."]
docstr: Dispatch select query to the appropriate method.
docstr_tok: ["Dispatch","select","query","to","the","appropriate","method","."]
code: def _dispatch_select(self, query: Select):
      """
      Dispatch select query to the appropriate method.
      """
      # parse key arguments
      table_name = query.from_table.parts[-1]
      # if targets are star, select all columns
      if isinstance(query.targets[0], Star):
          columns = [col["name"] for col in self.SCHEMA]
      else:
          columns = [col.parts[-1] for col in query.targets]
  
      if not self._is_columns_allowed(columns):
          raise Exception(
              f"Columns {columns} not allowed."
              f"Allowed columns are {[col['name'] for col in self.SCHEMA]}"
          )
  
      # check if columns are allowed
      where_statement = query.where
      conditions = self._extract_conditions(where_statement)
  
      # get offset and limit
      offset = query.offset.value if query.offset is not None else None
      limit = query.limit.value if query.limit is not None else None
  
      # dispatch select
      return self.select(
          table_name,
          columns=columns,
          conditions=conditions,
          offset=offset,
          limit=limit,
      )
  
imports: import ast
  import hashlib
  from enum import Enum
  from typing import Any, List, Optional
  import pandas
  from mindsdb_sql.parser.ast import BinaryOperation, Constant, CreateTable, Delete, DropTables, Insert, Select, Star, Tuple, Update
  from mindsdb_sql.parser.ast.base import ASTNode
  from mindsdb.integrations.libs.response import RESPONSE_TYPE, HandlerResponse
  from mindsdb.utilities import log
  from mindsdb.integrations.utilities.sql_utils import conditions_to_filter
  from ..utilities.sql_utils import query_traversal
  from .base import BaseHandler
label_desc: Use image node_id 14 for calling the VectorStoreHandler obj's underlying member method code with example usage: obj._dispatch_select(query) and returns: self