From: <fab...@us...> - 2009-02-07 19:23:45
|
Revision: 4068 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4068&view=rev Author: fabiomaulo Date: 2009-02-07 19:23:43 +0000 (Sat, 07 Feb 2009) Log Message: ----------- Bug fix (generated by quoted-sequence-names) Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Id/SequenceGenerator.cs Modified: trunk/nhibernate/src/NHibernate/Id/SequenceGenerator.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Id/SequenceGenerator.cs 2009-02-07 19:06:18 UTC (rev 4067) +++ trunk/nhibernate/src/NHibernate/Id/SequenceGenerator.cs 2009-02-07 19:23:43 UTC (rev 4068) @@ -69,16 +69,27 @@ public virtual void Configure(IType type, IDictionary<string, string> parms, Dialect.Dialect dialect) { var nativeSequenceName = PropertiesHelper.GetString(Sequence, parms, "hibernate_sequence"); - nativeSequenceName = StringHelper.Unqualify(nativeSequenceName); - nativeSequenceName = StringHelper.PurgeBackticksEnclosing(nativeSequenceName); - sequenceName = dialect.QuoteForTableName(nativeSequenceName); + bool needQuote = StringHelper.IsBackticksEnclosed(nativeSequenceName); + bool isQuelified = nativeSequenceName.IndexOf('.') > 0; + if (isQuelified) + { + string qualifier = StringHelper.Qualifier(nativeSequenceName); + nativeSequenceName = StringHelper.Unqualify(nativeSequenceName); + nativeSequenceName = StringHelper.PurgeBackticksEnclosing(nativeSequenceName); + sequenceName = qualifier + '.' + (needQuote ? dialect.QuoteForTableName(nativeSequenceName) : nativeSequenceName); + } + else + { + nativeSequenceName = StringHelper.PurgeBackticksEnclosing(nativeSequenceName); + sequenceName = needQuote ? dialect.QuoteForTableName(nativeSequenceName) : nativeSequenceName; + } string schemaName; string catalogName; parms.TryGetValue(Parameters, out parameters); parms.TryGetValue(PersistentIdGeneratorParmsNames.Schema, out schemaName); parms.TryGetValue(PersistentIdGeneratorParmsNames.Catalog, out catalogName); - if (sequenceName.IndexOf('.') < 0) + if (!isQuelified) { sequenceName = dialect.Qualify(catalogName, schemaName, sequenceName); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |