class_docstr: A class representing the transaction table.
  
  This class inherits from APITable and provides functionality to select data
  from the transactions endpoint of the Plaid API and return it as a pandas DataFrame.
  
  Methods:
      select(ast.Select): Select data from the transaction table and return it as a pandas DataFrame.
      get_columns(): Get the list of column names for the transaction table.
class_docstr_tok: ["A","class","representing","the","transaction","table",".","This","class","inherits","from","APITable","and","provides","functionality","to","select","data","from","the","transactions","endpoint","of","the","Plaid","API","and","return","it","as","a","pandas","DataFrame",".","Methods",":","select","(","ast.Select",")",":","Select","data","from","the","transaction","table","and","return","it","as","a","pandas","DataFrame",".","get_columns","(",")",":","Get","the","list","of","column","names","for","the","transaction","table","."]
docstr: Select data from the transaction table and return it as a pandas DataFrame.
  
  Args:
      query (ast.Select): The SQL query to be executed.
  
  Returns:
      pandas.DataFrame: A pandas DataFrame containing the selected data.
docstr_tok: ["Select","data","from","the","transaction","table","and","return","it","as","a","pandas","DataFrame",".","Args",":","query","(","ast.Select",")",":","The","SQL","query","to","be","executed",".","Returns",":","pandas.DataFrame",":","A","pandas","DataFrame","containing","the","selected","data","."]
code: def select(self, query: ast.Select):
      """Select data from the transaction table and return it as a pandas DataFrame.
  
      Args:
          query (ast.Select): The SQL query to be executed.
  
      Returns:
          pandas.DataFrame: A pandas DataFrame containing the selected data.
      """
      all_conditions = extract_comparison_conditions(query.where)
      condition = []
      params = {}
      for op, v, c in all_conditions:
          op = "==" if op == "=" else op  # converting '=' to '=='
  
          if v == "start_date" or v == "end_date":
              params[v] = c
  
          elif v in ["date", "authorized_date"] or isinstance(c, str):
              condition.append(f"({v}{op}'{c}')")
  
          else:
              condition.append(f"({v}{op}{c})")
  
      merge_condition = " and ".join(condition)
  
      result = self.handler.call_plaid_api(
          method_name="get_transactions", params=params
      )
      if merge_condition != "":
          result = result.query(merge_condition)
  
      result = self.filter_columns(query=query, result=result)
      return result
  
file_path: mindsdb/mindsdb/integrations/handlers/plaid_handler/plaid_tables.py
imports: import pandas
  from mindsdb.integrations.libs.api_handler import APITable
  from mindsdb.integrations.utilities.sql_utils import extract_comparison_conditions
  from mindsdb_sql.parser import ast
label_desc: Use image node_id 1 for calling the TransactionTable obj's underlying member method code with example usage: obj.select(query) and returns: result