From: Michael D. <mik...@us...> - 2004-04-10 05:19:35
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Persister In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28379/NHibernate/Persister Modified Files: AbstractEntityPersister.cs EntityPersister.cs NormalizedEntityPersister.cs Log Message: Fixed to support Quoted Tables and Columns - ie in MsSql the use of [ and ] to surround table names/columns. Index: NormalizedEntityPersister.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Persister/NormalizedEntityPersister.cs,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** NormalizedEntityPersister.cs 18 Mar 2004 18:36:09 -0000 1.11 --- NormalizedEntityPersister.cs 10 Apr 2004 05:06:02 -0000 1.12 *************** *** 158,162 **** this.factory = factory; Table table = model.RootTable; ! this.qualifiedTableName = table.GetQualifiedName( factory.DefaultSchema ); // DISCRIMINATOR --- 158,162 ---- this.factory = factory; Table table = model.RootTable; ! this.qualifiedTableName = table.GetQualifiedName( dialect, factory.DefaultSchema ); // DISCRIMINATOR *************** *** 203,212 **** // move through each table that contains the data for this entity. foreach(Table tab in model.TableClosureCollection) { ! string tabname = tab.GetQualifiedName( factory.DefaultSchema ); if ( !tabname.Equals(qualifiedTableName) ) { tables.Add( tabname ); string[] key = new string[idColumnSpan]; int k=0; ! foreach(Column col in tab.PrimaryKey.ColumnCollection ) key[k++] = col.Name; keyColumns.Add(key); } --- 203,212 ---- // move through each table that contains the data for this entity. foreach(Table tab in model.TableClosureCollection) { ! string tabname = tab.GetQualifiedName( dialect, factory.DefaultSchema ); if ( !tabname.Equals(qualifiedTableName) ) { tables.Add( tabname ); string[] key = new string[idColumnSpan]; int k=0; ! foreach(Column col in tab.PrimaryKey.ColumnCollection ) key[k++] = col.GetQuotedName(dialect); keyColumns.Add(key); } *************** *** 224,233 **** keyColumns.Add( IdentifierColumnNames ); foreach(Table tab in model.SubclassTableClosureCollection ) { ! string tabname = tab.GetQualifiedName(factory.DefaultSchema); if ( !tabname.Equals(qualifiedTableName) ) { subtables.Add(tabname); string[] key = new string[idColumnSpan]; int k=0; ! foreach(Column col in tab.PrimaryKey.ColumnCollection ) key[k++] = col.Name; keyColumns.Add(key); } --- 224,233 ---- keyColumns.Add( IdentifierColumnNames ); foreach(Table tab in model.SubclassTableClosureCollection ) { ! string tabname = tab.GetQualifiedName(dialect, factory.DefaultSchema); if ( !tabname.Equals(qualifiedTableName) ) { subtables.Add(tabname); string[] key = new string[idColumnSpan]; int k=0; ! foreach(Column col in tab.PrimaryKey.ColumnCollection ) key[k++] = col.GetQuotedName(dialect); keyColumns.Add(key); } *************** *** 262,266 **** thisClassProperties.Add(prop); Table tab = prop.Value.Table; ! string tabname = tab.GetQualifiedName( factory.DefaultSchema ); this.propertyTables[propertyIndex] = GetTableId(tabname, this.tableNames); --- 262,266 ---- thisClassProperties.Add(prop); Table tab = prop.Value.Table; ! string tabname = tab.GetQualifiedName(dialect, factory.DefaultSchema ); this.propertyTables[propertyIndex] = GetTableId(tabname, this.tableNames); *************** *** 272,276 **** int columnIndex = 0; foreach(Column col in prop.ColumnCollection ) { ! propCols[columnIndex] = col.Name; propAliases[columnIndex] = col.Alias + tab.UniqueInteger + StringHelper.Underscore; columnIndex++; --- 272,276 ---- int columnIndex = 0; foreach(Column col in prop.ColumnCollection ) { ! propCols[columnIndex] = col.GetQuotedName(dialect); propAliases[columnIndex] = col.Alias + tab.UniqueInteger + StringHelper.Underscore; columnIndex++; *************** *** 302,306 **** definedBySubclass.Add( !thisClassProperties.Contains(prop) ); Table tab = prop.Value.Table; ! string tabname = tab.GetQualifiedName( factory.DefaultSchema ); string[] cols = new string[ prop.ColumnSpan ]; types.Add( prop.Type ); --- 302,306 ---- definedBySubclass.Add( !thisClassProperties.Contains(prop) ); Table tab = prop.Value.Table; ! string tabname = tab.GetQualifiedName( dialect, factory.DefaultSchema ); string[] cols = new string[ prop.ColumnSpan ]; types.Add( prop.Type ); *************** *** 309,315 **** int l=0; foreach(Column col in prop.ColumnCollection) { ! columns.Add( col.Name ); coltables.Add(tabnum); ! cols[l++] = col.Name; aliases.Add( col.Alias + tab.UniqueInteger + StringHelper.Underscore ); } --- 309,315 ---- int l=0; foreach(Column col in prop.ColumnCollection) { ! columns.Add( col.GetQuotedName(dialect) ); coltables.Add(tabnum); ! cols[l++] = col.GetQuotedName(dialect); aliases.Add( col.Alias + tab.UniqueInteger + StringHelper.Underscore ); } *************** *** 346,355 **** this.tableNumbers = new int[subclassSpan]; this.tableNumbers[subclassSpan-1] = GetTableId( ! model.Table.GetQualifiedName( factory.DefaultSchema ), this.subclassTableNameClosure); this.notNullColumns = new string[subclassSpan]; foreach(Column col in model.Table.PrimaryKey.ColumnCollection) { ! notNullColumns[subclassSpan-1] = col.Name; //only once } --- 346,355 ---- this.tableNumbers = new int[subclassSpan]; this.tableNumbers[subclassSpan-1] = GetTableId( ! model.Table.GetQualifiedName( dialect, factory.DefaultSchema ), this.subclassTableNameClosure); this.notNullColumns = new string[subclassSpan]; foreach(Column col in model.Table.PrimaryKey.ColumnCollection) { ! notNullColumns[subclassSpan-1] = col.GetQuotedName(dialect); //only once } *************** *** 371,378 **** discriminators[p] = disc.ToString(); tableNumbers[p] = GetTableId( ! sc.Table.GetQualifiedName( factory.DefaultSchema ), subclassTableNameClosure); foreach(Column col in sc.Table.PrimaryKey.ColumnCollection) { ! notNullColumns[p] = col.Name; //only once; } } --- 371,378 ---- discriminators[p] = disc.ToString(); tableNumbers[p] = GetTableId( ! sc.Table.GetQualifiedName( dialect, factory.DefaultSchema ), subclassTableNameClosure); foreach(Column col in sc.Table.PrimaryKey.ColumnCollection) { ! notNullColumns[p] = col.GetQuotedName(dialect); //only once; } } Index: AbstractEntityPersister.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Persister/AbstractEntityPersister.cs,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** AbstractEntityPersister.cs 9 Apr 2004 16:18:00 -0000 1.15 --- AbstractEntityPersister.cs 10 Apr 2004 05:06:02 -0000 1.16 *************** *** 391,395 **** int i=0; foreach(Column col in idValue.ColumnCollection) { ! identifierColumnNames[i] = col.Name; i++; } --- 391,395 ---- int i=0; foreach(Column col in idValue.ColumnCollection) { ! identifierColumnNames[i] = col.GetQuotedName(dialect); i++; } *************** *** 426,430 **** if (model.IsVersioned) { foreach(Column col in model.Version.ColumnCollection) { ! versionColumnName = col.Name; //only hapens once } } else { --- 426,430 ---- if (model.IsVersioned) { foreach(Column col in model.Version.ColumnCollection) { ! versionColumnName = col.GetQuotedName(dialect); //only hapens once } } else { Index: EntityPersister.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Persister/EntityPersister.cs,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** EntityPersister.cs 6 Apr 2004 10:51:41 -0000 1.13 --- EntityPersister.cs 10 Apr 2004 05:06:02 -0000 1.14 *************** *** 75,79 **** this.factory = factory; Table table = model.RootTable; ! qualifiedTableName = table.GetQualifiedName( factory.DefaultSchema ); tableNames = new string[] { qualifiedTableName }; --- 75,79 ---- this.factory = factory; Table table = model.RootTable; ! qualifiedTableName = table.GetQualifiedName( dialect, factory.DefaultSchema ); tableNames = new string[] { qualifiedTableName }; *************** *** 88,92 **** // the discriminator will have only one column foreach(Column discColumn in d.ColumnCollection) { ! discriminatorColumnName = discColumn.Name; } try { --- 88,92 ---- // the discriminator will have only one column foreach(Column discColumn in d.ColumnCollection) { ! discriminatorColumnName = discColumn.GetQuotedName(dialect); } try { *************** *** 132,136 **** foreach(Column col in prop.ColumnCollection) { colAliases[j] = col.Alias; ! colNames[j] = col.Name; j++; if( prop.IsUpdateable ) foundColumn=true; --- 132,136 ---- foreach(Column col in prop.ColumnCollection) { colAliases[j] = col.Alias; ! colNames[j] = col.GetQuotedName(dialect); j++; if( prop.IsUpdateable ) foundColumn=true; *************** *** 159,165 **** int l=0; foreach( Column col in prop.ColumnCollection ) { ! columns.Add( col.Name ); aliases.Add( col.Alias ); ! cols[l++] = col.Name; } propColumns.Add(cols); --- 159,165 ---- int l=0; foreach( Column col in prop.ColumnCollection ) { ! columns.Add( col.GetQuotedName(dialect) ); aliases.Add( col.Alias ); ! cols[l++] = col.GetQuotedName(dialect); } propColumns.Add(cols); |