Example #1
0
    def generar3D(self, tabla, arbol):
        super().generar3D(tabla, arbol)
        code = []
        t0 = c3d.getTemporal()
        code.append(
            c3d.asignacionString(t0,
                                 "CREATE TYPE " + self.valor + " AS ENUM ("))
        t1 = c3d.getTemporal()

        sizeCol = len(self.listaExpre)
        contador = 1
        for enum in self.listaExpre:
            code.append(
                c3d.operacion(
                    t1, ClassIdentificador(t0),
                    ClassValor("\"" + enum.generar3D(tabla, arbol) + "\"",
                               "STRING"), ClassOP_ARITMETICO.SUMA))
            t0 = t1
            t1 = t1 = c3d.getTemporal()
            if contador != sizeCol:
                code.append(
                    c3d.operacion(t1, ClassIdentificador(t0),
                                  ClassValor("\", \"", "STRING"),
                                  ClassOP_ARITMETICO.SUMA))
                t0 = t1
                t1 = t1 = c3d.getTemporal()
            contador += 1
        code.append(
            c3d.operacion(t1, ClassIdentificador(t0),
                          ClassValor('");"', "STRING"),
                          ClassOP_ARITMETICO.SUMA))
        code.append(c3d.asignacionTemporalStack(t1))
        code.append(c3d.aumentarP())

        return code
Example #2
0
    def generar3D(self, tabla, arbol):
        super().generar3D(tabla, arbol)
        code = []
        t0 = c3d.getTemporal()
        code.append(c3d.asignacionString(t0, "SELECT "))

        sizeCol = len(self.lista)
        contador = 1
        for el in self.lista:
            code += el.generar3D(tabla, arbol)
            if contador != sizeCol:
                t0 = c3d.getLastTemporal()
                t1 = c3d.getTemporal()
                code.append(
                    c3d.operacion(t1, ClassIdentificador(t0),
                                  ClassValor("\", \"", "STRING"),
                                  ClassOP_ARITMETICO.SUMA))
            contador += 1

        t0 = c3d.getLastTemporal()
        t1 = c3d.getTemporal()
        code.append(
            c3d.operacion(t1, ClassIdentificador(t0),
                          ClassValor("\";\"", "STRING"),
                          ClassOP_ARITMETICO.SUMA))

        code.append(c3d.asignacionTemporalStack(t1))
        code.append(c3d.aumentarP())

        return code
Example #3
0
    def generar3D(self, tabla, arbol):
        super().generar3D(tabla,arbol)
        code = []
        t0 = c3d.getLastTemporal()
        t1 = c3d.getTemporal()
        if self.lcol == "*":
            code.append(c3d.operacion(t1, ClassIdentificador(t0), ClassValor("\"*\"", "STRING"), ClassOP_ARITMETICO.SUMA))
            t0 = t1
            t1 = c3d.getTemporal()
        
        if self.lcol2 != None:
            code.append(c3d.operacion(t1, ClassIdentificador(t0), ClassValor("\" FROM " + self.lcol2[0].id + "\"", "STRING"), ClassOP_ARITMETICO.SUMA))

        return code
Example #4
0
    def generar3D(self, tabla, arbol):
        super().generar3D(tabla,arbol)
        code = []
        t0 = c3d.getLastTemporal()
        t1 = c3d.getTemporal()
        code.append(c3d.operacion(t1, ClassIdentificador(t0), ClassValor("\"WIDTH_BUCKET(" + str(self.valor.generar3D(tabla, arbol)) + "," + str(self.min.generar3D(tabla, arbol)) + "," + str(self.max.generar3D(tabla, arbol)) + "," + str(self.count.generar3D(tabla, arbol)) + ")\"", "STRING"), ClassOP_ARITMETICO.SUMA))

        return code
