oracle bind names that start with numbers

Issue #2138 resolved
Mike Bayer repo owner created an issue

such as

from sqlalchemy import *

m = MetaData()

t = Table("asfd", m, 
    Column("100K", Integer)
)

print t.insert()

produce a bind name like :100K and wouldn't you know it oracle doesn't like that. see if quoting of the name is enough.

Comments (7)

  1. Mike Bayer reporter

    much simpler test, and I think we should just either underscore or otherwise prefix the names at least:

    from sqlalchemy import literal_column
    from sqlalchemy.dialects import oracle
    
    print (literal_column("2") + 2).compile(dialect=oracle.dialect())
    
  2. Mike Bayer reporter
    • Fixed long-standing bug in Oracle dialect where bound parameter names that started with numbers would not be quoted, as Oracle doesn't like numerics in bound parameter names. fixes #2138

    → <<cset cc29c4afff20>>

  3. Mike Bayer reporter
    • Fixed long-standing bug in Oracle dialect where bound parameter names that started with numbers would not be quoted, as Oracle doesn't like numerics in bound parameter names. fixes #2138

    → <<cset d2997166ee07>>

  4. Log in to comment