Re: CLSQL Sequence Names

Russ Tyndall <[email protected]> Wed, 28 Mar 2012 14:17:29 -0400
Newsgroups gmane.lisp.clsql.general
Message-ID <[email protected]>
Jan Tolenaar,

Ughh, sorry to have created a bad day for you (and anyone else who ran 
afoul of this bug)!

I am now uncertain of how to proceed, because changing it back could 
likely lead to errors for someone relying on the new name.  This change 
definitely occurred while trying to standardize writing out database 
identifiers.  My best guess as to WHY it changed was that it seemed 
better/more standard to put a suffix on things as opposed to a prefix 
(as postgres does by default with SERIAL columns and their associate 
sequence).  This doesn't particularly justify the change though, so my 
answer would have to be that this was an unintended consequence from a 
less well thought out segment of this change.

I have a patch pushed to a development CLSQL, that adds the 
*old-sequence-names* flag to revert to using the older names.  I also 
updated the change log to include a note about sequence names changing 
in that changeset. Alternatively renaming the sequence tables to the 
newer naming scheme should get you going again.

Patch:
https://github.com/UnwashedMeme/clsql/commit/975b54

Latest Dev Copy:
https://github.com/UnwashedMeme/clsql/commits/master

I hope this resolves your issue, though please provide more feedback if 
it does not.

Cheers and thanks for the bug report,
Russ Tyndall



On 3/28/2012 10:28 AM, Jan Tolenaar wrote:
> From: Jan Tolenaar<jan.tolenaar-qWit8jRvyhVmR6Xm/[email protected]>
> Subject: [category] support request
>
>
> Phone:
>
> Message Body:
> Please forward to clsql contributors Nathan Bird and Russ Tyndall (my ordinary email doesn't work because you have blacklisted dutch provider xs4all.nl).
>
> Russ, Nathan,
>
> I found your names in CLSQL's changelog.
>
> There is a major undocumented incompatible change in clsql-20110522-git (compared to clsql-20110418-git).
>
> The naming convention of sequence tables (used to generate identity columns) was changed from _CLSQL_SEQ_tablename to tablename_CLSQL_SEQ.
>
> I have a commercial program that uses these tables. There happened to be some old code to create the required sequences tables automatically. So the program started to reuse identity numbers with hilarious effects. Of course I should have removed that code and then the program would have crashed immediately.
>
> Was there a reason for this change or did it just happen?
>
> Regards,
> Jan Tolenaar
>
>
> --
> Sent from: 'http://www.acceleration.net/support/' - Sender's IP Address: '83.160.107.235'
> This mail is sent via contact form on Blog http://www.acceleration.net
>