[ https://issues.apache.org/jira/browse/DDLUTILS-199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12590815#action_12590815 ]
Thomas Dudziak commented on DDLUTILS-199: ----------------------------------------- The underscore is not a special character - in fact it is usually the only non alphanumeric character that is allowed in table/column/... names when not in delimited identifier mode. Could you post the database version, the exact model or even SQL that you have problems with, and the errors that you're getting ? Could you also try this SQL: CREATE SEQUENCE roundtrip_avalue_seq; CREATE TABLE roundtrip ( pk INTEGER NOT NULL, avalue INTEGER UNIQUE DEFAULT nextval('roundtrip_avalue_seq'), PRIMARY KEY (pk) ); INSERT INTO roundtrip (pk) VALUES (1); This works fine for me when executed in SQuirrel SQL 2.6.1. against a PostgreSQL 8.2 database and the 8.2-506 JDBC driver. > Postgress AutoIncrement fails > ----------------------------- > > Key: DDLUTILS-199 > URL: https://issues.apache.org/jira/browse/DDLUTILS-199 > Project: DdlUtils > Issue Type: Bug > Components: Core - PostgreSql > Affects Versions: 1.0 > Environment: Ubuntu 7.10, PostgreSQL 8.2.6 > Reporter: Rijk van Haaften > Assignee: Thomas Dudziak > Fix For: 1.1 > > Original Estimate: 0.17h > Remaining Estimate: 0.17h > > class org.apache.ddlutils.platform.postgresql.PostgreSqlBuilder > writeColumnAutoIncrementStmt(Table, Column) > encloses the parameter of nextval in single quotes. > print("UNIQUE DEFAULT nextval('"); > ... > print("')"); > which in my case generates > UNIQUE DEFAULT nextval('Entity_id_seq') > The underscore is a 'special' character, so the string Entity_id_seq needs to > be in double quotes. The fix is simple but tricky: the single quotes MUST > remain! My local fix (notice the escaped double quote \" twice): > /** > * [EMAIL PROTECTED] > */ > protected void writeColumnAutoIncrementStmt(Table table, Column column) > throws IOException > { > print("UNIQUE DEFAULT nextval('\""); > print(getConstraintName(null, table, column.getName(), "seq")); > print("\"')"); > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.