Modify ↓
#1504 closed defect (wontfix)
get_last_id() causing an error and sequence question
Reported by: | Owned by: | Anton Stroganov | |
---|---|---|---|
Priority: | normal | Component: | MantisImportScript |
Severity: | critical | Keywords: | currval, seqence |
Cc: | Trac Release: | 0.10 |
Description
This line was giving me an error.
return self.db().get_last_id(c,'ticket')
psycopg2.ProgrammingError: currval of sequence "ticket_id_seq" is not yet defined in this session
This seems utterly wrong to me since i can select currval('ticket_id_seq') via psql. It's not used so i commented it out.
On a slightly different note, are the sequences in postgresql set correctly after all tickets, comments, stuff are inserted?
Attachments (0)
Change History (2)
comment:2 Changed 8 years ago by
Resolution: | → wontfix |
---|---|
Status: | new → closed |
New version of plugin is on GitHub. Please open a new ticket if you have an issue with the new version.
Note: See
TracTickets for help on using
tickets.
I ran into this as well.
The problem is that currval of a sequence id is a a session-local value. It cannot be retrieved unless nextval has been called for the current session.
I fixed this by modifying: /usr/lib/python2.6/dist-packages/trac/db/postgres_backend.py
to call setval, max(id) first to update the sequence value for the session