示例#1
0
 def process(self, instruction):
     typeChecker = TypeChecker()
     nombreTabla = self._table_name.value
     noCols = self.numberOfColumns(self._column_list)
     typeChecker.createTable(nombreTabla, noCols, 0,
                             0)  #TODO add line and column
     # Agrega las propiedades que agrupan a varias columnas
     self.generetaExtraProp()
     # Genera las tablas ya con todas sus propiedades
     self.generateColumns(nombreTabla, typeChecker)
示例#2
0
    def process(self, instruction):
        typeChecker = TypeChecker()
        nombreTabla = self._table_name.alias
        noCols = self.numberOfColumns(self._column_list)

        resTab = typeChecker.createTable(nombreTabla, noCols, 0,
                                         0)  # TODO add line and column

        # Si devuelve None es porque ya existe la tabla
        if resTab == None:
            return

        # Agrega las propiedades que agrupan a varias columnas
        self.generetaExtraProp()
        # Genera las tablas ya con todas sus propiedades
        self.generateColumns(nombreTabla, typeChecker)

        # Si tiene inherits la manoseamos
        if self._inherits_from != None:
            self.addInherits(nombreTabla, self._inherits_from)

        # Si ocurrio algun error en todo el proceso mato la tabla
        if self._can_create_flag == False:
            typeChecker.deleteTable(nombreTabla, 0, 0)
            return

        # Verifico si tiene llave primaria la tabla o si le meto una escondida
        # if self.existsPK(nombreTabla) == 0:
        #     self.generateHiddenPK(nombreTabla)

        # Agrego llaves primarias a la base de datos si no hubo clavo con la tabla
        self.addPKToDB(nombreTabla)