Skip to content

Loading…

DBAL-444: OraclePlatform getSequenceNextValSQL not handling case/quoting properly on 11g #1641

Open
doctrinebot opened this Issue · 5 comments

2 participants

@doctrinebot

Jira issue originally created by user maxmilaney:

I have an installer script that uses ORM SchemaTool to create the entities in the DB and then populates with basic data using basic EM->persist calls via ORM.

Sequence objects are created, and when using the 10g Instant Client everything worked correctly, however, upon upgrade to latest version of the Instant Client Oracle seems to be expecting consistent case for these schema objects. It appears as if they are being created with a quoted name as they are created in lowercase. OraclePlatform::getSequenceNextValSQL, however, generates "SELECT entityidseq.nextval FROM DUAL" and this fails with error "General error: 2289 OCIStmtExecute: ORA-02289: sequence does not exist".

Executing "SELECT "entityidseq".nextval FROM DUAL" directly on the DB returns the correct value.

I believe this may also impact the code in http://www.doctrine-project.org/jira/browse/[DBAL-278](http://www.doctrine-project.org/jira/browse/DBAL-278)

@doctrinebot

Comment created by maxmilaney:

Hi there,
Wondering if there is any update on this? I'm having to use a workaround in my applications.
Cheers,
Max

@doctrinebot

Comment created by @beberlei:

Can you maybe show an entity definition with its sequence mapping?

@doctrinebot

Comment created by maxmilaney:

Here you are mate. Please see attachment.

@doctrinebot

Comment created by @beberlei:

I cant seem to find the problem, in DBAL "lib/Doctrine/DBAL/Platforms/OraclePlatform.php" on line 171, the sequence statement is created with $sequence->getQuotedName($platform), but this only works if quoting is requrested for the sequence.

How do you actually create the sequence? Your entity doesnt have @GeneratedValue.

What does the create schema command say with "--dump-sql" flag? Is the SQL quoted?

@doctrinebot

Comment created by @deeky666:

[maxmilaney] Can you please test if this still exists in the current master branch? If so, can you please provide the information requested by [beberlei] ? Otherwise hunting this down is rather hard... Thank you!

@doctrinebot doctrinebot added the Bug label
@beberlei beberlei was assigned by doctrinebot
@doctrinebot doctrinebot added this to the 2.6 milestone
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.