Beispiel #1
0
    def execute(self, environment):
        lista = []
        params = []
        tab = self.tabla

        for p in self.parametros:
            params.append(p.execute(environment))

        result = Checker.checkInsert(dbtemp, self.tabla, self.columns, params)
        if result[0] == None:
            for p in result[1]:
                if p == None:
                    lista.append(p)
                else:
                    lista.append(p.value)
            res = jsonMode.insert(dbtemp, tab, lista)
            if res == 2:
                return "No existe la base de datos"
            elif res == 3:
                return "No existe la tabla"
            elif res == 5:
                return "Columnas fuera de los limites"
            elif res == 4:
                return "Llaves primarias duplicadas"
            elif res == 1:
                return "Error en la operacion"
            elif res == 0:
                return "Fila Insertada correctamente"
        else:
            return result[0]
Beispiel #2
0
    def execute(self, environment):
        try:
            lista = []
            params = []
            tab = self.tabla

            for p in self.parametros:
                params.append(p.execute(environment))

            result = Checker.checkInsert(dbtemp, self.tabla, self.columns,
                                         params)
            if result[0] == None:
                for p in result[1]:
                    if p == None:
                        lista.append(p)
                    else:
                        lista.append(p.value)
                res = jsonMode.insert(dbtemp, tab, lista)
                if res == 2:
                    sintaxPostgreSQL.insert(
                        len(sintaxPostgreSQL),
                        "Error: 42P01: La base de datos  " + str(self.name) +
                        " no existe",
                    )
                    return "La base de datos no existe"
                elif res == 3:
                    sintaxPostgreSQL.insert(
                        len(sintaxPostgreSQL),
                        "Error: 42P01: La tabla " + str(tab) + " no existe",
                    )
                    return "No existe la tabla"
                elif res == 5:
                    sintaxPostgreSQL.insert(
                        len(sintaxPostgreSQL),
                        "Error: 42601: INSERT tiene mas o menos registros que columnas ",
                    )
                    return "Columnas fuera de los limites"
                elif res == 4:
                    sintaxPostgreSQL.insert(
                        len(sintaxPostgreSQL),
                        "Error: 23505: el valor de clave duplicada viola la restricción única ",
                    )
                    return "Llaves primarias duplicadas"
                elif res == 1:
                    sintaxPostgreSQL.insert(len(sintaxPostgreSQL),
                                            "Error: XX000: Error interno")
                    return "Error en la operacion"
                elif res == 0:
                    return "Fila Insertada correctamente"
            else:
                return result[0]
        except:
            raise
Beispiel #3
0
    def execute(self, environment):
        try:
            lista = []
            params = []
            tab = self.tabla

            for p in self.parametros:
                params.append(p.execute(environment))

            result = Checker.checkInsert(instruction.dbtemp, self.tabla,
                                         self.columns, params)

            if result[0] == None:
                for p in result[1]:
                    if p == None:
                        lista.append(p)
                    else:
                        lista.append(p.value)
                res = jsonMode.insert(instruction.dbtemp, tab, lista)
                if res == 2:
                    instruction.semanticErrors.append([
                        "La base de datos " + instruction.dbtemp +
                        " no existe",
                        self.row,
                    ])
                    instruction.syntaxPostgreSQL.append(
                        "Error: 42000: La base de datos  " +
                        str(instruction.dbtemp) + " no existe")
                    return "La base de datos no existe"
                elif res == 3:
                    instruction.semanticErrors.append(
                        ["La tabla " + str(tab) + " no existe", self.row])
                    instruction.syntaxPostgreSQL.append(
                        "Error: 42P01: La tabla " + str(tab) + " no existe")
                    return "No existe la tabla"
                elif res == 5:
                    instruction.semanticErrors.append([
                        "La instruccion INSERT tiene mas o menos registros que columnas",
                        self.row,
                    ])
                    instruction.syntaxPostgreSQL.append(
                        "Error: 42611: INSERT tiene mas o menos registros que columnas "
                    )
                    return "Columnas fuera de los limites"
                elif res == 4:
                    instruction.semanticErrors.append([
                        "El valor de la clave esta duplicada, viola la restriccion unica",
                        self.row,
                    ])
                    instruction.syntaxPostgreSQL.append(
                        "Error: 23505: el valor de clave esta duplicada, viola la restricción única "
                    )
                    return "Llaves primarias duplicadas"
                elif res == 1:
                    instruction.syntaxPostgreSQL.append(
                        "Error: XX000: Error interno")
                    return "Error en la operacion"
                elif res == 0:
                    return "Fila Insertada correctamente"
            else:
                return result[0]
        except:
            instruction.syntaxPostgreSQL.append(
                "Error: P0001: Error en la instruccion INSERT")
            pass