seade 2004/08/22 17:30:10 Modified: src/generator/src/java/org/apache/torque/engine/database/model Table.java Index.java xdocs changes.xml Log: Multiple unique constraints and indexes on a single table are now allocated sequential names (previously duplicate names were being allocated). Revision Changes Path 1.8 +11 -5 db-torque/src/generator/src/java/org/apache/torque/engine/database/model/Table.java Index: Table.java =================================================================== RCS file: /home/cvs/db-torque/src/generator/src/java/org/apache/torque/engine/database/model/Table.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- Table.java 31 Mar 2004 14:34:33 -0000 1.7 +++ Table.java 23 Aug 2004 00:30:10 -0000 1.8 @@ -237,10 +237,16 @@ } } - // NOTE: Most RDBMSes can apparently name unique column - // constraints/indices themselves (using MySQL and Oracle - // as test cases), so we'll assume that we needn't add an - // entry to the system name list for these. + for (i = 0, size = unices.size(); i < size; i++) + { + Unique unique = (Unique) unices.get(i); + name = unique.getName(); + if (StringUtils.isEmpty(name)) + { + name = acquireConstraintName("U", i + 1); + unique.setName(name); + } + } } catch (EngineException nameAlreadyInUse) { 1.6 +1 -39 db-torque/src/generator/src/java/org/apache/torque/engine/database/model/Index.java Index: Index.java =================================================================== RCS file: /home/cvs/db-torque/src/generator/src/java/org/apache/torque/engine/database/model/Index.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Index.java 22 Feb 2004 06:27:19 -0000 1.5 +++ Index.java 23 Aug 2004 00:30:10 -0000 1.6 @@ -73,7 +73,6 @@ if (!indexColumns.isEmpty()) { this.indexColumns = indexColumns; - createName(); if (log.isDebugEnabled()) { @@ -89,31 +88,6 @@ } /** - * Creates a name for the index using the NameFactory. - * - * @throws EngineException if the name could not be created - */ - private void createName() throws EngineException - { - Table table = getTable(); - List inputs = new ArrayList(4); - inputs.add(table.getDatabase()); - inputs.add(table.getName()); - if (isUnique()) - { - inputs.add("U"); - } - else - { - inputs.add("I"); - } - // ASSUMPTION: This Index not yet added to the list. - inputs.add(new Integer(table.getIndices().size() + 1)); - indexName = NameFactory.generateName( - NameFactory.CONSTRAINT_GENERATOR, inputs); - } - - /** * Imports index from an XML specification * * @param attrib the xml attributes @@ -140,18 +114,6 @@ */ public String getName() { - if (indexName == null) - { - try - { - // generate an index name if we don't have a supplied one - createName(); - } - catch (EngineException e) - { - // still no name - } - } return indexName; } 1.129 +5 -0 db-torque/xdocs/changes.xml Index: changes.xml =================================================================== RCS file: /home/cvs/db-torque/xdocs/changes.xml,v retrieving revision 1.128 retrieving revision 1.129 diff -u -r1.128 -r1.129 --- changes.xml 20 Aug 2004 11:48:46 -0000 1.128 +++ changes.xml 23 Aug 2004 00:30:10 -0000 1.129 @@ -9,6 +9,11 @@ <release version="3.2-alpha" date="in CVS"> <action dev='seade' type='fix'> + Multiple unique constraints and indexes on a single table are now + allocated sequential names (previously duplicate names were being + allocated). + </action> + <action dev='seade' type='fix'> Generate sequences correctly for PostgreSQL (i.e. leave it to PostgreSQL). Note that schemas produced from the database using the <code>torque:jdbc</code> goal are not yet handling sequences
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]