def ruta_SelectSimple(self, entorno: Tabla_de_simbolos, arbol:Arbol): print("[Select] ruta_SelectSimple (Go on)") V_TablaSelect = Valor(TIPO.MATRIZ, "TablaSelect") for i in self.listatablas: if i.tipo == IAT.SUBQUERY: self.virtualizar_tabla_subquery(i, entorno, arbol) else: self.virtualizar_tabla(i, entorno, arbol) # ------------------ j = 0 for i in self.listavalores: if self.obtener_multi(i, entorno, arbol, j): break j = j + 1 # ------------------ V_TablaSelect.inicializarMatrix_boring(self.tamFilaTablaSelect, len(self.listavalores)) index = 0 for i in self.listavalores: lista:list = self.obtener_columnas(i, entorno, arbol) for m in range(len(lista)): V_TablaSelect.matriz[m][index] = lista[m] index = index + 1 self.TablaSelect = V_TablaSelect arbol.console.append("\n" + self.consolaInterna + self.TablaSelect.inicializarPrettybabe() + "\n") return self.TablaSelect
def ruta_SelectComplejo(self, entorno: Tabla_de_simbolos, arbol: Arbol): print("[Select] ruta_SelectComplejo (Go on)") V_TablaSelect = Valor(TIPO.MATRIZ, "TablaSelect") for i in self.listatablas: self.virtualizar_tabla(i, entorno, arbol) # ------------------ j = 0 for i in self.listavalores: if self.obtener_multi(i, entorno, arbol, j): break j = j + 1 # ------------------ V_TablaSelect.inicializarMatrix_boring(self.tamFilaTablaSelect, len(self.listavalores)) index = 0 for i in self.listavalores: lista: list = self.obtener_columnas(i, entorno, arbol) for m in range(len(lista)): V_TablaSelect.matriz[m][index] = lista[m] index = index + 1 self.TablaSelect = V_TablaSelect # ---------------------------------------------------------------------------------- TablaSe:Simbolo = Simbolo("TablaResult", 0, self.TablaSelect) entorno.insertar_variable(TablaSe) for i in self.listawhere: i.execute(entorno, arbol)