示例#1
0
    def optimize(self):
        '''Performs all the possible optimizations on the query'''
        self.undo = self.ui.txtQuery.text()  # Storing the query in undo list

        query = compatibility.get_py_str(self.ui.txtQuery.text())
        try:
            result = optimizer.optimize_all(query, self.relations)
            compatibility.set_utf8_text(self.ui.txtQuery, result)
        except Exception, e:
            QtGui.QMessageBox.information(None, QtGui.QApplication.translate("Form", "Error"), "%s\n%s" %
                                          (QtGui.QApplication.translate("Form", "Check your query!"), e.__str__()))
示例#2
0
 def resumeHistory(self, item):
     itm = compatibility.get_py_str(item.text()).split(' = ', 1)
     compatibility.set_utf8_text(self.ui.txtResult, itm[0])
     compatibility.set_utf8_text(self.ui.txtQuery, itm[1])
示例#3
0
 def resetLastCounter(self):
     self.qcounter = 1
     compatibility.set_utf8_text(self.ui.txtResult, u"_last%d" % self.qcounter) 
示例#4
0
            self.showRelation(self.selectedRelation)
                              # Show the result in the table
        except Exception, e:
            #print e.__unicode__()
            QtGui.QMessageBox.information(None, QtGui.QApplication.translate("Form", "Error"), u"%s\n%s" %
                                          (QtGui.QApplication.translate("Form", "Check your query!"), e.__unicode__()))
            return

        # Adds to history
        item = u'%s = %s' % (compatibility.get_py_str(
            self.ui.txtResult.text()), compatibility.get_py_str(self.ui.txtQuery.text()))
        # item=item.decode('utf-8'))
        compatibility.add_list_item(self.ui.lstHistory, item)

        self.qcounter += 1
        compatibility.set_utf8_text(self.ui.txtResult, u"_last%d" %
                                    self.qcounter)  # Sets the result relation name to none

    def showRelation(self, rel):
        '''Shows the selected relation into the table'''
        self.ui.table.clear()

        if rel == None:  # No relation to show
            self.ui.table.setColumnCount(1)
            self.ui.table.headerItem().setText(0, "Empty relation")
            return
        self.ui.table.setColumnCount(len(rel.header.attributes))

        # Set content
        for i in rel.content:
            item = QtGui.QTreeWidgetItem()
            for j in range(len(i)):