Modify

Opened 16 years ago

Closed 12 years ago

#3482 closed defect (wontfix)

Python Error on save new CoreReview

Reported by: 3dh@… Owned by: Marc
Priority: normal Component: PeerReviewPlugin
Severity: normal Keywords:
Cc: Stjujsckij Nickolaj Trac Release: 0.10

Description

On Trac 0.10.4 (standalone server using PostgreSQL DB), python 2.3.3 (64 bit), running on a SuSE 9 server, I installed the current svn version of the plugin (2008-07-30).

When creating a new codereview, I get following Python error / trace when clicking on button "add review", after adding one file and the title+comment:

Traceback (most recent call last):
  File "/usr/lib64/python2.3/site-packages/trac/web/main.py", line 406, in dispatch_request
    dispatcher.dispatch(req)
  File "/usr/lib64/python2.3/site-packages/trac/web/main.py", line 237, in dispatch
    resp = chosen_handler.process_request(req)
  File "build/bdist.linux-x86_64/egg/codereview/peerReviewNew.py", line 137, in process_request
  File "build/bdist.linux-x86_64/egg/codereview/peerReviewNew.py", line 177, in createCodeReview
  File "build/bdist.linux-x86_64/egg/codereview/CodeReviewStruct.py", line 50, in save
  File "/usr/lib64/python2.3/site-packages/trac/db/util.py", line 51, in execute
    return self.cursor.execute(sql)
  File "/usr/lib64/python2.3/site-packages/trac/db/util.py", line 51, in execute
    return self.cursor.execute(sql)
IntegrityError:  NULL-Value in column »idreview« hurts Not-Null-Constraint

Any help is appreciated.

Attachments (0)

Change History (3)

comment:1 Changed 14 years ago by Stjujsckij Nickolaj

Cc: Stjujsckij Nickolaj added; anonymous removed

Here's where the problem lurks.

When inserted in PgSQL table, ID can't be set to NULL.

TracDB=> INSERT INTO CodeReviews VALUES (NULL, 'krigstask', 'Open for review', 1261388961, 'Temp', 'Let us try');
ERROR:  null value in column "idreview" violates not-null constraint

TracDB=> INSERT INTO CodeReviews VALUES (DEFAULT, 'krigstask', 'Open for review', 1261388961, 'Temp', 'Let us try');
INSERT 0 1

TracDB=> SELECT * FROM codereviews;
 idreview |  author   |     status      | datecreate | name |   notes    
----------+-----------+-----------------+------------+------+------------
        1 | krigstask | Open for review | 1261388961 | Temp | Let us try
(1 row)

Can't say how this could be handled in a generic with SQLite way. Probably using named VALUES like this:

INSERT INTO codereviews (author, status, datecreate, name, notes) VALUES ('krigstask', 'Open for review', 1261388961, 'Temp', 'Let us try');

Don't forget to see into ticket 4118 regarding letter case in table / column names.

comment:2 Changed 13 years ago by Marc

Owner: changed from Sebastian Marek to Marc

comment:3 Changed 12 years ago by Ryan J Ollos

Resolution: wontfix
Status: newclosed

0.10 is no longer supported. The plugin should be database agnostic now with the latest trunk code.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Marc.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.