Changeset 3724

Show
Ignore:
Timestamp:
05/27/08 16:56:37 (8 months ago)
Author:
proofek
Message:

#333: Plugin does not work with postgreSQL. Fixed

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • peerreviewplugin/branches/2.1-toddler/codereview/dbBackend.py

    r3708 r3724  
    1414from codereview.ReviewFilesStruct import * 
    1515from codereview.ReviewCommentStruct import * 
    16 from codereview.dbEscape import dbEscape 
    1716import string 
    1817 
     
    3635    def getMyCodeReviews(self, user): 
    3736        query = "SELECT IDReview, Author, Status, DateCreate, Name, Notes FROM CodeReviews WHERE Author = '%s' ORDER BY DateCreate" % (user) 
    38         #query = "SELECT IDReview, Author, Status, DateCreate, Name, Notes FROM CodeReviews WHERE Author= '" + dbEscape(user) + "' ORDER BY DateCreate" 
    3937        return self.execCodeReviewQuery(query, False) 
    4038 
     
    4240    def getCodeReviews(self, user): 
    4341        query = "SELECT cr.IDReview, cr.Author, cr.Status, cr.DateCreate, cr.Name, cr.Notes FROM CodeReviews cr, Reviewers r WHERE r.IDReview = cr.IDReview AND r.Reviewer = '%s' ORDER BY cr.DateCreate" % (user) 
    44         #query = "SELECT CodeReviews.IDReview, CodeReviews.Author, CodeReviews.Status, CodeReviews.DateCreate, CodeReviews.Name, CodeReviews.Notes FROM CodeReviews, Reviewers WHERE Reviewers.IDReview = CodeReviews.IDReview AND Reviewer = '" + dbEscape(user) + "' ORDER BY CodeReviews.DateCreate" 
    4542        return self.execCodeReviewQuery(query, False) 
    4643 
     
    4845    def getCodeReviewsByStatus(self, status): 
    4946        query = "SELECT IDReview, Author, Status, DateCreate, Name, Notes FROM CodeReviews WHERE Status = '%s' ORDER BY DateCreate" % (status) 
    50         #query = "SELECT IDReview, Author, Status, DateCreate, Name, Notes FROM CodeReviews WHERE Status= '" + dbEscape(status) + "'ORDER BY DateCreate" 
    5147        return self.execCodeReviewQuery(query, False) 
    5248 
     
    5450    def getVotesByID(self, type, id): 
    5551        query = "SELECT Count(Reviewer) FROM Reviewers WHERE IDReview = '%s' AND Vote = '%s'" % (id, type) 
    56         #query = "SELECT Count(Reviewer) FROM Reviewers WHERE IDReview = '" + dbEscape(id) +"' AND Vote = '" + dbEscape(type) + "'" 
    5752        cursor = self.db.cursor() 
    5853        cursor.execute(query) 
     
    6560    def getCodeReviewsByID(self, id): 
    6661        query = "SELECT IDReview, Author, Status, DateCreate, Name, Notes FROM CodeReviews WHERE IDReview = '%s'" % (id) 
    67         #query = "SELECT IDReview, Author, Status, DateCreate, Name, Notes FROM CodeReviews WHERE IDReview= '" + dbEscape(id) + "'" 
    6862        return self.execCodeReviewQuery(query, True) 
    6963 
     
    7165    #names given in the 'name' string 
    7266    def searchCodeReviewsByName(self, name): 
    73         queryPart = self.createORLoop(dbEscape(name), "Name") 
     67        queryPart = self.createORLoop(name, "Name") 
    7468        if len(queryPart) == 0: 
    7569            query = "SELECT IDReview, Author, Status, DateCreate, Name, Notes FROM CodeReviews" 
    7670        else: 
    7771            query = "SELECT IDReview, Author, Status, DateCreate, Name, Notes FROM CodeReviews WHERE %s" % (queryPart) 
    78             #query = "SELECT IDReview, Author, Status, DateCreate, Name, Notes FROM CodeReviews WHERE " + dbEscape(query) 
    7972        return self.execCodeReviewQuery(query, True) 
    8073 
     
    8376    def searchCodeReviews(self, crStruct): 
    8477        query = "SELECT IDReview, Author, Status, DateCreate, Name, Notes FROM CodeReviews WHERE " 
    85         queryPart = self.createORLoop(dbEscape(crStruct.Name), "Name") 
     78        queryPart = self.createORLoop(crStruct.Name, "Name") 
    8679        if len(queryPart) != 0: 
    87             query = query + "(%s) AND " % queryPart 
    88         query = query + "Author LIKE '%%s%' AND Status LIKE '%%s%' AND DateCreate >= '%s'" % crStruct.Author, crStruct.Status, crStruct.DateCreate 
     80            query = query + "(%s) AND " % (queryPart) 
     81        query = query + "Author LIKE '%%s%' AND Status LIKE '%%s%' AND DateCreate >= '%s'" % (crStruct.Author, crStruct.Status, crStruct.DateCreate) 
    8982        return self.execCodeReviewQuery(query, False) 
    9083 
    9184    #Returns an array of all the reviewers for a code review 
    9285    def getReviewers(self, id): 
    93         query = "SELECT IDReview, Reviewer, Status, Vote FROM Reviewers WHERE IDReview = %s" % (id) 
    94         #query = "SELECT IDReview, Reviewer, Status, Vote FROM Reviewers WHERE IDReview = '" + dbEscape(id) + "'" 
     86        query = "SELECT IDReview, Reviewer, Status, Vote FROM Reviewers WHERE IDReview = '%s'" % (id) 
    9587        return self.execReviewerQuery(query, False) 
    9688 
     
    9890    def getReviewerEntry(self, id, name): 
    9991        query = "SELECT IDReview, Reviewer, Status, Vote FROM Reviewers WHERE IDReview = '%s' AND Reviewer = '%s'" % (id, name) 
    100         #query = "SELECT IDReview, Reviewer, Status, Vote FROM Reviewers WHERE IDReview = '" + dbEscape(id) + "' AND Reviewer = '" + dbEscape(name) + "'" 
    10192        return self.execReviewerQuery(query, True) 
    10293 
    10394    #Returns an array of the files associated with the given review id 
    10495    def getReviewFiles(self, id): 
    105         query = "SELECT IDFile, IDReview, Path, LineStart, LineEnd, Version FROM ReviewFiles WHERE IDReview = %s" % (id) 
    106         #query = "SELECT IDFile, IDReview, Path, LineStart, LineEnd, Version FROM ReviewFiles WHERE IDReview = '" + dbEscape(id) + "'" 
     96        query = "SELECT IDFile, IDReview, Path, LineStart, LineEnd, Version FROM ReviewFiles WHERE IDReview = '%s'" % (id) 
    10797        return self.execReviewFileQuery(query, False) 
    10898 
    10999    #Returns the requested review file 
    110100    def getReviewFile(self, id): 
    111         query = "SELECT IDFile, IDReview, Path, LineStart, LineEnd, Version FROM ReviewFiles WHERE IDFile = %s" % (id) 
    112         #query = "SELECT IDFile, IDReview, Path, LineStart, LineEnd, Version FROM ReviewFiles WHERE IDFile = '" + dbEscape(id) + "'" 
     101        query = "SELECT IDFile, IDReview, Path, LineStart, LineEnd, Version FROM ReviewFiles WHERE IDFile = '%s'" % (id) 
    113102        return self.execReviewFileQuery(query, True) 
    114103 
    115104    #Returns the requested comment 
    116105    def getCommentByID(self, id): 
    117         query = "SELECT IDComment, IDFile, IDParent, LineNum, Author, Text, AttachmentPath, DateCreate FROM ReviewComments WHERE IDComment = %s" % (id) 
    118         #query = "SELECT IDComment, IDFile, IDParent, LineNum, Author, Text, AttachmentPath, DateCreate FROM ReviewComments WHERE IDComment = '" + dbEscape(id) + "'" 
     106        query = "SELECT IDComment, IDFile, IDParent, LineNum, Author, Text, AttachmentPath, DateCreate FROM ReviewComments WHERE IDComment = '%s'" % (id) 
    119107        return self.execReviewCommentQuery(query, True) 
    120108 
    121109    #Returns an array of comments for the given file 
    122110    def getCommentsByFileID(self, id): 
    123         query = "SELECT IDComment, IDFile, IDParent, LineNum, Author, Text, AttachmentPath, DateCreate FROM ReviewComments WHERE IDFile = %s ORDER BY DateCreate" % (id) 
    124         #query = "SELECT IDComment, IDFile, IDParent, LineNum, Author, Text, AttachmentPath, DateCreate FROM ReviewComments WHERE IDFile = '" + dbEscape(id) + "' ORDER BY DateCreate" 
     111        query = "SELECT IDComment, IDFile, IDParent, LineNum, Author, Text, AttachmentPath, DateCreate FROM ReviewComments WHERE IDFile = '%s' ORDER BY DateCreate" % (id) 
    125112        return self.execReviewCommentQuery(query, False) 
    126113 
     
    128115    def getCommentsByFileIDAndLine(self, id, line): 
    129116        query = "SELECT IDComment, IDFile, IDParent, LineNum, Author, Text, AttachmentPath, DateCreate FROM ReviewComments WHERE IDFile = '%s' AND LineNum = '%s' ORDER BY DateCreate" % (id, line) 
    130         #query = "SELECT IDComment, IDFile, IDParent, LineNum, Author, Text, AttachmentPath, DateCreate FROM ReviewComments WHERE IDFile = '" + dbEscape(id) + "' AND LineNum = '" + dbEscape(line) + "' ORDER BY DateCreate" 
    131117        return self.execReviewCommentQuery(query, False) 
    132118 
     
    148134    #Sets the "Threshold" to the given value 
    149135    def setThreshold(self, val): 
    150         query = "UPDATE system SET value = '" + val + "' WHERE name = 'CodeReviewVoteThreshold'" 
     136        query = "UPDATE system SET value = '%s' WHERE name = 'CodeReviewVoteThreshold'" % (val) 
    151137        cursor = self.db.cursor() 
    152138        cursor.execute(query) 
     
    156142    #for the given file id. 
    157143    def getCommentDictForFile(self, id): 
    158         #query = "SELECT LineNum, Count(IDComment) FROM ReviewComments WHERE IDFile = '" + dbEscape(id) + "' GROUP BY LineNum" 
    159144        query = "SELECT LineNum, Count(IDComment) FROM ReviewComments WHERE IDFile = '%s' GROUP BY LineNum" % (id) 
    160145        cursor = self.db.cursor()