Hello,

I just chased down a bug in our application while using SQLAlchemy 1.0.6 in 
an Oracle RAC environment, which should probably be in SQLAlchemy 
documentation somewhere, and possibly motivate a change to the options for 
sequence creation on Oracle.

Basically, our application assumes a column we attach a sqlalchemy.Sequence 
to will always increment, and we use that to process a set of changes in 
strict order.  However, if you read the Oracle docs on SEQUENCE creation 
(here: 
https://docs.oracle.com/cd/B12037_01/server.101/b10759/statements_6014.htm), 
in an RAC environment, that is not true by default - each node running your 
database grabs a cache of sequence numbers to serve out equal to CACHE size 
(default is 20) and whichever node processes your insert will assign a 
sequence number from its cache.

I understand this is done for performance reasons, and in the very common 
case that all you want from your Sequence is to autogenerate a unique id, 
it's absolutely fine.  However, it would be nice to have an option to 
specify the ORDER keyword when creating your SEQUENCE if you really need a 
Sequence in sequential order, and a documentation note that this is an 
oddity of Oracle RAC.

Kind regards,

Dave Moore

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to