Example #5
0
    def generar3D(self):
        code = []
        code.append(c3d.asignacionH())
        code.append(c3d.aumentarP())
        t0 = c3d.getLastTemporal()
        t1 = c3d.getTemporal()
        if self.id != None:
            code.append(
                c3d.operacion(
                    t1, ClassIdentificador(t0),
                    ClassValor("\"" + str(self.id) + " \"", "STRING"),
                    ClassOP_ARITMETICO.SUMA))
            t0 = t1
            t1 = c3d.getTemporal()

        code.append(
            c3d.operacion(
                t1, ClassIdentificador(t0),
                ClassValor("\"" + self.toString().replace('_', ' ') + "(\"",
                           "STRING"), ClassOP_ARITMETICO.SUMA))
        t0 = t1
        t1 = c3d.getTemporal()

        for cont in range(len(self.expresion)):
            code.append(
                c3d.operacion(
                    t1, ClassIdentificador(t0),
                    ClassValor('"' + self.expresion[cont] + '"', "STRING"),
                    ClassOP_ARITMETICO.SUMA))
            t0 = t1
            t1 = c3d.getTemporal()

            if cont + 1 != len(self.expresion):
                code.append(
                    c3d.operacion(t1, ClassIdentificador(t0),
                                  ClassValor('","', "STRING"),
                                  ClassOP_ARITMETICO.SUMA))
                t0 = t1
                t1 = c3d.getTemporal()

        code.append(
            c3d.operacion(t1, ClassIdentificador(t0),
                          ClassValor("\")\\n\"", "STRING"),
                          ClassOP_ARITMETICO.SUMA))

        return code
Example #6
0
    def generar3D(self, tabla, arbol):
        super().generar3D(tabla,arbol)
        code = []
        t0 = c3d.getLastTemporal()
        t1 = c3d.getTemporal()
        code.append(c3d.operacion(t1, ClassIdentificador(t0), ClassValor("\"ATAN2(" + str(self.opIzq.generar3D(tabla, arbol)) + "," + str(self.opDer.generar3D(tabla, arbol)) + ")\"", "STRING"), ClassOP_ARITMETICO.SUMA))

        return code
Example #7
0
    def generar3D(self, tabla, arbol):
        super().generar3D(tabla,arbol)
        code = []
        t0 = c3d.getLastTemporal()
        t1 = c3d.getTemporal()
        code.append(c3d.operacion(t1, ClassIdentificador(t0), ClassValor("\"DATE_PART('" + self.identificador + "', INTERVAL '" + self.valor + "')\"", "STRING"), ClassOP_ARITMETICO.SUMA))

        return code
Example #8
0
    def generar3D(self, tabla, arbol):
        super().generar3D(tabla,arbol)
        code = []
        t0 = c3d.getLastTemporal()
        t1 = c3d.getTemporal()
        code.append(c3d.operacion(t1, ClassIdentificador(t0), ClassValor("\"CURRENT_DATE\"", "STRING"), ClassOP_ARITMETICO.SUMA))

        return code
Example #9
0
    def generar3D(self, tabla, arbol):
        super().generar3D(tabla,arbol)
        code = []
        code.append(c3d.asignacionH())
        code.append(c3d.aumentarP())
        t0 = c3d.getLastTemporal()
        t1 = c3d.getTemporal()
        code.append(c3d.operacion(t1, ClassIdentificador(t0), ClassValor("\"CBRT(" + str(self.valor.generar3D(tabla, arbol)) + ")\"", "STRING"), ClassOP_ARITMETICO.SUMA))

        return code
Example #10
0
    def generar3D(self, tabla, arbol):
        super().generar3D(tabla, arbol)
        code = []
        t0 = c3d.getLastTemporal()
        t1 = c3d.getTemporal()
        code.append(
            c3d.operacion(
                t1, ClassIdentificador(t0),
                ClassValor(
                    "\"EXTRACT(" + self.tiempo + " FROM TIMESTAMP '" +
                    self.caracter + "')\"", "STRING"),
                ClassOP_ARITMETICO.SUMA))

        return code