class_docstr: Base class for handlers associated to vector databases.
class_docstr_tok: ["Base","class","for","handlers","associated","to","vector","databases","."]
docstr: Dispatch update query to the appropriate method.
docstr_tok: ["Dispatch","update","query","to","the","appropriate","method","."]
code: def _dispatch_update(self, query: Update):
      """
      Dispatch update query to the appropriate method.
      """
      table_name = query.table.parts[-1]
  
      row = {}
      for k, v in query.update_columns.items():
          k = k.lower()
          if isinstance(v, Constant):
              v = v.value
          if k == TableField.EMBEDDINGS.value and isinstance(v, str):
              # it could be embeddings in string
              try:
                  v = eval(v)
              except Exception:
                  pass
          row[k] = v
  
      filters = conditions_to_filter(query.where)
      row.update(filters)
  
      # checks
      if TableField.EMBEDDINGS.value not in row:
          raise Exception("Embeddings column is required!")
  
      if TableField.CONTENT.value not in row:
          raise Exception("Content is required!")
  
      # store
      df = pd.DataFrame([row])
  
      return self.do_upsert(table_name, df)
  
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 11 for calling the VectorStoreHandler obj's underlying member method code with example usage: obj._dispatch_update(query) and returns: self