diff --git a/Config/Config.csproj b/Config/Config.csproj index aa743e332..1b68a24ce 100644 --- a/Config/Config.csproj +++ b/Config/Config.csproj @@ -34,19 +34,19 @@ - ..\packages\FluentNHibernate.1.3.0.733\lib\FluentNHibernate.dll + ..\packages\FluentNHibernate.2.0.3.0\lib\net40\FluentNHibernate.dll - ..\packages\Iesi.Collections.3.2.0.4000\lib\Net35\Iesi.Collections.dll + ..\packages\Iesi.Collections.4.0.0.4000\lib\net40\Iesi.Collections.dll ..\packages\log4net.2.0.2\lib\net40-full\log4net.dll - - ..\packages\MySql.Data.6.6.5\lib\net20\MySql.Data.dll + + ..\packages\MySql.Data.6.6.5\lib\net40\MySql.Data.dll - - ..\packages\NHibernate.3.3.3.4001\lib\Net35\NHibernate.dll + + ..\packages\NHibernate.4.0.4.4000\lib\net40\NHibernate.dll diff --git a/Config/Properties/AssemblyInfo.cs b/Config/Properties/AssemblyInfo.cs index b597048e9..238ecdb4d 100644 --- a/Config/Properties/AssemblyInfo.cs +++ b/Config/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.10.349.0")] -[assembly: AssemblyFileVersion("2.10.349.0")] +[assembly: AssemblyVersion("2.10.351.0")] +[assembly: AssemblyFileVersion("2.10.351.0")] diff --git a/Results/Properties/AssemblyInfo.cs b/Results/Properties/AssemblyInfo.cs index ba5a5abcf..d4aa17abc 100644 --- a/Results/Properties/AssemblyInfo.cs +++ b/Results/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.10.349.0")] -[assembly: AssemblyFileVersion("2.10.349.0")] +[assembly: AssemblyVersion("2.10.351.0")] +[assembly: AssemblyFileVersion("2.10.351.0")] diff --git a/Results/Results.csproj b/Results/Results.csproj index 937e0e24d..ddaeae3d8 100644 --- a/Results/Results.csproj +++ b/Results/Results.csproj @@ -33,19 +33,19 @@ - ..\packages\FluentNHibernate.1.3.0.733\lib\FluentNHibernate.dll + ..\packages\FluentNHibernate.2.0.3.0\lib\net40\FluentNHibernate.dll - ..\packages\Iesi.Collections.3.2.0.4000\lib\Net35\Iesi.Collections.dll + ..\packages\Iesi.Collections.4.0.0.4000\lib\net40\Iesi.Collections.dll ..\packages\log4net.2.0.2\lib\net40-full\log4net.dll - - ..\packages\MySql.Data.6.6.5\lib\net20\MySql.Data.dll + + ..\packages\MySql.Data.6.6.5\lib\net40\MySql.Data.dll - - ..\packages\NHibernate.3.3.3.4001\lib\Net35\NHibernate.dll + + ..\packages\NHibernate.4.0.4.4000\lib\net40\NHibernate.dll diff --git a/ResultsBrowser/Properties/AssemblyInfo.cs b/ResultsBrowser/Properties/AssemblyInfo.cs index da83d18da..440af4a28 100644 --- a/ResultsBrowser/Properties/AssemblyInfo.cs +++ b/ResultsBrowser/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.10.340.0")] -[assembly: AssemblyFileVersion("2.10.340.0")] +[assembly: AssemblyVersion("2.10.351.0")] +[assembly: AssemblyFileVersion("2.10.351.0")] diff --git a/ResultsBrowser/ResultsBrowser.csproj b/ResultsBrowser/ResultsBrowser.csproj index 0e3002b11..0a53994f6 100644 --- a/ResultsBrowser/ResultsBrowser.csproj +++ b/ResultsBrowser/ResultsBrowser.csproj @@ -39,23 +39,20 @@ ResultsBrowser.Program - - False - ..\packages\FluentNHibernate.1.3.0.733\lib\FluentNHibernate.dll + + ..\packages\FluentNHibernate.2.0.3.0\lib\net40\FluentNHibernate.dll - - False - ..\packages\Iesi.Collections.3.2.0.4000\lib\Net35\Iesi.Collections.dll + + ..\packages\Iesi.Collections.4.0.0.4000\lib\net40\Iesi.Collections.dll ..\packages\log4net.2.0.2\lib\net40-full\log4net.dll - ..\packages\MySql.Data.6.6.5\lib\net20\MySql.Data.dll + ..\packages\MySql.Data.6.6.5\lib\net40\MySql.Data.dll - - False - ..\packages\NHibernate.3.3.3.4001\lib\Net35\NHibernate.dll + + ..\packages\NHibernate.4.0.4.4000\lib\net40\NHibernate.dll False diff --git a/TestBenchFramework/Properties/AssemblyInfo.cs b/TestBenchFramework/Properties/AssemblyInfo.cs index b2af29d31..e6ba6f80c 100644 --- a/TestBenchFramework/Properties/AssemblyInfo.cs +++ b/TestBenchFramework/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("2.10.350.1")] -[assembly: AssemblyFileVersion("2.10.350.1")] +[assembly: AssemblyVersion("2.10.351.1")] +[assembly: AssemblyFileVersion("2.10.351.1")] diff --git a/TestBenchFramework/TBF.csproj b/TestBenchFramework/TBF.csproj index 079bae9f1..0309e3a2f 100644 --- a/TestBenchFramework/TBF.csproj +++ b/TestBenchFramework/TBF.csproj @@ -100,15 +100,14 @@ ..\packages\ControlBoard\Munich\ControlComponent3Munich.dll - - False - ..\packages\FluentNHibernate.1.3.0.733\lib\FluentNHibernate.dll + + ..\packages\FluentNHibernate.2.0.3.0\lib\net40\FluentNHibernate.dll ..\packages\ControlBoard\GaugeIndicator.dll - ..\packages\Iesi.Collections.3.2.0.4000\lib\Net35\Iesi.Collections.dll + ..\packages\Iesi.Collections.4.0.0.4000\lib\net40\Iesi.Collections.dll False @@ -118,10 +117,10 @@ True - ..\packages\MySql.Data.6.6.5\lib\net20\MySql.Data.dll + ..\packages\MySql.Data.6.6.5\lib\net40\MySql.Data.dll - ..\packages\NHibernate.3.3.3.4001\lib\Net35\NHibernate.dll + ..\packages\NHibernate.4.0.4.4000\lib\net40\NHibernate.dll False diff --git a/packages/FluentNHibernate.1.3.0.733/FluentNHibernate.1.3.0.733.nupkg b/packages/FluentNHibernate.1.3.0.733/FluentNHibernate.1.3.0.733.nupkg deleted file mode 100644 index f92777f6d..000000000 Binary files a/packages/FluentNHibernate.1.3.0.733/FluentNHibernate.1.3.0.733.nupkg and /dev/null differ diff --git a/packages/FluentNHibernate.1.3.0.733/FluentNHibernate.1.3.0.733.nuspec b/packages/FluentNHibernate.1.3.0.733/FluentNHibernate.1.3.0.733.nuspec deleted file mode 100644 index 112c45a46..000000000 --- a/packages/FluentNHibernate.1.3.0.733/FluentNHibernate.1.3.0.733.nuspec +++ /dev/null @@ -1,21 +0,0 @@ - - - - FluentNHibernate - 1.3.0.733 - Fluent NHibernate - James Gregory and contributors - James Gregory and contributors - http://github.com/jagregory/fluent-nhibernate/raw/master/LICENSE.txt - http://fluentnhibernate.org/ - false - Fluent, XML-less, compile safe, automated, convention-based mappings for NHibernate. - - - - orm dal nhibernate conventions - - - - - \ No newline at end of file diff --git a/packages/FluentNHibernate.1.3.0.733/lib/FluentNHibernate.dll b/packages/FluentNHibernate.1.3.0.733/lib/FluentNHibernate.dll deleted file mode 100644 index ed634c292..000000000 Binary files a/packages/FluentNHibernate.1.3.0.733/lib/FluentNHibernate.dll and /dev/null differ diff --git a/packages/FluentNHibernate.2.0.3.0/FluentNHibernate.2.0.3.0.nupkg b/packages/FluentNHibernate.2.0.3.0/FluentNHibernate.2.0.3.0.nupkg new file mode 100644 index 000000000..a595e1ce2 Binary files /dev/null and b/packages/FluentNHibernate.2.0.3.0/FluentNHibernate.2.0.3.0.nupkg differ diff --git a/packages/FluentNHibernate.1.3.0.733/lib/FluentNHibernate.XML b/packages/FluentNHibernate.2.0.3.0/lib/net40/FluentNHibernate.XML similarity index 98% rename from packages/FluentNHibernate.1.3.0.733/lib/FluentNHibernate.XML rename to packages/FluentNHibernate.2.0.3.0/lib/net40/FluentNHibernate.XML index a80d67751..8bfeb2dd8 100644 --- a/packages/FluentNHibernate.1.3.0.733/lib/FluentNHibernate.XML +++ b/packages/FluentNHibernate.2.0.3.0/lib/net40/FluentNHibernate.XML @@ -1280,6 +1280,20 @@ Negates the next boolean option. + + + Initializes a new instance of the class using the + Oracle Data Provider (Oracle.DataAccess) library specifying the Oracle 9i dialect. + The Oracle.DataAccess library must be available to the calling application/library. + + + + + Initializes a new instance of the class using the + Oracle Data Provider (Oracle.DataAccess) library specifying the Oracle 10g dialect. + The Oracle.DataAccess library must be available to the calling application/library. + + Provides types for mapping from multiple assemblies @@ -1370,6 +1384,11 @@ Result formatter Output path + + + DB2 Data Server/Client supports Informix 11.50+ with Informix syntax + + Base class for attribute based conventions. Create a subclass of this to supply your own @@ -1392,7 +1411,7 @@ - Version convention, implement this interface to apply changes to vesion mappings. + Version convention, implement this interface to apply changes to version mappings. @@ -2207,6 +2226,11 @@ Inverts the next boolean operation + + + This collection optimizes search for already mapped types in subclasses providers. Matters in models with huge inheritance trees. + + Sets the tuplizer type. @@ -3133,12 +3157,25 @@ Fluently configure NHibernate + + + Begin fluently configuring NHibernate + + Fluent Configuration + Begin fluently configuring NHibernate Fluent Configuration + + + Begin fluently configuring NHibernate + + Instance of an NHibernate Configuration + Fluent Configuration + Begin fluently configuring NHibernate @@ -3717,11 +3754,21 @@ Formula + + + Specify the nullability of the column + + Modify the columns for this element + + + Inverts the next boolean operation + + Sets caching to read-write @@ -3815,7 +3862,37 @@ - Cascade deletes + Cascade merges + + + + + Cascade on replication + + + + + Cascade refreshes + + + + + Cascade deletes orphans + + + + + Cascade evicts + + + + + Cascade locks + + + + + Cascade persists @@ -4522,6 +4599,13 @@ Type to use as the access-strategy + + + Sets the prefix for every column defined within the component. To refer to the name of a member that exposes + the component use {property} + + + Specify the lazy-load behaviour @@ -5568,7 +5652,7 @@ - Specify that this property has a unique constranit + Specify that this property has a unique constraint diff --git a/packages/FluentNHibernate.2.0.3.0/lib/net40/FluentNHibernate.dll b/packages/FluentNHibernate.2.0.3.0/lib/net40/FluentNHibernate.dll new file mode 100644 index 000000000..c8f03b91c Binary files /dev/null and b/packages/FluentNHibernate.2.0.3.0/lib/net40/FluentNHibernate.dll differ diff --git a/packages/FluentNHibernate.2.0.3.0/lib/net40/FluentNHibernate.pdb b/packages/FluentNHibernate.2.0.3.0/lib/net40/FluentNHibernate.pdb new file mode 100644 index 000000000..f8fc3e94f Binary files /dev/null and b/packages/FluentNHibernate.2.0.3.0/lib/net40/FluentNHibernate.pdb differ diff --git a/packages/Iesi.Collections.3.2.0.4000/Iesi.Collections.3.2.0.4000.nupkg b/packages/Iesi.Collections.3.2.0.4000/Iesi.Collections.3.2.0.4000.nupkg deleted file mode 100644 index 8783eb64e..000000000 Binary files a/packages/Iesi.Collections.3.2.0.4000/Iesi.Collections.3.2.0.4000.nupkg and /dev/null differ diff --git a/packages/Iesi.Collections.3.2.0.4000/Iesi.Collections.3.2.0.4000.nuspec b/packages/Iesi.Collections.3.2.0.4000/Iesi.Collections.3.2.0.4000.nuspec deleted file mode 100644 index 547886bfc..000000000 --- a/packages/Iesi.Collections.3.2.0.4000/Iesi.Collections.3.2.0.4000.nuspec +++ /dev/null @@ -1,16 +0,0 @@ - - - - Iesi.Collections - 3.2.0.4000 - Iesi.Collections - Aidant Systems, Jason Smith, NHibernate community - Aidant Systems, Jason Smith, NHibernate community - false - The System.Collections namespace in the .NET Framework provides a number of collection - types that are extremely useful for manipulating data in memory. However, there is one - type of collection that is conspicuously missing from System.Collections: the Set. - The System.Collections namespace in the .NET Framework provides a number of collection types that are extremely useful for manipulating data in memory. However, there is one type of collection that is conspicuously missing from System.Collections: the Set. - Collections - - \ No newline at end of file diff --git a/packages/Iesi.Collections.3.2.0.4000/lib/Net35/Iesi.Collections.dll b/packages/Iesi.Collections.3.2.0.4000/lib/Net35/Iesi.Collections.dll deleted file mode 100644 index 3537f7c9a..000000000 Binary files a/packages/Iesi.Collections.3.2.0.4000/lib/Net35/Iesi.Collections.dll and /dev/null differ diff --git a/packages/Iesi.Collections.3.2.0.4000/lib/Net35/Iesi.Collections.xml b/packages/Iesi.Collections.3.2.0.4000/lib/Net35/Iesi.Collections.xml deleted file mode 100644 index 0f9ca81ce..000000000 --- a/packages/Iesi.Collections.3.2.0.4000/lib/Net35/Iesi.Collections.xml +++ /dev/null @@ -1,1903 +0,0 @@ - - - - Iesi.Collections - - - - -

DictionarySet is an abstract class that supports the creation of new Set - types where the underlying data store is an IDictionary instance.

- -

You can use any object that implements the IDictionary interface to hold set data. - You can define your own, or you can use one of the objects provided in the Framework. - The type of IDictionary you choose will affect both the performance and the behavior - of the Set using it.

- -

To make a Set typed based on your own IDictionary, simply derive a - new class with a constructor that takes no parameters. Some Set implmentations - cannot be defined with a default constructor. If this is the case for your class, - you will need to override Clone() as well.

- -

It is also standard practice that at least one of your constructors takes an ICollection or - an ISet as an argument.

-
-
- -

A collection that contains no duplicate elements. This class models the mathematical - Set abstraction, and is the base class for all other Set implementations. - The order of elements in a set is dependant on (a)the data-structure implementation, and - (b)the implementation of the various Set methods, and thus is not guaranteed.

- -

None of the Set implementations in this library are guranteed to be thread-safe - in any way unless wrapped in a SynchronizedSet.

- -

The following table summarizes the binary operators that are supported by the Set class.

- - - Operation - Description - Method - Operator - - - Union (OR) - Element included in result if it exists in either A OR B. - Union() - | - - - Intersection (AND) - Element included in result if it exists in both A AND B. - InterSect() - & - - - Exclusive Or (XOR) - Element included in result if it exists in one, but not both, of A and B. - ExclusiveOr() - ^ - - - Minus (n/a) - Take all the elements in A. Now, if any of them exist in B, remove - them. Note that unlike the other operators, A - B is not the same as B - A. - Minus() - - - - -
-
- - -

A collection that contains no duplicate elements. This interface models the mathematical - Set abstraction. - The order of elements in a set is dependant on (a)the data-structure implementation, and - (b)the implementation of the various Set methods, and thus is not guaranteed.

- -

None of the Set implementations in this library are guranteed to be thread-safe - in any way unless wrapped in a SynchronizedSet.

- -

The following table summarizes the binary operators that are supported by the Set class.

- - - Operation - Description - Method - - - Union (OR) - Element included in result if it exists in either A OR B. - Union() - - - Intersection (AND) - Element included in result if it exists in both A AND B. - InterSect() - - - Exclusive Or (XOR) - Element included in result if it exists in one, but not both, of A and B. - ExclusiveOr() - - - Minus (n/a) - Take all the elements in A. Now, if any of them exist in B, remove - them. Note that unlike the other operators, A - B is not the same as B - A. - Minus() - - -
-
- - - Performs a "union" of the two sets, where all the elements - in both sets are present. That is, the element is included if it is in either a or b. - Neither this set nor the input set are modified during the operation. The return value - is a Clone() of this set with the extra elements added in. - - A collection of elements. - A new Set containing the union of this Set with the specified collection. - Neither of the input objects is modified by the union. - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included if it exists in - both sets. The Intersect() operation does not modify the input sets. It returns - a Clone() of this set with the appropriate elements removed. - - A set of elements. - The intersection of this set with a. - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of this Set containing the elements from the operation. - - A set of elements. - A set containing the elements from this set with the elements in a removed. - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a Clone() of this set containing - the elements from the exclusive-or operation. - - A set of elements. - A set containing the result of a ^ b. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Adds the specified element to this set if it is not already present. - - The object to add to the set. - is the object was added, if it was already present. - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - is the set changed as a result of this operation, if not. - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - if the set was modified as a result of this operation. - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - if this set changed as a result of this operation. - - - - Returns if this set contains no elements. - - - - -

A collection that contains no duplicate elements. This interface models the mathematical - Set abstraction. - The order of elements in a set is dependant on (a)the data-structure implementation, and - (b)the implementation of the various Set methods, and thus is not guaranteed.

- -

None of the Set implementations in this library are guranteed to be thread-safe - in any way unless wrapped in a SynchronizedSet.

- -

The following table summarizes the binary operators that are supported by the Set class.

- - - Operation - Description - Method - - - Union (OR) - Element included in result if it exists in either A OR B. - Union() - - - Intersection (AND) - Element included in result if it exists in both A AND B. - InterSect() - - - Exclusive Or (XOR) - Element included in result if it exists in one, but not both, of A and B. - ExclusiveOr() - - - Minus (n/a) - Take all the elements in A. Now, if any of them exist in B, remove - them. Note that unlike the other operators, A - B is not the same as B - A. - Minus() - - -
-
- - - Performs a "union" of the two sets, where all the elements - in both sets are present. That is, the element is included if it is in either a or b. - Neither this set nor the input set are modified during the operation. The return value - is a Clone() of this set with the extra elements added in. - - A collection of elements. - A new Set containing the union of this Set with the specified collection. - Neither of the input objects is modified by the union. - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included if it exists in - both sets. The Intersect() operation does not modify the input sets. It returns - a Clone() of this set with the appropriate elements removed. - - A set of elements. - The intersection of this set with a. - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of this Set containing the elements from the operation. - - A set of elements. - A set containing the elements from this set with the elements in a removed. - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a Clone() of this set containing - the elements from the exclusive-or operation. - - A set of elements. - A set containing the result of a ^ b. - - - - Returns if this set contains the specified element. - - The element to look for. - if this set contains the specified element, otherwise. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Adds the specified element to this set if it is not already present. - - The object to add to the set. - is the object was added, if it was already present. - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - is the set changed as a result of this operation, if not. - - - - Removes the specified element from the set. - - The element to be removed. - if the set contained the specified element, otherwise. - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - if the set was modified as a result of this operation. - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - if this set changed as a result of this operation. - - - - Removes all objects from the set. - - - - - Returns if this set contains no elements. - - - - - Performs a "union" of the two sets, where all the elements - in both sets are present. That is, the element is included if it is in either a or b. - Neither this set nor the input set are modified during the operation. The return value - is a Clone() of this set with the extra elements added in. - - A collection of elements. - A new Set containing the union of this Set with the specified collection. - Neither of the input objects is modified by the union. - - - - Performs a "union" of two sets, where all the elements - in both are present. That is, the element is included if it is in either a or b. - The return value is a Clone() of one of the sets (a if it is not ) with elements of the other set - added in. Neither of the input sets is modified by the operation. - - A set of elements. - A set of elements. - A set containing the union of the input sets. if both sets are . - - - - Performs a "union" of two sets, where all the elements - in both are present. That is, the element is included if it is in either a or b. - The return value is a Clone() of one of the sets (a if it is not ) with elements of the other set - added in. Neither of the input sets is modified by the operation. - - A set of elements. - A set of elements. - A set containing the union of the input sets. if both sets are . - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included if it exists in - both sets. The Intersect() operation does not modify the input sets. It returns - a Clone() of this set with the appropriate elements removed. - - A set of elements. - The intersection of this set with a. - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included only if it exists in - both a and b. Neither input object is modified by the operation. - The result object is a Clone() of one of the input objects (a if it is not ) containing the - elements from the intersect operation. - - A set of elements. - A set of elements. - The intersection of the two input sets. if both sets are . - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included only if it exists in - both a and b. Neither input object is modified by the operation. - The result object is a Clone() of one of the input objects (a if it is not ) containing the - elements from the intersect operation. - - A set of elements. - A set of elements. - The intersection of the two input sets. if both sets are . - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of this Set containing the elements from the operation. - - A set of elements. - A set containing the elements from this set with the elements in a removed. - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of set a containing the elements from the operation. - - A set of elements. - A set of elements. - A set containing A - B elements. if a is . - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of set a containing the elements from the operation. - - A set of elements. - A set of elements. - A set containing A - B elements. if a is . - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a Clone() of this set containing - the elements from the exclusive-or operation. - - A set of elements. - A set containing the result of a ^ b. - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a Clone() of one of the sets - (a if it is not ) containing - the elements from the exclusive-or operation. - - A set of elements. - A set of elements. - A set containing the result of a ^ b. if both sets are . - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a Clone() of one of the sets - (a if it is not ) containing - the elements from the exclusive-or operation. - - A set of elements. - A set of elements. - A set containing the result of a ^ b. if both sets are . - - - - Adds the specified element to this set if it is not already present. - - The object to add to the set. - is the object was added, if it was already present. - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - is the set changed as a result of this operation, if not. - - - - Removes all objects from the set. - - - - - Returns if this set contains the specified element. - - The element to look for. - if this set contains the specified element, otherwise. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Removes the specified element from the set. - - The element to be removed. - if the set contained the specified element, otherwise. - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - if the set was modified as a result of this operation. - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - if this set changed as a result of this operation. - - - - Returns a clone of the Set instance. This will work for derived Set - classes if the derived class implements a constructor that takes no arguments. - - A clone of this object. - - - - Copies the elements in the Set to an array. The type of array needs - to be compatible with the objects in the Set, obviously. - - An array that will be the target of the copy operation. - The zero-based index where copying will start. - - - - Gets an enumerator for the elements in the Set. - - An IEnumerator over the elements in the Set. - - - - Performs CopyTo when called trhough non-generic ISet (ICollection) interface - - - - - - - Performs Union when called trhough non-generic ISet interface - - - - - - - Performs Minus when called trhough non-generic ISet interface - - - - - - - Performs Intersect when called trhough non-generic ISet interface - - - - - - - Performs ExclusiveOr when called trhough non-generic ISet interface - - - - - - - Returns if this set contains no elements. - - - - - The number of elements currently contained in this collection. - - - - - Returns if the Set is synchronized across threads. Note that - enumeration is inherently not thread-safe. Use the SyncRoot to lock the - object during enumeration. - - - - - An object that can be used to synchronize this collection to make it thread-safe. - When implementing this, if your object uses a base object, like an IDictionary, - or anything that has a SyncRoot, return that object instead of "this". - - - - - Indicates whether the given instance is read-only or not - - - if the ISet is read-only; otherwise, . - In the default implementation of Set, this property always returns false. - - - - - Provides the storage for elements in the Set, stored as the key-set - of the IDictionary object. Set this object in the constructor - if you create your own Set class. - - - - - Adds the specified element to this set if it is not already present. - - The to add to the set. - is the object was added, if it was already present. - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - is the set changed as a result of this operation, if not. - - - - Removes all objects from the set. - - - - - Returns if this set contains the specified element. - - The element to look for. - if this set contains the specified element, otherwise. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Removes the specified element from the set. - - The element to be removed. - if the set contained the specified element, otherwise. - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - if the set was modified as a result of this operation. - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - if this set changed as a result of this operation. - - - - Copies the elements in the Set to an array of T. The type of array needs - to be compatible with the objects in the Set, obviously. - - An array that will be the target of the copy operation. - The zero-based index where copying will start. - - - - Gets an enumerator for the elements in the Set. - - An IEnumerator over the elements in the Set. - - - - Copies the elements in the Set to an array. The type of array needs - to be compatible with the objects in the Set, obviously. Needed for - non-generic ISet methods implementation - - An array that will be the target of the copy operation. - The zero-based index where copying will start. - - - - The placeholder object used as the value for the IDictionary instance. - - - There is a single instance of this object globally, used for all Sets. - - - - - Returns if this set contains no elements. - - - - - The number of elements contained in this collection. - - - - - None of the objects based on DictionarySet are synchronized. Use the - SyncRoot property instead. - - - - - Returns an object that can be used to synchronize the Set between threads. - - - - - Indicates wether the Set is read-only or not - - - - - Implements a Set based on a Dictionary (which is equivalent of - non-genric HashTable) This will give the best lookup, add, and remove - performance for very large data-sets, but iteration will occur in no particular order. - - - - - Creates a new set instance based on a Dictinary. - - - - - Creates a new set instance based on a Dictinary and - initializes it based on a collection of elements. - - A collection of elements that defines the initial set contents. - - - -

Implements an immutable (read-only) Set wrapper.

-

Although this is advertised as immutable, it really isn't. Anyone with access to the - basisSet can still change the data-set. So GetHashCode() is not implemented - for this Set, as is the case for all Set implementations in this library. - This design decision was based on the efficiency of not having to Clone() the - basisSet every time you wrap a mutable Set.

-
-
- - - Constructs an immutable (read-only) Set wrapper. - - The Set that is wrapped. - - - - Adds the specified element to this set if it is not already present. - - The object to add to the set. - nothing - is always thrown - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - nothing - is always thrown - - - - Removes all objects from the set. - - is always thrown - - - - Returns if this set contains the specified element. - - The element to look for. - if this set contains the specified element, otherwise. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Removes the specified element from the set. - - The element to be removed. - nothing - is always thrown - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - nothing - is always thrown - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - nothing - is always thrown - - - - Copies the elements in the Set to an array of T. The type of array needs - to be compatible with the objects in the Set, obviously. - - An array that will be the target of the copy operation. - The zero-based index where copying will start. - - - - Gets an enumerator for the elements in the Set. - - An IEnumerator over the elements in the Set. - - - - Returns a clone of the Set instance. - - A clone of this object. - - - - Performs a "union" of the two sets, where all the elements - in both sets are present. That is, the element is included if it is in either a or b. - Neither this set nor the input set are modified during the operation. The return value - is a Clone() of this set with the extra elements added in. - - A collection of elements. - A new Set containing the union of this Set with the specified collection. - Neither of the input objects is modified by the union. - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included if it exists in - both sets. The Intersect() operation does not modify the input sets. It returns - a Clone() of this set with the appropriate elements removed. - - A set of elements. - The intersection of this set with a. - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of this Set containing the elements from the operation. - - A set of elements. - A set containing the elements from this set with the elements in a removed. - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a Clone() of this set containing - the elements from the exclusive-or operation. - - A set of elements. - A set containing the result of a ^ b. - - - - Performs CopyTo when called trhough non-generic ISet (ICollection) interface - - - - - - - Performs Union when called trhough non-generic ISet interface - - - - - - - Performs Minus when called trhough non-generic ISet interface - - - - - - - Performs Intersect when called trhough non-generic ISet interface - - - - - - - Performs ExclusiveOr when called trhough non-generic ISet interface - - - - - - - Returns if this set contains no elements. - - - - - The number of elements contained in this collection. - - - - - Returns an object that can be used to synchronize use of the Set across threads. - - - - - Returns an object that can be used to synchronize the Set between threads. - - - - - Indicates that the given instance is read-only - - - - - Implements an ordered Set based on a dictionary. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - A collection of elements that defines the initial set contents. - - - - Implements a Set based on a sorted tree. This gives good performance for operations on very - large data-sets, though not as good - asymptotically - as a HashedSet. However, iteration - occurs in order. Elements that you put into this type of collection must implement IComparable, - and they must actually be comparable. You can't mix string and int values, for example. - - - - - Creates a new set instance based on a sorted tree. - - - - - Creates a new set instance based on a sorted tree. - - The to use for sorting. - - - - Creates a new set instance based on a sorted tree and - initializes it based on a collection of elements. - - A collection of elements that defines the initial set contents. - - - - Creates a new set instance based on a sorted tree and - initializes it based on a collection of elements. - - A collection of elements that defines the initial set contents. - - - - Creates a new set instance based on a sorted tree and - initializes it based on a collection of elements. - - A collection of elements that defines the initial set contents. - The to use for sorting. - - - -

Implements a thread-safe Set wrapper. The implementation is extremely conservative, - serializing critical sections to prevent possible deadlocks, and locking on everything. - The one exception is for enumeration, which is inherently not thread-safe. For this, you - have to lock the SyncRoot object for the duration of the enumeration.

-
-
- - - Constructs a thread-safe Set wrapper. - - The Set object that this object will wrap. - - - - Adds the specified element to this set if it is not already present. - - The object to add to the set. - is the object was added, if it was already present. - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - is the set changed as a result of this operation, if not. - - - - Removes all objects from the set. - - - - - Returns if this set contains the specified element. - - The element to look for. - if this set contains the specified element, otherwise. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Removes the specified element from the set. - - The element to be removed. - if the set contained the specified element, otherwise. - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - if the set was modified as a result of this operation. - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - if this set changed as a result of this operation. - - - - Copies the elements in the Set to an array. The type of array needs - to be compatible with the objects in the Set, obviously. - - An array that will be the target of the copy operation. - The zero-based index where copying will start. - - - - Enumeration is, by definition, not thread-safe. Use a lock on the SyncRoot - to synchronize the entire enumeration process. - - - - - - Returns a clone of the Set instance. - - A clone of this object. - - - - Performs CopyTo when called trhough non-generic ISet (ICollection) interface - - - - - - - Returns if this set contains no elements. - - - - - The number of elements contained in this collection. - - - - - Returns , indicating that this object is thread-safe. The exception to this - is enumeration, which is inherently not thread-safe. Use the SyncRoot object to - lock this object for the entire duration of the enumeration. - - - - - Returns an object that can be used to synchronize the Set between threads. - - - - - Indicates whether given instace is read-only or not - - - - -

DictionarySet is an abstract class that supports the creation of new Set - types where the underlying data store is an IDictionary instance.

- -

You can use any object that implements the IDictionary interface to hold set data. - You can define your own, or you can use one of the objects provided in the Framework. - The type of IDictionary you choose will affect both the performance and the behavior - of the Set using it.

- -

To make a Set typed based on your own IDictionary, simply derive a - new class with a constructor that takes no parameters. Some Set implmentations - cannot be defined with a default constructor. If this is the case for your class, - you will need to override Clone() as well.

- -

It is also standard practice that at least one of your constructors takes an ICollection or - an ISet as an argument.

-
-
- - A collection that contains no duplicate elements. - - - This class models the mathematical set abstraction, and is the base class for all - other set implementations. The order of elements in a set is dependant on - (a) the data-structure implementation, and (b) the implementation of the various - methods, and thus is not guaranteed. - - - None of the implementations in this library are guranteed to be thread-safe - in any way unless wrapped in a . - - - The following table summarizes the binary operators that are supported by the - type. - - - - Operation - Description - Method - Operator - - - Union (OR) - Element included in result if it exists in either A OR B. - Union() - | - - - Intersection (AND) - Element included in result if it exists in both A AND B. - InterSect() - & - - - Exclusive Or (XOR) - Element included in result if it exists in one, but not both, of A and B. - ExclusiveOr() - ^ - - - Minus (n/a) - Take all the elements in A. Now, if any of them exist in B, remove - them. Note that unlike the other operators, A - B is not the same as B - A. - Minus() - - - - - - - - - Performs a "union" of the two sets, where all the elements - in both sets are present. That is, the element is included if it is in either a or b. - Neither this set nor the input set are modified during the operation. The return value - is a clone of this set with the extra elements added in. - - A collection of elements. - A new instance containing the union of this instance with the specified collection. - Neither of the input objects is modified by the union. - - - - Performs a "union" of two sets, where all the elements - in both are present. That is, the element is included if it is in either a or b. - The return value is a clone of one of the sets (a if it is not ) with elements of the other set - added in. Neither of the input sets is modified by the operation. - - A set of elements. - A set of elements. - A set containing the union of the input sets. if both sets are . - - - - Performs a "union" of two sets, where all the elements - in both are present. That is, the element is included if it is in either a or b. - The return value is a clone of one of the sets (a if it is not ) with elements of the other set - added in. Neither of the input sets is modified by the operation. - - A set of elements. - A set of elements. - A set containing the union of the input sets. if both sets are . - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included if it exists in - both sets. The Intersect() operation does not modify the input sets. It returns - a Clone() of this set with the appropriate elements removed. - - A set of elements. - The intersection of this set with a. - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included only if it exists in - both a and b. Neither input object is modified by the operation. - The result object is a Clone() of one of the input objects (a if it is not ) containing the - elements from the intersect operation. - - A set of elements. - A set of elements. - The intersection of the two input sets. if both sets are . - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included only if it exists in - both a and b. Neither input object is modified by the operation. - The result object is a Clone() of one of the input objects (a if it is not ) containing the - elements from the intersect operation. - - A set of elements. - A set of elements. - The intersection of the two input sets. if both sets are . - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of this Set containing the elements from the operation. - - A set of elements. - A set containing the elements from this set with the elements in a removed. - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of set a containing the elements from the operation. - - A set of elements. - A set of elements. - A set containing A - B elements. if a is . - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of set a containing the elements from the operation. - - A set of elements. - A set of elements. - A set containing A - B elements. if a is . - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a clone of this set containing - the elements from the exclusive-or operation. - - A set of elements. - A set containing the result of a ^ b. - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a clone of one of the sets - (a if it is not ) containing - the elements from the exclusive-or operation. - - A set of elements. - A set of elements. - A set containing the result of a ^ b. if both sets are . - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a clone of one of the sets - (a if it is not ) containing - the elements from the exclusive-or operation. - - A set of elements. - A set of elements. - A set containing the result of a ^ b. if both sets are . - - - - Adds the specified element to this set if it is not already present. - - The object to add to the set. - is the object was added, if it was already present. - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - is the set changed as a result of this operation, if not. - - - - Removes all objects from the set. - - - - - Returns if this set contains the specified element. - - The element to look for. - if this set contains the specified element, otherwise. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Removes the specified element from the set. - - The element to be removed. - if the set contained the specified element, otherwise. - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - if the set was modified as a result of this operation. - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - if this set changed as a result of this operation. - - - - Returns a clone of the set instance. This will work for derived set - classes if the derived class implements a constructor that takes no arguments. - - A clone of this object. - - - - Copies the elements in the set to an array. The type of array needs - to be compatible with the objects in the set, obviously. - - An array that will be the target of the copy operation. - The zero-based index where copying will start. - - - - Returns an enumerator that iterates through the set. - - - An object that can be used to iterate through the set. - - - - - Returns if this set contains no elements. - - - - - The number of elements currently contained in this collection. - - - - - Returns if the set is synchronized across threads. Note that - enumeration is inherently not thread-safe. Use the to lock the - object during enumeration. - - - - - An object that can be used to synchronize this collection to make it thread-safe. - When implementing this, if your object uses a base object, like an , - or anything that has a , return that object instead - of . - - - - - Provides the storage for elements in the Set, stored as the key-set - of the IDictionary object. Set this object in the constructor - if you create your own Set class. - - - - - Adds the specified element to this set if it is not already present. - - The object to add to the set. - is the object was added, if it was already present. - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - is the set changed as a result of this operation, if not. - - - - Removes all objects from the set. - - - - - Returns if this set contains the specified element. - - The element to look for. - if this set contains the specified element, otherwise. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Removes the specified element from the set. - - The element to be removed. - if the set contained the specified element, otherwise. - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - if the set was modified as a result of this operation. - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - if this set changed as a result of this operation. - - - - Copies the elements in the Set to an array. The type of array needs - to be compatible with the objects in the Set, obviously. - - An array that will be the target of the copy operation. - The zero-based index where copying will start. - - - - Gets an enumerator for the elements in the Set. - - An IEnumerator over the elements in the Set. - - - - The placeholder object used as the value for the IDictionary instance. - - - There is a single instance of this object globally, used for all Sets. - - - - - Returns if this set contains no elements. - - - - - The number of elements contained in this collection. - - - - - None of the objects based on DictionarySet are synchronized. Use the - SyncRoot property instead. - - - - - Returns an object that can be used to synchronize the Set between threads. - - - - - Implements a Set based on a hash table. This will give the best lookup, add, and remove - performance for very large data-sets, but iteration will occur in no particular order. - - - - - Creates a new set instance based on a hash table. - - - - - Creates a new set instance based on a hash table and - initializes it based on a collection of elements. - - A collection of elements that defines the initial set contents. - - - - Implements a Set that automatically changes from a list to a hash table - when the size reaches a certain threshold. This is good if you are unsure about - whether you data-set will be tiny or huge. Because this uses a dual implementation, - iteration order is not guaranteed! - - - - - Creates a new set instance based on either a list or a hash table, depending on which - will be more efficient based on the data-set size. - - - - - Creates a new set instance based on either a list or a hash table, depending on which - will be more efficient based on the data-set size, and - initializes it based on a collection of elements. - - A collection of elements that defines the initial set contents. - - - -

Implements an immutable (read-only) Set wrapper.

-

Although this is advertised as immutable, it really isn't. Anyone with access to the - basisSet can still change the data-set. So GetHashCode() is not implemented - for this Set, as is the case for all Set implementations in this library. - This design decision was based on the efficiency of not having to Clone() the - basisSet every time you wrap a mutable Set.

-
-
- - - Constructs an immutable (read-only) Set wrapper. - - The Set that is wrapped. - - - - Adds the specified element to this set if it is not already present. - - The object to add to the set. - is the object was added, if it was already present. - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - is the set changed as a result of this operation, if not. - - - - Removes all objects from the set. - - - - - Returns if this set contains the specified element. - - The element to look for. - if this set contains the specified element, otherwise. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Removes the specified element from the set. - - The element to be removed. - if the set contained the specified element, otherwise. - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - if the set was modified as a result of this operation. - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - if this set changed as a result of this operation. - - - - Copies the elements in the Set to an array. The type of array needs - to be compatible with the objects in the Set, obviously. - - An array that will be the target of the copy operation. - The zero-based index where copying will start. - - - - Gets an enumerator for the elements in the Set. - - An IEnumerator over the elements in the Set. - - - - Returns a clone of the Set instance. - - A clone of this object. - - - - Performs a "union" of the two sets, where all the elements - in both sets are present. That is, the element is included if it is in either a or b. - Neither this set nor the input set are modified during the operation. The return value - is a Clone() of this set with the extra elements added in. - - A collection of elements. - A new Set containing the union of this Set with the specified collection. - Neither of the input objects is modified by the union. - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included if it exists in - both sets. The Intersect() operation does not modify the input sets. It returns - a Clone() of this set with the appropriate elements removed. - - A set of elements. - The intersection of this set with a. - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of this Set containing the elements from the operation. - - A set of elements. - A set containing the elements from this set with the elements in a removed. - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a Clone() of this set containing - the elements from the exclusive-or operation. - - A set of elements. - A set containing the result of a ^ b. - - - - Returns if this set contains no elements. - - - - - The number of elements contained in this collection. - - - - - Returns an object that can be used to synchronize use of the Set across threads. - - - - - Returns an object that can be used to synchronize the Set between threads. - - - - - Implements a Set based on a list. Performance is much better for very small lists - than either HashedSet or SortedSet. However, performance degrades rapidly as - the data-set gets bigger. Use a HybridSet instead if you are not sure your data-set - will always remain very small. Iteration produces elements in the order they were added. - However, element order is not guaranteed to be maintained by the various Set - mathematical operators. - - - - - Creates a new set instance based on a list. - - - - - Creates a new set instance based on a list and - initializes it based on a collection of elements. - - A collection of elements that defines the initial set contents. - - - - Implements a set based on a sorted tree. This gives good performance for operations on very - large data-sets, though not as good - asymptotically - as a . - However, iteration occurs in order. Elements that you put into this type of collection must - implement , and they must actually be comparable. You can't mix - and values, for example. - - - - - Creates a new set instance based on a sorted tree. - - - - - Creates a new set instance based on a sorted tree. - - The to use for sorting. - - - - Creates a new set instance based on a sorted tree and - initializes it based on a collection of elements. - - A collection of elements that defines the initial set contents. - - - - Creates a new set instance based on a sorted tree and - initializes it based on a collection of elements. - - A collection of elements that defines the initial set contents. - The to use for sorting. - - - - Implements a thread-safe wrapper. - - - The implementation is extremely conservative, serializing critical sections - to prevent possible deadlocks, and locking on everything. The one exception - is for enumeration, which is inherently not thread-safe. For this, you have - to the object for the duration - of the enumeration. - - - - - Constructs a thread-safe wrapper. - - The object that this object will wrap. - - - - Adds the specified element to this set if it is not already present. - - The object to add to the set. - is the object was added, if it was already present. - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - is the set changed as a result of this operation, if not. - - - - Removes all objects from the set. - - - - - Returns if this set contains the specified element. - - The element to look for. - if this set contains the specified element, otherwise. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Removes the specified element from the set. - - The element to be removed. - if the set contained the specified element, otherwise. - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - if the set was modified as a result of this operation. - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - if this set changed as a result of this operation. - - - - Copies the elements in the set to an array. The type of array needs - to be compatible with the objects in the set, obviously. - - An array that will be the target of the copy operation. - The zero-based index where copying will start. - - - - Returns an enumerator that iterates through the set. - - - An object that can be used to iterate through the set. - - - Enumeration is, by definition, not thread-safe. Use a on the - to synchronize the entire enumeration process. - - - - - Returns a clone of this instance. - - A clone of this object. - - - - Returns if this set contains no elements. - - - - - The number of elements contained in this collection. - - - - - Returns , indicating that this object is thread-safe. The exception to this - is enumeration, which is inherently not thread-safe. Use the object to - lock this object for the entire duration of the enumeration. - - - - - Returns an object that can be used to synchronize the set between threads. - - -
-
diff --git a/packages/Iesi.Collections.4.0.0.4000/Iesi.Collections.4.0.0.4000.nupkg b/packages/Iesi.Collections.4.0.0.4000/Iesi.Collections.4.0.0.4000.nupkg new file mode 100644 index 000000000..b0a83b2a0 Binary files /dev/null and b/packages/Iesi.Collections.4.0.0.4000/Iesi.Collections.4.0.0.4000.nupkg differ diff --git a/packages/Iesi.Collections.4.0.0.4000/lib/net40/Iesi.Collections.dll b/packages/Iesi.Collections.4.0.0.4000/lib/net40/Iesi.Collections.dll new file mode 100644 index 000000000..a4199b72d Binary files /dev/null and b/packages/Iesi.Collections.4.0.0.4000/lib/net40/Iesi.Collections.dll differ diff --git a/packages/Iesi.Collections.4.0.0.4000/lib/net40/Iesi.Collections.xml b/packages/Iesi.Collections.4.0.0.4000/lib/net40/Iesi.Collections.xml new file mode 100644 index 000000000..d189350cd --- /dev/null +++ b/packages/Iesi.Collections.4.0.0.4000/lib/net40/Iesi.Collections.xml @@ -0,0 +1,541 @@ + + + + Iesi.Collections + + + + + Implementation of ISet that also maintains a linked list over all elements. + Enumeration of this set is guaranteed to return the elements in the order + they were added. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Adds an item to the . + + The object to add to the .The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + + true if is found in the ; otherwise, false. + + The object to locate in the . + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing.The zero-based index in at which copying begins. is null. is less than 0. is multidimensional.-or-The number of elements in the source is greater than the available space from to the end of the destination .-or-Type cannot be cast automatically to the type of the destination . + + + + Removes the first occurrence of a specific object from the . + + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The object to remove from the .The is read-only. + + + + Modifies the current set so that it contains all elements that are present in either the current set or the specified collection. + + The collection to compare to the current set. is null. + + + + Modifies the current set so that it contains only elements that are also in a specified collection. + + The collection to compare to the current set. is null. + + + + Removes all elements in the specified collection from the current set. + + The collection of items to remove from the set. is null. + + + + Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. + + The collection to compare to the current set. is null. + + + + Determines whether a set is a subset of a specified collection. + + + true if the current set is a subset of ; otherwise, false. + + The collection to compare to the current set. is null. + + + + Determines whether the current set is a superset of a specified collection. + + + true if the current set is a superset of ; otherwise, false. + + The collection to compare to the current set. is null. + + + + Determines whether the current set is a correct superset of a specified collection. + + + true if the object is a correct superset of ; otherwise, false. + + The collection to compare to the current set. is null. + + + + Determines whether the current set is a proper (strict) subset of a specified collection. + + + true if the current set is a correct subset of ; otherwise, false. + + The collection to compare to the current set. is null. + + + + Determines whether the current set overlaps with the specified collection. + + + true if the current set and share at least one common element; otherwise, false. + + The collection to compare to the current set. is null. + + + + Determines whether the current set and the specified collection contain the same elements. + + + true if the current set is equal to ; otherwise, false. + + The collection to compare to the current set. is null. + + + + Adds an element to the current set and returns a value to indicate if the element was successfully added. + + + true if the element is added to the set; false if the element is already in the set. + + The element to add to the set. + + + + Count the elements in the given collection and determine both the total + count and how many of the elements that are present in the current set. + + + + + Cast the given collection to an ISet<T> if possible. If not, + return a new set containing the items. + + + + + Unlink a node from the linked list by updating the node pointers in + its preceeding and subsequent node. Also update the _first and _last + pointers if necessary. + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + + Gets a value indicating whether the is read-only. + + + true if the is read-only; otherwise, false. + + + + +

Implements a read-only Set wrapper.

+

Although this is advertised as immutable, it really isn't. Anyone with access to the + wrapped set can still change the set.

+
+
+ + + Constructs an immutable (read-only) Set wrapper. + + The Set that is wrapped. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Adds an item to the . + + The object to add to the . + is always thrown + + + + Removes all items from the . + + is always thrown + + + + Determines whether the contains a specific value. + + + true if is found in the ; otherwise, false. + + The object to locate in the . + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing.The zero-based index in at which copying begins. is null. is less than 0. is multidimensional.-or-The number of elements in the source is greater than the available space from to the end of the destination .-or-Type cannot be cast automatically to the type of the destination . + + + + Removes the first occurrence of a specific object from the . + + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The object to remove from the . + is always thrown + + + + Adds an element to the current set and returns a value to indicate if the element was successfully added. + + + true if the element is added to the set; false if the element is already in the set. + + The element to add to the set. + is always thrown + + + + Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection. + + The collection to compare to the current set. is null. + is always thrown + + + + Modifies the current set so that it contains only elements that are also in a specified collection. + + The collection to compare to the current set. is null. + is always thrown + + + + Removes all elements in the specified collection from the current set. + + The collection of items to remove from the set. is null. + is always thrown + + + + Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. + + The collection to compare to the current set. is null. + is always thrown + + + + Determines whether a set is a subset of a specified collection. + + + true if the current set is a subset of ; otherwise, false. + + The collection to compare to the current set. is null. + + + + Determines whether the current set is a superset of a specified collection. + + + true if the current set is a superset of ; otherwise, false. + + The collection to compare to the current set. is null. + + + + Determines whether the current set is a correct superset of a specified collection. + + + true if the object is a correct superset of ; otherwise, false. + + The collection to compare to the current set. is null. + + + + Determines whether the current set is a property (strict) subset of a specified collection. + + + true if the current set is a correct subset of ; otherwise, false. + + The collection to compare to the current set. is null. + + + + Determines whether the current set overlaps with the specified collection. + + + true if the current set and share at least one common element; otherwise, false. + + The collection to compare to the current set. is null. + + + + Determines whether the current set and the specified collection contain the same elements. + + + true if the current set is equal to ; otherwise, false. + + The collection to compare to the current set. is null. + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + + Gets a value indicating whether the is read-only. + + + True. + + + + +

Implements a thread-safe Set wrapper. The implementation is extremely conservative, + serializing critical sections to prevent possible deadlocks, and locking on everything. + The one exception is for enumeration, which is inherently not thread-safe. For this, you + have to lock the SyncRoot object for the duration of the enumeration.

+
+
+ + + Constructs a thread-safe ISet wrapper. + + The Set object that this object will wrap. + + + + Adds an item to the . + + The object to add to the .The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + + true if is found in the ; otherwise, false. + + The object to locate in the . + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing.The zero-based index in at which copying begins. is null. is less than 0. is multidimensional.-or-The number of elements in the source is greater than the available space from to the end of the destination .-or-Type cannot be cast automatically to the type of the destination . + + + + Removes the first occurrence of a specific object from the . + + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The object to remove from the .The is read-only. + + + + Modifies the current set so that it contains all elements that are present in either the current set or in the specified collection. + + The collection to compare to the current set. is null. + + + + Modifies the current set so that it contains only elements that are also in a specified collection. + + The collection to compare to the current set. is null. + + + + Removes all elements in the specified collection from the current set. + + The collection of items to remove from the set. is null. + + + + Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. + + The collection to compare to the current set. is null. + + + + Determines whether a set is a subset of a specified collection. + + + true if the current set is a subset of ; otherwise, false. + + The collection to compare to the current set. is null. + + + + Determines whether the current set is a superset of a specified collection. + + + true if the current set is a superset of ; otherwise, false. + + The collection to compare to the current set. is null. + + + + Determines whether the current set is a correct superset of a specified collection. + + + true if the object is a correct superset of ; otherwise, false. + + The collection to compare to the current set. is null. + + + + Determines whether the current set is a property (strict) subset of a specified collection. + + + true if the current set is a correct subset of ; otherwise, false. + + The collection to compare to the current set. is null. + + + + Determines whether the current set overlaps with the specified collection. + + + true if the current set and share at least one common element; otherwise, false. + + The collection to compare to the current set. is null. + + + + Determines whether the current set and the specified collection contain the same elements. + + + true if the current set is equal to ; otherwise, false. + + The collection to compare to the current set. is null. + + + + Adds an element to the current set and returns a value to indicate if the element was successfully added. + + + true if the element is added to the set; false if the element is already in the set. + + The element to add to the set. + + + + Returns an enumerator that iterates through a collection. Enumeration is inherently not + thread-safe. Use a lock on the SyncRoot to synchronize the entire enumeration process. + + + An object that can be used to iterate through the collection. + + 2 + + + + Returns an enumerator that iterates through the collection. Enumeration is inherently not + thread-safe. Use a lock on the SyncRoot to synchronize the entire enumeration process. + + + A that can be used to iterate through the collection. + + 1 + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + + Gets a value indicating whether the is read-only. + + + true if the is read-only; otherwise, false. + + +
+
diff --git a/packages/MySql.Data.6.6.5/lib/net20/MySql.Data.dll b/packages/MySql.Data.6.6.5/lib/net20/MySql.Data.dll deleted file mode 100644 index 4506c842f..000000000 Binary files a/packages/MySql.Data.6.6.5/lib/net20/MySql.Data.dll and /dev/null differ diff --git a/packages/NHibernate.3.3.3.4001/NHibernate.3.3.3.4001.nupkg b/packages/NHibernate.3.3.3.4001/NHibernate.3.3.3.4001.nupkg deleted file mode 100644 index 03d72e175..000000000 Binary files a/packages/NHibernate.3.3.3.4001/NHibernate.3.3.3.4001.nupkg and /dev/null differ diff --git a/packages/NHibernate.3.3.3.4001/NHibernate.3.3.3.4001.nuspec b/packages/NHibernate.3.3.3.4001/NHibernate.3.3.3.4001.nuspec deleted file mode 100644 index 193434d4b..000000000 --- a/packages/NHibernate.3.3.3.4001/NHibernate.3.3.3.4001.nuspec +++ /dev/null @@ -1,20 +0,0 @@ - - - - NHibernate - 3.3.3.4001 - NHibernate community, Hibernate community - NHibernate community, Hibernate community - https://raw.github.com/nhibernate/nhibernate-core/3.3.x/lgpl.txt - http://www.nhforge.org/ - https://raw.github.com/nhibernate/nhibernate-core/3.3.x/logo/NHibernate-NuGet.png - false - NHibernate is a mature, open source object-relational mapper for the .NET framework. It is actively developed, fully featured and used in thousands of successful projects. - NHibernate is a mature, open source object-relational mapper for the .NET framework. It is actively developed, fully featured and used in thousands of successful projects. - en-US - ORM DataBase DAL ObjectRelationalMapping - - - - - \ No newline at end of file diff --git a/packages/NHibernate.3.3.3.4001/lib/Net35/NHibernate.dll b/packages/NHibernate.3.3.3.4001/lib/Net35/NHibernate.dll deleted file mode 100644 index edb5f886f..000000000 Binary files a/packages/NHibernate.3.3.3.4001/lib/Net35/NHibernate.dll and /dev/null differ diff --git a/packages/NHibernate.3.3.3.4001/ConfigurationTemplates/FireBird.cfg.xml b/packages/NHibernate.4.0.4.4000/ConfigurationTemplates/FireBird.cfg.xml similarity index 100% rename from packages/NHibernate.3.3.3.4001/ConfigurationTemplates/FireBird.cfg.xml rename to packages/NHibernate.4.0.4.4000/ConfigurationTemplates/FireBird.cfg.xml diff --git a/packages/NHibernate.3.3.3.4001/ConfigurationTemplates/MSSQL.cfg.xml b/packages/NHibernate.4.0.4.4000/ConfigurationTemplates/MSSQL.cfg.xml similarity index 100% rename from packages/NHibernate.3.3.3.4001/ConfigurationTemplates/MSSQL.cfg.xml rename to packages/NHibernate.4.0.4.4000/ConfigurationTemplates/MSSQL.cfg.xml diff --git a/packages/NHibernate.3.3.3.4001/ConfigurationTemplates/MySql.cfg.xml b/packages/NHibernate.4.0.4.4000/ConfigurationTemplates/MySql.cfg.xml similarity index 100% rename from packages/NHibernate.3.3.3.4001/ConfigurationTemplates/MySql.cfg.xml rename to packages/NHibernate.4.0.4.4000/ConfigurationTemplates/MySql.cfg.xml diff --git a/packages/NHibernate.3.3.3.4001/ConfigurationTemplates/Oracle.cfg.xml b/packages/NHibernate.4.0.4.4000/ConfigurationTemplates/Oracle.cfg.xml similarity index 100% rename from packages/NHibernate.3.3.3.4001/ConfigurationTemplates/Oracle.cfg.xml rename to packages/NHibernate.4.0.4.4000/ConfigurationTemplates/Oracle.cfg.xml diff --git a/packages/NHibernate.3.3.3.4001/ConfigurationTemplates/PostgreSQL.cfg.xml b/packages/NHibernate.4.0.4.4000/ConfigurationTemplates/PostgreSQL.cfg.xml similarity index 100% rename from packages/NHibernate.3.3.3.4001/ConfigurationTemplates/PostgreSQL.cfg.xml rename to packages/NHibernate.4.0.4.4000/ConfigurationTemplates/PostgreSQL.cfg.xml diff --git a/packages/NHibernate.3.3.3.4001/ConfigurationTemplates/SQLite.cfg.xml b/packages/NHibernate.4.0.4.4000/ConfigurationTemplates/SQLite.cfg.xml similarity index 100% rename from packages/NHibernate.3.3.3.4001/ConfigurationTemplates/SQLite.cfg.xml rename to packages/NHibernate.4.0.4.4000/ConfigurationTemplates/SQLite.cfg.xml diff --git a/packages/NHibernate.3.3.3.4001/ConfigurationTemplates/SybaseASE.cfg.xml b/packages/NHibernate.4.0.4.4000/ConfigurationTemplates/SybaseASE.cfg.xml similarity index 100% rename from packages/NHibernate.3.3.3.4001/ConfigurationTemplates/SybaseASE.cfg.xml rename to packages/NHibernate.4.0.4.4000/ConfigurationTemplates/SybaseASE.cfg.xml diff --git a/packages/NHibernate.3.3.3.4001/ConfigurationTemplates/SybaseSQLAnywhere.cfg.xml b/packages/NHibernate.4.0.4.4000/ConfigurationTemplates/SybaseSQLAnywhere.cfg.xml similarity index 100% rename from packages/NHibernate.3.3.3.4001/ConfigurationTemplates/SybaseSQLAnywhere.cfg.xml rename to packages/NHibernate.4.0.4.4000/ConfigurationTemplates/SybaseSQLAnywhere.cfg.xml diff --git a/packages/NHibernate.4.0.4.4000/NHibernate.4.0.4.4000.nupkg b/packages/NHibernate.4.0.4.4000/NHibernate.4.0.4.4000.nupkg new file mode 100644 index 000000000..480f2153d Binary files /dev/null and b/packages/NHibernate.4.0.4.4000/NHibernate.4.0.4.4000.nupkg differ diff --git a/packages/NHibernate.3.3.3.4001/NHibernate.license.txt b/packages/NHibernate.4.0.4.4000/NHibernate.license.txt similarity index 100% rename from packages/NHibernate.3.3.3.4001/NHibernate.license.txt rename to packages/NHibernate.4.0.4.4000/NHibernate.license.txt diff --git a/packages/NHibernate.3.3.3.4001/NHibernate.readme.html b/packages/NHibernate.4.0.4.4000/NHibernate.readme.html similarity index 100% rename from packages/NHibernate.3.3.3.4001/NHibernate.readme.html rename to packages/NHibernate.4.0.4.4000/NHibernate.readme.html diff --git a/packages/NHibernate.3.3.3.4001/NHibernate.releasenotes.txt b/packages/NHibernate.4.0.4.4000/NHibernate.releasenotes.txt similarity index 86% rename from packages/NHibernate.3.3.3.4001/NHibernate.releasenotes.txt rename to packages/NHibernate.4.0.4.4000/NHibernate.releasenotes.txt index 992c1d306..584bc5714 100644 --- a/packages/NHibernate.3.3.3.4001/NHibernate.releasenotes.txt +++ b/packages/NHibernate.4.0.4.4000/NHibernate.releasenotes.txt @@ -1,3 +1,414 @@ +Build 4.0.4.GA +============================= + +** Bug + * [NH-3795] - C# compiler "Roslyn" regression + + +Build 4.0.3.GA +============================= + +** Bug + * [NH-2504] - Can't use Cacheable with Group By + * [NH-3457] - TemplatedViolatedConstraintNameExtracter.ExtractUsingTemplate calls Substring with wrong arguments + * [NH-3468] - InvalidCastException when deleting entities containing uninitialized lazy components + * [NH-3573] - Query cache statistics not updated when using MultiCriteria + * [NH-3731] - Unable to serialize session after modifying the index of entities in a list + + +Build 4.0.2.GA +============================= + +** Bug + * [NH-2779] - Session.Get() can throw InvalidCastException when log-level is set to DEBUG + * [NH-2782] - Linq: selecting into a new array doesn't work + * [NH-2831] - NH cannot load mapping assembly from GAC + * [NH-3049] - Mapping by code to Field not working + * [NH-3222] - NHibernate Futures passes empty tuples to ResultSetTransformer + * [NH-3650] - ComponentAsId used more than once, cache first mapping and produces subsequently a sql select wrong + * [NH-3709] - Fix Reference to One Shot Delete and Inverse Collections + * [NH-3710] - Use of SetLockMode with DetachedCriteria causes null reference exception + +** Task + * [NH-3697] - Ignore Firebird in NHSpecificTest.NH1981 + * [NH-3698] - NHSpecificTest.NH1989 fails for some drivers + + +Build 4.0.1.GA +============================= + +** Bug + * [NH-3102] - Wrong mapping produced by Map + * [NH-3214] - PropertyContainerCustomizer.Bag() throws NullReferenceException when mapping a property of type IList + * [NH-3575] - DefaultReadOnly not working for Future() queries + * [NH-3656] - Firebird doesn't accept Currency as parameter type + * [NH-3667] - MappingByCode produce wrong table field name 'idx' in Dictionary<,> mappings + * [NH-3679] - SchemaExport.Create(false, false) does not write to file specified via SchemaExport.SetOutputFile + * [NH-3691] - All dialect checks in NHSpecificTest.NH1487.Fixture are broken + * [NH-3692] - TypedManyToOneTest is broken for Firebird + * [NH-3694] - Criteria or QueryOver with join to components collection does not return data. It worked in NH 3.3. + * [NH-3695] - NHSpecificTest.NH1845 fails for some Dialects + * [NH-3696] - Connection pooling + Multi threraded tests + * [NH-3701] - NHSpecificTest.NH2302 Fails under Firebird + +** Improvement + * [NH-3604] - Map ByCode fails when property is protected (not public) + * [NH-3687] - Change Id mapping of TimesheetEntry from native to assigned + * [NH-3688] - Modify NHSpecificTest.NH1391 so that it doesn't depend on preknown id values + * [NH-3690] - Add LEFT function to Firebird + +** Patch + * [NH-3383] - Fix for multiple objects of CascadeStyle in Memory that should be singleton + * [NH-3577] - Fix in SessionFactory.Statistics.LogSummary() method to show 0 milisecond as MaxQueryTime when no query was executed, instead of -922337203685477 + +** Task + * [NH-3085] - Document enhanced id generators + * [NH-3660] - Ignore Firebird in DtcFailuresFixture + * [NH-3689] - Ignore Firebird in NHSpecificTest.NH1171 + + +Build 4.0.0.GA +============================= + +** Known BREAKING CHANGES from NH3.3.3.GA to 4.0.0.GA + + NHibernate now targets .Net 4.0. Many uses of set types from Iesi.Collections have + now been changed to use corresponding types from the BCL. The API for these types + are slightly different. + + Support for persistent non-generic collections removed. Use the generic counterparts instead. + + ##### Possible Breaking Changes ##### + * IDeleteEventListener, IEventSource: Use generic ISet<> instead of non-generic in method signatures. + * SqlString.Parts removed. Use SqlString.Count and SqlString.GetEnumerator(). + * IPersistentCollection.GetSnapshot() now returns object instead of ICollection. The snapshot should be opaque to outside code. + * Removed IsDiscriminatorFormula, DiscriminatorFormula and GenerateSelectString from UnionSubclassEntityPersister class. + * Removed ManagedWebSessionContext. Any configuration files which use the "managed_web" session context should now use "web" + * SybaseASADialect removed: Use SybaseSQLAnywhere10Dialect instead. + * ASA10ClientDriver, ASAClientDriver and SQLiteDriver removed: Use SybaseSQLAnywhereDriver, SybaseAsaClientDriver, SQLite20Driver instead. + * Removed Classic HQL Parser. + * Removed IQueryTranslatorFactory2. It's methods were pulled up to IQueryTranslatorFactory. Method CreateQueryTranslators accepting string as first argument marked as Obsolete. + * IQueryExpression.Translate now has second boolean argument 'filter' + * Added several methods which accepts IQueryExpression to ISessionImplementor, which is duplicating methods which accepts string. + * Miss-spelled AdoNetWithDistrubtedTransactionFactory removed: Use AdoNetWithDistributedTransactionFactory instead + * HqlDistinctHolder removed: Use HqlExpressionSubTreeHolder instead + * DisableLogFormattedSql method removed: the default is disabled + * ISession.SaveOrUpdateCopy removed: Use Merge instead + * Oracle and MySQL: The atan2 and power functions now return double (instead of single) for consistency with other dialects. + * Removed FirebirdDriver. It was the same as FirebirdClientDriver since 3.2, and the latter have been the default since then. + * Removed bunch of unused methods on *Helper classes + * Static fields on NHibernateUtil are declared as their exact class + + From NH4.0.0.Alpha1 to 4.0.0.Alpha2: + Fixed mapping by code behaviour when map child subclasses (see NH-3135 and NH-3269) + + The constructor of AbstractComponentTuplizer now behaves like AbstractEntityTuplizer in the way + that it doesn't create the instantiator any more. Custom component tuplizers that derive + directly from AbstractComponentTuplizer need to add this line of code in their constructor: + instantiator = BuildInstantiator(component); + + From NH4.0.0.Alpha2 to 4.0.0.CR1: + The interface IEnhancedProjection was removed and its methods moved to IProjection. + Two other overloads of the GetColumnAliases() methods was removed from IProjection. + + * [NH-2290] Invalid hql parenthesis expansion in generated sql + Unary minus before parentheses in HQL lost the parentheses when translated + to SQL and therefore the wrong value was returned. This use of unary minus is now + implemented in the mathematically correct way. + + +** Bug + * [NH-3638] - Mapping-by-code is occasionally picking the wrong column name + * [NH-3654] - Internal access of PersistentGenericBag removed + +** Improvement + * [NH-3415] - Add Overload to IGeneratorMapper.Params That Receives a Dictionary + * [NH-3657] - Map By Code - One to One Missing Class Action + +** Patch + * [NH-3529] - Add linqtohql.generatorsregistry to nhibernate-configuration.xsd + + +Build 4.0.0.CR1 +============================= + +** Bug + * [NH-3455] - QueryOver + selecting a component + OrderBy = wrong OrderBy in SQL + * [NH-3581] - nhibernate.everything.sln doesn't compile + * [NH-3587] - Parameters within a select clause + * [NH-3620] - ORA-01483 when inserting two blobs and a date using the OracleManagedDataClientDriver + * [NH-3624] - broken insert statement with select + * [NH-3629] - Translation of string.IndexOf() in Linq is broken for firebird + * [NH-3641] - Missing Outer Join + * [NH-3642] - PostgreSQL: Support LINQ DateTime.Date in select clause + * [NH-3649] - Missing support for round() in SQLite and SQL Server CE dialects (affected criteria queries) + +** Improvement + * [NH-3623] - Add FirebirdExceptionConverterExample + * [NH-3626] - avoid double parens around a select statement + * [NH-3627] - change some id mappings from native to assigned in linq tests + * [NH-3628] - add keyword "date" and function "date" to FirebirdDialect + * [NH-3647] - Support Math.Round() in QueryOver projections + +** Task + * [NH-3251] - Update to antlr 3.5.0.2 + * [NH-3644] - Merge IEnhancedProjection into IProjection + +Build 4.0.0.Alpha2 +============================= + +** Known BREAKING CHANGES from NH4.0.0.Alpha1 to 4.0.0.Alpha2 + + Fixed mapping by code behaviour when map child subclasses (see NH-3135 and NH-3269) + + The constructor of AbstractComponentTuplizer now behaves like AbstractEntityTuplizer in the way + that it doesn't create the instantiator any more. Custom component tuplizers that derive + directly from AbstractComponentTuplizer need to add this line of code in their constructor: + instantiator = BuildInstantiator(component); + + +** Bug + * [NH-2380] - Cannot perform distinct when selecting an anonymous type + * [NH-2486] - Distinct() extension method problem with Object Initialisers + * [NH-2655] - DbType.Double should be float(53) instead of DOUBLE PRECISION in the SQL-Severer2000 Dialect + * [NH-2692] - Using Any() on a collection of components results in invalid SQL: Column of parent ID is used instead of key column + * [NH-2861] - doesn't work in conjunction with + * [NH-2865] - "Expression type 'NhSumExpression' is not supported by this SelectClauseVisitor." + * [NH-2961] - "Index was outside the bounds of the array" error when executing cached query for single result with distinct results transformer + * [NH-3135] - Collection of Components in BaseClass cannot be mapped to a different table + * [NH-3269] - UniqueKey on property of base class will affect all inherited class + * [NH-3392] - Add ability to expand subcollections with composites ids with WCF Data Services + * [NH-3417] - Nested projection of subcollection throws + * [NH-3423] - MemberInitExpression causing problem in HqlGeneratorExpressionTreeVisitor (WCF DS) + * [NH-3571] - Linq does not support dynamic components inside components + * [NH-3579] - Session leak in the Query Plan Cache + * [NH-3586] - Firebird Decimals + * [NH-3588] - Creating and dropping of Temporary Tables in an isolated transaction is broken + * [NH-3590] - Detached entity with set of primitives throws + * [NH-3591] - IncrementGenerator unnecessarily creates a new connection to the db + +** Improvement + * [NH-1082] - Exceptions thrown in IInterceptor.BeforeTransactionCompletion should cause the transaction to be rolled back + * [NH-3041] - Expression-based PropertyRef missing in OneToOne mapping + * [NH-3072] - OneToManyPersister improvements + * [NH-3141] - Don't fetch id from proxy target + * [NH-3437] - Turn SqlMethods.Like into an extension method + + +** Patch + * [NH-3558] - Table check and enhanced id generators in Mapping By Code + * [NH-3559] - UnionSubclassEntityPersister does not quote column names + +** Task + * [NH-3363] - Refactor Loader/Result Transformer interaction to match Hibernate + +Build 4.0.0.Alpha1 +============================= + +** Known BREAKING CHANGES from NH3.3.3.GA to 4.0.0.Alpha1 + + NHibernate now targets .Net 4.0. Many uses of set types from Iesi.Collections have + now been changed to use corresponding types from the BCL. The API for these types + are slightly different. + + Support for persistent non-generic collections removed. Use the generic counterparts instead. + + ##### Possible Breaking Changes ##### + * IDeleteEventListener, IEventSource: Use generic ISet<> instead of non-generic in method signatures. + * SqlString.Parts removed. Use SqlString.Count and SqlString.GetEnumerator(). + * IPersistentCollection.GetSnapshot() now returns object instead of ICollection. The snapshot should be opaque to outside code. + * Removed IsDiscriminatorFormula, DiscriminatorFormula and GenerateSelectString from UnionSubclassEntityPersister class. + * Removed ManagedWebSessionContext. Any configuration files which use the "managed_web" session context should now use "web" + * SybaseASADialect removed: Use SybaseSQLAnywhere10Dialect instead. + * ASA10ClientDriver, ASAClientDriver and SQLiteDriver removed: Use SybaseSQLAnywhereDriver, SybaseAsaClientDriver, SQLite20Driver instead. + * Removed Classic HQL Parser. + * Removed IQueryTranslatorFactory2. It's methods were pulled up to IQueryTranslatorFactory. Method CreateQueryTranslators accepting string as first argument marked as Obsolete. + * IQueryExpression.Translate now has second boolean argument 'filter' + * Added several methods which accepts IQueryExpression to ISessionImplementor, which is duplicating methods which accepts string. + * Miss-spelled AdoNetWithDistrubtedTransactionFactory removed: Use AdoNetWithDistributedTransactionFactory instead + * HqlDistinctHolder removed: Use HqlExpressionSubTreeHolder instead + * DisableLogFormattedSql method removed: the default is disabled + * ISession.SaveOrUpdateCopy removed: Use Merge instead + * Oracle and MySQL: The atan2 and power functions now return double (instead of single) for consistency with other dialects. + * Removed FirebirdDriver. It was the same as FirebirdClientDriver since 3.2, and the latter have been the default since then. + * Removed bunch of unused methods on *Helper classes + * Static fields on NHibernateUtil are declared as their exact class + +** Sub-task + * [NH-3038] - Add Support for SQL Server 2012 Query Paging + * [NH-3098] - Pull code/history from nhibernate-core repository to new iesi.collections repository + * [NH-3099] - Remove Iesi.Collection-related code from nhibernate-core repository + * [NH-3163] - Remove internal use of non-generic ISet + * [NH-3165] - Remove support for non-generic ISet in mapped classes + + +** Bug + * [NH-2008] - Mapping with HashSet generates unecessary update on collection owner + * [NH-2033] - Composite-Id relationships (key-many-to-one) do not appear to be used in CreateCriteria + * [NH-2762] - Failed to use IGrouping.Contains() from Lookup to make SQL IN statement + * [NH-2772] - Lazy-collection not loaded when a property is Lazy-loaded + * [NH-2819] - DefaultDynamicLazyFieldInterceptor does not handle generic methods correctly + * [NH-2852] - Linq ThenFetch fails on deep where clause. + * [NH-2897] - MultiQuery/ToFuture broken with Contains (in) + * [NH-2915] - In Linq, Where clause is ignored if followed by Fetch and then by OrderBy + * [NH-2923] - Extra lazy indexed collection throws InvalidCastException fetching Count + * [NH-2955] - AbstractQueryImpl accepts IEnumerables in SetParameterList but breaks if they're not ICollections + * [NH-2977] - MsSqlServer dialects reject custom SQL Server queries with limits + * [NH-2985] - Wrong equals operator when you use mapping when child has property with lazy="true" + * [NH-3056] - Fetch clause suppresses where clause if positioned before Select clause + * [NH-3058] - Methods on entities with lazy properties do not trigger load of lazy properties + * [NH-3070] - Proxy for an entity with a lazy property and a formula property is not .Equal to itself + * [NH-3132] - Property with access="field.camelcase" not working when another property is lazy + * [NH-3139] - Optional Entity association using lazy property returns proxy instead of null + * [NH-3160] - Null reference Exception when creating schema for dialect that doesn't support unique + * [NH-3183] - Linq ToFuture/ToFutureValue does not fall-back if dialect does not support multi-queries + * [NH-3186] - Simple query with Fetch and SingleOrDefault throws exception (regression from 3.3.0) + * [NH-3202] - Offset parameter is off by one for dialects with OffsetStartsAtOne set (SybaseSQLAnywhere10+) + * [NH-3235] - Query plan cache cannot be set to size zero + * [NH-3236] - Build menu incorrectly launches NUnit + * [NH-3244] - Proxying fails for methods with generic class as generic parameter constraints or generic parameter attributes + * [NH-3256] - GroupBySelectClauseRewriter fails or is suboptimal on .Net 4.0 + * [NH-3260] - Unable to proxy generic methods with constraints referencing type parameters from containing class + * [NH-3274] - Take() support broken with Informix + * [NH-3281] - Linq providers are not being passed Limit and/or Offset as value only as parameters + * [NH-3340] - NHibernate assembly loses the AllowPartiallyTrustedCallers attribute after ILMerge + * [NH-3381] - atan2 should be defined to return double on Oracle and MySql + * [NH-3420] - Race Condition in result set wrapper because of the ColumnNameCache + +** Improvement + * [NH-2005] - hql concat function not registered in MsSqlCeDialect + * [NH-2808] - Missing overloads for Session.Save/Update/SaveOrUpdate + * [NH-3037] - ActionQueue Insertion sort performance degrades exponentially (HHH-2957 Port) + * [NH-3054] - Mapping By-Code support for non-generic User Collection Types + * [NH-3133] - Support for importing classes in mapping. + * [NH-3175] - Joins should support additional restrictions (HQL-with) + * [NH-3238] - Add Sql2008ClientDriver support in DatabaseSetup for testing + * [NH-3272] - Move TypeHelperExtensionMethods to a more internal namespace + * [NH-3319] - Typo in a folder name in NHibernate.Test project + * [NH-3343] - Remove NHibernate custom Tuple classes + * [NH-3382] - Improve materialization performance (for simple Linq query, may reduce 50%+ time) + * [NH-3398] - Support PostgreSQL trigonometric functions + * [NH-3399] - Static fields on NHibernateUtil should be declared as their exact class + * [NH-3459] - DefaultIfEmpty not supported when used with a GroupBy + * [NH-3553] - Support the 'power' function on MS SQL Server + +** New Feature + * [NH-3164] - Support building NHibernate on .Net 4 + * [NH-3166] - Support for Microsoft Sql Server 2012 + * [NH-3193] - MsSqlCeDialect should correct override string manipulation functions + * [NH-3195] - MsSqlCeDialect should support TOP limit + * [NH-3284] - New Ingres9+ Dialect + * [NH-3349] - Add support for managed ODP.NET + +** Patch + * [NH-2778] - Batcher for MySql + * [NH-3540] - Null pointer exception for empty BaseDirectory (Path.combine) + +** Task + * [NH-2997] - Where() clause with many-to-many relation is missing (solution in description) + * [NH-3097] - Move Iesi.Collections project to own repository + * [NH-3185] - Update included Iesi.Collections.dll and add its pdb file + * [NH-3314] - Remove ManagedWebSessionContext + * [NH-3322] - Remove one of the Firebird drivers + * [NH-3339] - Remove SecurityPermission attributes with LinkDemand for .NET 4.0 assemblies + * [NH-3344] - Remove the classical HQL parser + * [NH-3345] - Remove support for persistent non-generic collections + * [NH-3346] - Remove members obsolete in NH3 from NH4 + * [NH-3347] - Remove obsolete dialects for NH4 + + +Build 3.4.0.GA +============================= +** Known BREAKING CHANGES from NH3.3.0.GA to NH3.4.0.GA + + ##### Possible Breaking Changes ##### + * [NH-2290] Invalid hql parenthesis expansion in generated sql + Unary minus before parentheses in HQL lost the parentheses when translated + to SQL and therefore the wrong value was returned. This use of unary minus is now + implemented in the mathematically correct way. + + +** Sub-task + * [NH-3432] - Merge fix for bug NH-3058 into 3.Next + +** Bug + * [NH-2819] - DefaultDynamicLazyFieldInterceptor does not handle generic methods correctly + * [NH-2977] - MsSqlServer dialects reject custom SQL Server queries with limits + * [NH-3058] - Methods on entities with lazy properties do not trigger load of lazy properties + * [NH-3132] - Property with access="field.camelcase" not working when another property is lazy + * [NH-3244] - Proxying fails for methods with generic class as generic parameter constraints or generic parameter attributes + * [NH-3638] - Mapping-by-code is occasionally picking the wrong column name + +** Patch + * [NH-3529] - Add linqtohql.generatorsregistry to nhibernate-configuration.xsd + +** Task + * [NH-3412] - Need to reconcile changes to MsSql2005DialectQueryPager for NH-2977 between 3.3.3 and vNext + + +Build 3.4.0.CR1 +============================= + +** Sub-task + * [NH-3434] - Need to be sure NH-3428 is resolved in 3.Next. + +** Bug + * [NH-1882] - Collection was not processed by flush when iterate through collection in PostUpdateEvent + * [NH-2128] - Interceptor fires AfterTransactionCompletion too many times with distributed transactions and user-supplied connections + * [NH-2290] - Invalid hql parenthesis expansion in generated sql + * [NH-2921] - IsSpecialName of getter/setter method of proxy property returns false + * [NH-2923] - Extra lazy indexed collection throws InvalidCastException fetching Count + * [NH-2943] - Mapping XmlDocument (.NET) to XmlType (Oracle). Class XmlDocType not working. + * [NH-2963] - Validation on a collection property (mapped with Loquacious config) raise an exception [Invalid expression type: Expected ExpressionType.MemberAccess, Found Convert] + * [NH-3103] - ManyToAny ByCode does not use field customizer + * [NH-3140] - Bag ManyToMany column is ignored if it's the same as the child entity name and is replaced with "elt" in the sql. + * [NH-3190] - QuerySyntaxException is thrown when where contains subselect that matches bool value + * [NH-3234] - Merge is failing with "Unable to resolve property" + * [NH-3237] - Max and Min aggregate expressions do not work for custom UserType due to unnecessary HQL Cast + * [NH-3277] - LINQ Projection of Int64 using ToString method causes "cast as char" instead of "cast as nvarchar" in MsSqlCe dialect + * [NH-3280] - Mapping OneToOne doesn't work for inherited members + * [NH-3315] - Distinct paging problem with alias SQL Server 2005 + * [NH-3316] - Mapping parent property on component in a set adds bogus property element + * [NH-3405] - Cannot Use XDocument When Setting Wrap Resultsets + * [NH-3496] - NHibernate SqlServer2012Dialect drop sequence bug + * [NH-3505] - Stateless sessions fail to save relationships pointing to proxies when versioning is enabled + * [NH-3572] - AfterTransactionCompletion called twice if a distributed transaction is rolled back + * [NH-3592] - Failed to execute multi criteria with Ms Sql Ce 4.0 + * [NH-3611] - NHibernateUtil.GuessType(typeof(string)) returns ClassMetaType + * [NH-3614] - Cannot create project an enumerable of non-mapped objects (List) + * [NH-3615] - Incorrect assumption that namespace always exists + * [NH-3618] - ManyToOne does not allow to set "unique"="true", "unique-key" and "index" for multi-column properties + * [NH-3641] - Missing Outer Join + +** Improvement + * [NH-2005] - hql concat function not registered in MsSqlCeDialect + * [NH-2958] - Delay creation of instance of XmlSerializer (loading xml assembly) until its needed. + * [NH-3465] - Add support of IIF function for Oracle + * [NH-3466] - Register MySQL functions + * [NH-3467] - Add support of 2-arg LOCATE function + * [NH-3608] - AbstractSessionImpl abstract method visibility + +** New Feature + * [NH-2405] - MySQL5InnoDBDialect + * [NH-3192] - MsSqlCeDialect should override date manipulation functions + * [NH-3193] - MsSqlCeDialect should correct override string manipulation functions + * [NH-3194] - MsSqlCe40Dialect should support variable limits + * [NH-3195] - MsSqlCeDialect should support TOP limit + * [NH-3196] - MsSqlCeDialect should support guid.native id generator + +** Patch + * [NH-2996] - MySQL 5.5 + .NET Connector 6.2+ and GUIDs: Need to use CHAR(36) + * [NH-3209] - DateTimeOffset properties have not been considered; only the properties of DateTime have been considered + +** Task + * [NH-3251] - Update to antlr 3.5.0.2 + +Build 3.3.4.GA +============================= + +** Bug + * [NH-3638] - Mapping-by-code is occasionally picking the wrong column name + Build 3.3.3.SP1 ============================= diff --git a/packages/NHibernate.4.0.4.4000/lib/net40/NHibernate.dll b/packages/NHibernate.4.0.4.4000/lib/net40/NHibernate.dll new file mode 100644 index 000000000..cc274c49b Binary files /dev/null and b/packages/NHibernate.4.0.4.4000/lib/net40/NHibernate.dll differ diff --git a/packages/NHibernate.3.3.3.4001/lib/Net35/NHibernate.xml b/packages/NHibernate.4.0.4.4000/lib/net40/NHibernate.xml similarity index 97% rename from packages/NHibernate.3.3.3.4001/lib/Net35/NHibernate.xml rename to packages/NHibernate.4.0.4.4000/lib/net40/NHibernate.xml index 0d4351cae..2d01e1980 100644 --- a/packages/NHibernate.3.3.3.4001/lib/Net35/NHibernate.xml +++ b/packages/NHibernate.4.0.4.4000/lib/net40/NHibernate.xml @@ -37,7 +37,7 @@ Get the after-transaction-completion process, if any, for this action.
- + Create an action that will evict collection and entity regions based on queryspaces (table names). @@ -453,7 +453,7 @@
- Implementation of ColumnNameCache. + Implementation of ColumnNameCache. Thread safe. @@ -864,20 +864,6 @@ An for the specified role. - - - Creates a new for an - with bag semantics. - - The role the collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - Is embedded in XML (not supported yet) - - A for the specified role. - - Creates a new for an @@ -894,19 +880,6 @@ A for the specified role. - - - Creates a new for an . - - The role the collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - Is embedded in XML (not supported yet) - - A for the specified role. - - Creates a new for an @@ -922,21 +895,7 @@ Is embedded in XML (not supported yet) - A for the specified role. - - - - - Creates a new for an - with id-bag semantics. - - The role the collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - Is embedded in XML (not supported yet) - - A for the specified role. + A for the specified role. @@ -956,37 +915,9 @@ A for the specified role. - - - Creates a new for an . - - The role the collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - Is embedded in XML (not supported yet) - - A for the specified role. - - - - - Creates a new for an - that is sorted by an . - - The role the collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - The that does the sorting. - Is embedded in XML (not supported yet) - - A for the specified role. - - - Creates a new for an . + Creates a new for an . The type of elements in the collection. The role the collection is in. @@ -998,7 +929,7 @@ - Creates a new for a sorted . + Creates a new for a sorted . The type of elements in the collection. The role the collection is in. @@ -1011,7 +942,7 @@ - Creates a new for an ordered . + Creates a new for an ordered . The type of elements in the collection. The role the collection is in. @@ -1022,49 +953,6 @@ Is embedded in XML (not supported yet) A for the specified role. - - - Creates a new for an . - - The role the collection is in. - - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - Is embedded in XML (not supported yet) - - A for the specified role. - - - - - Creates a new for an - that maintains insertion order of elements. - - The role the collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - Is embedded in XML (not supported yet) - - A for the specified role. - - - - - Creates a new for an - that is sorted by an . - - The role the collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - The that does the sorting. - Is embedded in XML (not supported yet) - - A for the specified role. - - Creates a new for an @@ -1079,7 +967,7 @@ Is embedded in XML (not supported yet) - A for the specified role. + A for the specified role. @@ -1772,7 +1660,7 @@ Gets the cache region name. - + Initializes a new instance of the class. @@ -1780,6 +1668,7 @@ The query string. The query parameters. The filters. + The result transformer; should be null if data is not transformed before being cached. @@ -6314,6 +6203,13 @@ Enable ordering of insert statements for the purpose of more effecient batching. + + + If this setting is set to false, exceptions in IInterceptor.BeforeTransactionCompletion bubble to the caller of ITransaction.Commit and abort the commit. + If this setting is set to true, exceptions in IInterceptor.BeforeTransactionCompletion are ignored and the commit is performed. + The default setting is false. + + Issue warnings to user when any obsolete property names are used. @@ -6793,14 +6689,6 @@ The type of the element the bag should hold. The underlying collection used is an - - - An unordered, unkeyed collection that can contain the same element - multiple times. The .NET collections API has no Bag class. - Most developers seem to use s to represent bag semantics, - so NHibernate follows this practice. - - Base class for implementing . @@ -6923,9 +6811,7 @@ Reads the row from the . - This method should be prepared to handle duplicate elements caused by fetching multiple collections, - or should be updated - to return for the collection type. + This method should be prepared to handle duplicate elements caused by fetching multiple collections. The IDataReader that contains the value of the Identifier The persister for this Collection. @@ -6990,7 +6876,7 @@ The for this Collection. by default since most collections can determine which rows need to be - individually updated/inserted/deleted. Currently only 's for many-to-many + individually updated/inserted/deleted. Currently only 's for many-to-many need to be recreated. @@ -7233,7 +7119,7 @@ The for this Collection. by default since most collections can determine which rows need to be - individually updated/inserted/deleted. Currently only 's for many-to-many + individually updated/inserted/deleted. Currently only 's for many-to-many need to be recreated. @@ -7420,20 +7306,8 @@ - - - Counts the number of times that the occurs - in the . - - The element to find in the list. - The to search. - The that can determine equality. - The entity mode. - - The number of occurrences of the element in the list. - - - + + Initializes this PersistentBag from the cached values. @@ -7441,7 +7315,7 @@ The disassembled PersistentBag. The owner object. - + Gets a indicating if this PersistentBag needs to be recreated in the database. @@ -7454,9 +7328,22 @@ many-to-many so it is just recreated. + + + Counts the number of times that the occurs + in the . + + The element to find in the list. + The to search. + The that can determine equality. + The entity mode. + + The number of occurrences of the element in the list. + + - Implements "bag" semantics more efficiently than by adding + Implements "bag" semantics more efficiently than by adding a synthetic identifier column to the table. @@ -7471,24 +7358,7 @@ - - - Implements "bag" semantics more efficiently than a regular - by adding a synthetic identifier column to the table. - - - - The identifier is unique for all rows in the table, allowing very efficient - updates and deletes. The value of the identifier is never exposed to the - application. - - - PersistentIdentifierBags may not be used for a many-to-one association. - Furthermore, there is no reason to use inverse="true". - - - - + Initializes this Bag from the cached values. @@ -7503,34 +7373,26 @@ The type of the element the list should hold. The underlying collection used is a - + - A persistent wrapper for an - - - The underlying collection used in an . - - - - - Initializes an instance of the + Initializes an instance of the in the . The the list is in. - + - Initializes an instance of the + Initializes an instance of the that wraps an existing in the . The the list is in. The to wrap. - + - Initializes this PersistentList from the cached values. + Initializes this PersistentGenericList from the cached values. - The CollectionPersister to use to reassemble the PersistentList. + The CollectionPersister to use to reassemble the PersistentGenericList. The disassembled PersistentList. The owner object. @@ -7542,63 +7404,38 @@ The type of the keys in the IDictionary. The type of the elements in the IDictionary. - + - A persistent wrapper for a . Underlying collection - is a . + Construct an uninitialized PersistentGenericMap. + The ISession the PersistentGenericMap should be a part of. - + - Construct an uninitialized PersistentMap. + Construct an initialized PersistentGenericMap based off the values from the existing IDictionary. - The ISession the PersistentMap should be a part of. - - - - Construct an initialized PersistentMap based off the values from the existing IDictionary. - - The ISession the PersistentMap should be a part of. + The ISession the PersistentGenericMap should be a part of. The IDictionary that contains the initial values. - + - Initializes this PersistentMap from the cached values. + Initializes this PersistentGenericMap from the cached values. - The CollectionPersister to use to reassemble the PersistentMap. - The disassembled PersistentMap. + The CollectionPersister to use to reassemble the PersistentGenericMap. + The disassembled PersistentGenericMap. The owner object. - .NET has no design equivalent for Java's Set so we are going to use the - Iesi.Collections library. This class is internal to NHibernate and shouldn't - be used by user code. + A persistent wrapper for an . - - The code for the Iesi.Collections library was taken from the article - Add Support for "Set" Collections - to .NET that was written by JasonSmith. - - + - .NET has no design equivalent for Java's Set so we are going to use the - Iesi.Collections library. This class is internal to NHibernate and shouldn't - be used by user code. - - - The code for the Iesi.Collections library was taken from the article - Add Support for "Set" Collections - to .NET that was written by JasonSmith. - - - - - The that NHibernate is wrapping. + The that NHibernate is wrapping. - + A temporary list that holds the objects while the PersistentSet is being populated from the database. @@ -7609,14 +7446,14 @@ process. - + Constructor matching super. Instantiates a lazy set (the underlying set is un-initialized). The session to which this set will belong. - + Instantiates a non-lazy set (the underlying set is constructed from the incoming set reference). @@ -7624,7 +7461,7 @@ The session to which this set will belong. The underlying set data. - + Initializes this PersistentSet from the cached values. @@ -7632,13 +7469,13 @@ The disassembled PersistentSet. The owner object. - + Set up the temporary List that will be used in the EndRead() to fully create the set. - + Takes the contents stored in the temporary list created during BeginRead() that was populated during ReadFrom() and write it to the underlying @@ -8010,13 +7847,6 @@ The key is the session factory and the value is the bound session. - - - Provides a current session - for each System.Web.HttpContext. - Works only with Web Applications. - - This class allows access to the HttpContext without referring to HttpContext at compile time. @@ -8645,11 +8475,6 @@ A single-column projection that may be aliased - - - An "enhanced" Projection for a query. - - Render the SQL Fragment. @@ -8686,21 +8511,6 @@ - - - Get the SQL select clause column aliases for a particular user-visible alias - - - - - - - Get the SQL select clause column aliases for a particular user-visible alias - - - - - Gets the typed values for parameters in this projection @@ -8709,6 +8519,29 @@ The criteria query. + + + Get the SQL column aliases used by this projection for the columns it writes for inclusion into the + SELECT clause . NHibernate always uses column aliases + to extract data from the , so it is important that these be implemented + correctly in order for NHibernate to be able to extract these values correctly. + + Just as in , represents the number of columns rendered prior to this projection. + The local criteria to which this project is attached (for resolution). + The overall criteria query instance. + The columns aliases. + + + + Get the SQL column aliases used by this projection for the columns it writes for inclusion into the + SELECT clause () for a particular criteria-level alias. + + The criteria-level alias. + Just as in , represents the number of columns rendered prior to this projection. + The local criteria to which this project is attached (for resolution). + The overall criteria query instance. + The columns aliases. + Get the user-visible aliases for this projection (ie. the ones that will be passed to the ResultTransformer) @@ -8724,29 +8557,6 @@ Does this projection specify aggregate attributes? - - - Get the SQL column aliases used by this projection for the columns it writes for inclusion into the - SELECT clause . NHibernate always uses column aliases - to extract data from the , so it is important that these be implemented - correctly in order for NHibernate to be able to extract these values correctly. - - Just as in , represents the number of columns rendered prior to this projection. - The local criteria to which this project is attached (for resolution). - The overall criteria query instance. - The columns aliases. - - - - Get the SQL column aliases used by this projection for the columns it writes for inclusion into the - SELECT clause () for a particular criteria-level alias. - - The criteria-level alias. - Just as in , represents the number of columns rendered prior to this projection. - The local criteria to which this project is attached (for resolution). - The overall criteria query instance. - The columns aliases. - Gets the typed values for parameters in this projection @@ -10700,6 +10510,12 @@ Note: throws an exception outside of a QueryOver expression + + + Project SQL function date() + Note: throws an exception outside of a QueryOver expression + + Project SQL function sqrt() @@ -12273,7 +12089,7 @@ - Suclasses register a typename for the given type code. $l in the + Subclasses register a typename for the given type code. $l in the typename will be replaced by the column length (if appropriate). The typecode @@ -12611,17 +12427,19 @@ - Add a LIMIT clause to the given SQL SELECT. + Attempts to add a LIMIT clause to the given SQL SELECT. Expects any database-specific offset and limit adjustments to have already been performed (ex. UseMaxForLimit, OffsetStartsAtOne). The to base the limit query off. Offset of the first row to be returned by the query. This may be represented as a parameter, a string literal, or a null value if no limit is requested. This should have already been adjusted to account for OffsetStartsAtOne. Maximum number of rows to be returned by the query. This may be represented as a parameter, a string literal, or a null value if no offset is requested. This should have already been adjusted to account for UseMaxForLimit. - A new that contains the LIMIT clause. + A new that contains the LIMIT clause. Returns null + if represents a SQL statement to which a limit clause cannot be added, + for example when the query string is custom SQL invoking a stored procedure. - Generates a string to limit the result set to a number of maximum results with a specified offset into the results. + Attempts to generate a string to limit the result set to a number of maximum results with a specified offset into the results. Expects any database-specific offset and limit adjustments to have already been performed (ex. UseMaxForLimit, OffsetStartsAtOne). Performs error checking based on the various dialect limit support options. If both parameters and fixed valeus are specified, this will use the parameter option if possible. Otherwise, it will fall back to a fixed string. @@ -13390,7 +13208,7 @@ connection.driver_class - + @@ -13761,6 +13579,38 @@ + + + Attempts to add a LIMIT clause to the given SQL SELECT. + Expects any database-specific offset and limit adjustments to have already been performed (ex. UseMaxForLimit, OffsetStartsAtOne). + + The to base the limit query off. + Offset of the first row to be returned by the query. This may be represented as a parameter, a string literal, or a null value if no limit is requested. This should have already been adjusted to account for OffsetStartsAtOne. + Maximum number of rows to be returned by the query. This may be represented as a parameter, a string literal, or a null value if no offset is requested. This should have already been adjusted to account for UseMaxForLimit. + + A new that contains the LIMIT clause. Returns null + if represents a SQL statement to which a limit clause cannot be added, + for example when the query string is custom SQL invoking a stored procedure. + + + + + Does this Dialect have some kind of LIMIT syntax? + + + False, unless overridden. + + + + + Can parameters be used for a statement containing a LIMIT? + + + + + Does this Dialect support an offset? + + Use a parameter with ParameterDirection.Output @@ -13871,46 +13721,6 @@ - - - Identify the columns for the ROW_NUMBER OVER(ORDER BY ...) expression. - - - - - - This method translates aliased columns (as appear in the SELECT list) to straight column names, to be included in the - ROW_NUMBER() OVER(ORDER BY ...) expression. For example, datapoint0_.xval as xval4_ to - datapoint0_.xval. - - - - - For a DISTINCT query, identify the columns for the ROW_NUMBER() OVER(ORDER BY ...) expression. - - - - - - For a paged DISTINCT query, the columns on which ordering will be performed are returned by a sub-query. Therefore the - columns in the ROW_NUMBER() OVER(ORDER BY ...) expression need to use the aliased column name from the subquery, - prefixed by the subquery alias, q_. - - - - - Indicates whether the string fragment contains matching parenthesis - - the statement to evaluate - true if the statment contains no parenthesis or an equal number of - opening and closing parenthesis;otherwise false - - - - Perhaps SqlString should have these types of method on it... - - - An SQL dialect compatible with Microsoft SQL Server 7. @@ -14698,10 +14508,32 @@ - + - The SybaseSQLAnywhereDriver Driver provides a database driver for Sybase SQL Anywhere 10 and above + Execute the given for each command of the resultset. + The action to perform where the first parameter is the and the second parameter is the parameters offset of the . + + + + Datareader wrapper with the same life cycle of its command (through the batcher) + + + + + NHibernate driver for the Community CsharpSqlite data provider. +

+ Author: Nikolaos Tountas +

+
+ +

+ In order to use this Driver you must have the Community.CsharpSqlite.dll and Community.CsharpSqlite.SQLiteClient assemblies referenced. +

+

+ Please check http://code.google.com/p/csharp-sqlite/ for more information regarding csharp-sqlite. +

+
@@ -14931,54 +14763,6 @@ Command type name. - - - Initializes a new instance of the class. - - - Thrown when the iAnywhere.Data.SQLAnywhere assembly is not and can not be loaded. - - - - - The SybaseAsaClientDriver driver provides a database driver for Adaptive Server Anywhere 9.0. - - - - - Initializes a new instance of the class. - - - Thrown when the iAnywhere.Data.AsaClient assembly is not and can not be loaded. - - - - - Execute the given for each command of the resultset. - - The action to perform where the first parameter is the and the second parameter is the parameters offset of the . - - - - Datareader wrapper with the same life cycle of its command (through the batcher) - - - - - NHibernate driver for the Community CsharpSqlite data provider. -

- Author: Nikolaos Tountas -

-
- -

- In order to use this Driver you must have the Community.CsharpSqlite.dll and Community.CsharpSqlite.SQLiteClient assemblies referenced. -

-

- Please check http://code.google.com/p/csharp-sqlite/ for more information regarding csharp-sqlite. -

-
-
Initializes a new instance of . @@ -15059,25 +14843,12 @@ - Initializes a new instance of the class. + Initializes a new instance of the class. Thrown when the FirebirdSql.Data.Firebird assembly can not be loaded. - - - A NHibernate Driver for using the FirebirdSql.Data.Firebird DataProvider. - - - - - Initializes a new instance of the class. - - - Thrown when the FirebirdSql.Data.FirebirdClient assembly can not be loaded. - - A NHibernate Driver for using the Informix DataProvider @@ -15840,6 +15611,34 @@ ODP.NET doesn't support it. + + + A NHibernate Driver for using the Oracle.ManagedDataAccess DataProvider + + + + + Initializes a new instance of . + + + Thrown when the Oracle.ManagedDataAccess assembly can not be loaded. + + + + + This adds logic to ensure that a DbType.Boolean parameter is not created since + ODP.NET doesn't support it. + + + + + + + + + + + A NHibernate Driver for using the SqlClient DataProvider @@ -15930,32 +15729,7 @@ - Initializes a new instance of . - - - Thrown when the SQLite.NET assembly can not be loaded. - - - - - NHibernate driver for the SQLite.NET data provider. -

- Author: Ioan Bizau -

-
- -

- In order to use this Driver you must have the SQLite.NET.dll Assembly available for NHibernate to load it. - You must also have the SQLite.dll and SQLite3.dll libraries. -

-

- Please check http://www.sqlite.org/ for more information regarding SQLite. -

-
-
- - - Initializes a new instance of . + Initializes a new instance of . Thrown when the SQLite.NET assembly can not be loaded. @@ -16007,6 +15781,19 @@ created for Yukon because it is supposed to support it. + + + The SybaseAsaClientDriver driver provides a database driver for Adaptive Server Anywhere 9.0. + + + + + Initializes a new instance of the class. + + + Thrown when the iAnywhere.Data.AsaClient assembly is not and can not be loaded. + + This provides a driver for Sybase ASE 15 using the ADO.NET driver. @@ -16057,6 +15844,19 @@ Thrown when the iAnywhere.Data.SQLAnywhere.v4.0 assembly is not and can not be loaded. + + + The SybaseSQLAnywhereDriver Driver provides a database driver for Sybase SQL Anywhere 10 and above + + + + + Initializes a new instance of the class. + + + Thrown when the iAnywhere.Data.SQLAnywhere assembly is not and can not be loaded. + + Represents state associated with the processing of a given @@ -16506,7 +16306,7 @@ Was the transaction successful. - + Check whether the given tables/query-spaces are to be executed against given the currently queued actions. @@ -16612,7 +16412,7 @@ if necessary - + Get a batch of uninitialized collection keys for a given role @@ -16622,7 +16422,7 @@ The entity mode. an array of collection keys, of length batchSize (padded with nulls) - + Get a batch of unloaded identifiers for this class, using a slightly complex algorithm that tries to grab keys registered immediately after @@ -16631,7 +16431,6 @@ The persister for the entities being loaded. The identifier of the entity currently demanding load. The maximum number of keys to return - The entity mode. an array of identifiers, of length batchSize (possibly padded with nulls) @@ -16865,9 +16664,6 @@ - - - @@ -18158,6 +17954,11 @@ Strongly-typed version of + + + Strongly-typed version of + + Strongly-typed version of @@ -18171,11 +17972,24 @@ + + + Execute an Iterate() query + + + + + Strongly-typed version of + + + Strongly-typed version of + + Execute a filter @@ -18275,6 +18089,9 @@ Execute a HQL update or delete query + + Execute a HQL update or delete query + System time before the start of the transaction @@ -19063,6 +18880,7 @@ Deletes, in the order they were performed + The session being flushed @@ -19320,7 +19138,7 @@ Thus, this is a hook for HEM to affect this behavior. - + We encountered a delete request on a transient instance.

@@ -19337,7 +19155,7 @@ A cache of already visited transient entities (to avoid infinite recursion). - +

Perform the entity deletion. Well, as with most operations, does not really perform it; just schedules an action/execution with the @@ -20107,7 +19925,7 @@ transaction. (Long transactions might span several database transactions.) - The main function of the ISession is to offer create, find and delete operations + The main function of the ISession is to offer create, find, update, and delete operations for instances of mapped entity classes. Instances may exist in one of two states: transient: not associated with any ISession @@ -20167,7 +19985,7 @@ Must be called at the end of a unit of work, before commiting the transaction and closing - the session (Transaction.Commit() calls this method). Flushing if the process + the session (Transaction.Commit() calls this method). Flushing is the process of synchronising the underlying persistent store with persistable state held in memory. @@ -20421,6 +20239,18 @@ association is mapped with cascade="save-update". + + + Persist the given transient instance, using the given identifier. + + The Entity name. + a transient instance of a persistent class + An unused valid identifier + + This operation cascades to associated instances if the + association is mapped with cascade="save-update". + + Either Save() or Update() the given instance, depending upon the value of @@ -20447,6 +20277,19 @@ with cascade="save-update". + + + Either Save() or Update() the given instance, depending upon the value of + its identifier property. + + + By default the instance is always saved. This behaviour may be adjusted by specifying + an unsaved-value attribute of the identifier property mapping + + The name of the entity + A transient instance containing new or updated state + Identifier of persistent instance + Update the persistent instance with the identifier of the given transient instance. @@ -20481,6 +20324,19 @@ if the association is mapped with cascade="save-update". + + + Update the persistent instance associated with the given identifier. + + The Entity name. + a detached instance containing updated state + Identifier of persistent instance + + If there is a persistent instance with the same identifier, + an exception is thrown. This operation cascades to associated instances + if the association is mapped with cascade="save-update". + + Copy the state of the given object onto the persistent object with the same @@ -20558,31 +20414,6 @@ Name of the entity. a transient instance to be made persistent - - - Copy the state of the given object onto the persistent object with the same - identifier. If there is no persistent instance currently associated with - the session, it will be loaded. Return the persistent instance. If the - given instance is unsaved or does not exist in the database, save it and - return it as a newly persistent instance. Otherwise, the given instance - does not become associated with the session. - - a transient instance with state to be copied - an updated persistent instance - - - - Copy the state of the given object onto the persistent object with the - given identifier. If there is no persistent instance currently associated - with the session, it will be loaded. Return the persistent instance. If - there is no database row with the given identifier, save the given instance - and return it as a newly persistent instance. Otherwise, the given instance - does not become associated with the session. - - a persistent or transient instance with state to be copied - the identifier of the instance to copy to - an updated persistent instance - Remove a persistent instance from the datastore. @@ -21038,10 +20869,7 @@ Cascade refresh an entity instance - - Cascade copy an entity instance - - + Cascade delete an entity instance @@ -21586,7 +21414,7 @@ Returns to the previous 'FROM' context. - + Implementations will report or handle errors invoked by an ANTLR base parser. @@ -21633,361 +21461,6 @@ The default SQL writer. - - - Abstract superclass of object loading (and querying) strategies. - - -

- This class implements useful common functionality that concrete loaders would delegate to. - It is not intended that this functionality would be directly accessed by client code (Hence, - all methods of this class are declared protected or private.) This class relies heavily upon the - interface, which is the contract between this class and - s that may be loaded by it. -

-

- The present implementation is able to load any number of columns of entities and at most - one collection role per query. -

-
- -
- - - What lock mode does this load entities with? - - A Collection of lock modes specified dynamically via the Query Interface - - - - - Append FOR UPDATE OF clause, if necessary. This - empty superclass implementation merely returns its first - argument. - - - - - Does this query return objects that might be already cached by - the session, whose lock mode may need upgrading. - - - - - - Modify the SQL, adding lock hints and comments, if necessary - - - - - Execute an SQL query and attempt to instantiate instances of the class mapped by the given - persister from each row of the DataReader. If an object is supplied, will attempt to - initialize that object. If a collection is supplied, attempt to initialize that collection. - - - - - Loads a single row from the result set. This is the processing used from the - ScrollableResults where no collection fetches were encountered. - - The result set from which to do the load. - The session from which the request originated. - The query parameters specified by the user. - Should proxies be generated - The loaded "row". - - - - - Read any collection elements contained in a single row of the result set - - - - - Get the actual object that is returned in the user-visible result list. - - - This empty implementation merely returns its first argument. This is - overridden by some subclasses. - - - - - For missing objects associated by one-to-one with another object in the - result set, register the fact that the the object is missing with the - session. - - - - - Read one collection element from the current row of the ADO.NET result set - - - - - If this is a collection initializer, we need to tell the session that a collection - is being initilized, to account for the possibility of the collection having - no elements (hence no rows in the result set). - - - - - Read a row of EntityKeys from the IDataReader into the given array. - - - Warning: this method is side-effecty. If an id is given, don't bother going - to the IDataReader - - - - - Check the version of the object in the IDataReader against - the object version in the session cache, throwing an exception - if the version numbers are different. - - - - - - Resolve any ids for currently loaded objects, duplications within the IDataReader, - etc. Instanciate empty objects to be initialized from the IDataReader. Return an - array of objects (a row of results) and an array of booleans (by side-effect) that determine - wheter the corresponding object should be initialized - - - - - The entity instance is already in the session cache - - - - - The entity instance is not in the session cache - - - - - Hydrate the state of an object from the SQL IDataReader, into - an array of "hydrated" values (do not resolve associations yet), - and pass the hydrated state to the session. - - - - - Determine the concrete class of an instance for the IDataReader - - - - - Advance the cursor to the first required row of the IDataReader - - - - - Should we pre-process the SQL string, adding a dialect-specific - LIMIT clause. - - - - - - - - Performs dialect-specific manipulations on the offset value before returning it. - This method is applicable for use in limit statements only. - - - - - Performs dialect-specific manipulations on the limit value before returning it. - This method is applicable for use in limit statements only. - - - - - Obtain an IDbCommand with all parameters pre-bound. Bind positional parameters, - named parameters, and limit parameters. - - - Creates an IDbCommand object and populates it with the values necessary to execute it against the - database to Load an Entity. - - The to use for the IDbCommand. - TODO: find out where this is used... - The SessionImpl this Command is being prepared in. - A CommandWrapper wrapping an IDbCommand that is ready to be executed. - - - - Some dialect-specific LIMIT clauses require the maximium last row number - (aka, first_row_number + total_row_count), while others require the maximum - returned row count (the total maximum number of rows to return). - - The selection criteria - The dialect - The appropriate value to bind into the limit clause. - - - - Fetch a IDbCommand, call SetMaxRows and then execute it, - advance to the first result and return an SQL IDataReader - - The to execute. - The to apply to the and . - true if result types need to be auto-discovered by the loader; false otherwise. - The to load in. - - An IDataReader advanced to the first record in RowSelection. - - - - Called by subclasses that load entities - - - - - Called by subclasses that batch load entities - - - - - Called by subclasses that load collections - - - - - Called by wrappers that batch initialize collections - - - - - Called by subclasses that batch initialize collections - - - - - Return the query results, using the query cache, called - by subclasses that implement cacheable queries - - - - - - - - - - Actually execute a query, ignoring the query cache - - - - - - - - Calculate and cache select-clause suffixes. Must be - called by subclasses after instantiation. - - - - - An array indicating whether the entities have eager property fetching - enabled. - - Eager property fetching indicators. - - - - An array of indexes of the entity that owns a one-to-one association - to the entity at the given index (-1 if there is no "owner") - - - The indexes contained here are relative to the result of . - - - - - An array of the owner types corresponding to the - returns. Indices indicating no owner would be null here. - - - - - Get the index of the entity that owns the collection, or -1 - if there is no owner in the query results (i.e. in the case of a - collection initializer) or no collection. - - - - - Return false is this loader is a batch entity loader - - - - - Get the result set descriptor - - - - - The SqlString to be called; implemented by all subclasses - - - - The setter was added so that class inheriting from Loader could write a - value using the Property instead of directly to the field. - - - The scope is protected internal because the needs to - be able to get the SqlString of the when - it is parsing a subquery. - - - - - - An array of persisters of entity classes contained in each row of results; - implemented by all subclasses - - - The setter was added so that classes inheriting from Loader could write a - value using the Property instead of directly to the field. - - - - - An (optional) persister for a collection to be initialized; only collection loaders - return a non-null value - - - - - Get the SQL table aliases of entities whose - associations are subselect-loadable, returning - null if this loader does not support subselect - loading - - - - - Identifies the query for statistics reporting, if null, - no statistics will be reported - - - - - Utility method that generates 0_, 1_ suffixes. Subclasses don't - necessarily need to use this algorithm, but it is intended that - they will in most cases. - - - - - - - a collection of lock modes specified dynamically via the Query interface - - Base class for nodes dealing 'is null' and 'is not null' operators. @@ -23067,12 +22540,6 @@ Ported by: Steve Strong - - - Facade for generation of - and instances. - - Facade for generation of @@ -23091,16 +22558,11 @@ The session factory An appropriate translator. - + Construct a instance capable of translating a Linq expression. - - The query-identifier (used in collection). - This is typically the same as the queryString parameter except for the case of - split polymorphic queries which result in multiple physical sql queries. - The query expression to be translated @@ -23240,11 +22702,6 @@ Indicates if the token could be an identifier. - - - Gets or Sets the type of the token, remembering the previous type on Sets. - - Returns the previous token type. @@ -23535,386 +22992,6 @@ The collection type to be checked. The Type of the elements of the collection. - - - Generates translators which uses the older hand-written parser to perform the translation. - - - - - Parses the hibernate query into its constituent clauses. - - - - - A parser is a state machine that accepts a string of tokens, - bounded by start() and end() and modifies a QueryTranslator. Parsers - are NOT intended to be threadsafe. They SHOULD be reuseable - for more than one token stream. - - - - - - - - - - - - - - - - - - - - - - - - Parses the from clause of a hibernate query, looking for tables and - aliases for the SQL query. - - - - - - - - FromPathExpressionParser - - - - - Parses an expression of the form foo.bar.baz and builds up an expression - involving two less table joins than there are path components. - - - - - - - - - - NOTE: we avoid joining to the next table if the named property is just the foreign key value - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Used to hold column type in nested functions. - - - - - Parses the GROUP BY clause of an aggregate query - - - - - Parses the having clause of a hibernate query and translates it to an - SQL having clause. - - - - Parses the where clause of a hibernate query and translates it to an - SQL where clause. - - - - - - - - - - - - - - - - - - - - - - - - Parses the ORDER BY clause of a query - - - - - - - HQL lexical analyzer (not really a parser) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An instance of QueryTranslator translates a Hibernate query string to SQL. - - - - Construct a query translator - - A unique identifier for the query of which this - translation is part; typically this is the original, user-supplied query string. - - - The "preprocessed" query string; at the very least - already processed by {@link org.hibernate.hql.QuerySplitter}. - - Any enabled filters. - The session factory. - - - - Construct a query translator - - - - - Compile a subquery - - - - - - Compile a "normal" query. This method may be called multiple - times. Subsequent invocations are no-ops. - - - - - Compile a filter. This method may be called multiple - times. Subsequent invocations are no-ops. - - - - - Compile the query (generate the SQL). - - - - - WARNING: side-effecty - - - - - Extract the complete clause of function. - - The list of tokens - The index of the list that represent the founded function. - String trepresentation of each token. - Each token can be string or SqlString - - - Used for collection filters - - - - - - - Persisters for the return values of a List style query - - - The Persisters stored by QueryTranslator have to be . The - setter will attempt to cast the ILoadable array passed in into an - IQueryable array. - - - - - Types of the return values of an Enumerate() style query. - Return an array of s. - - - - - - - - Is this query called by Scroll() or Iterate()? - - true if it is, false if it is called by find() or list() - - - - - - - - - - Parsers the select clause of a hibernate query, looking - for a table (well, really class) alias. - - - - - - - - - - - - - - - - - - - - Wraps SessionFactoryImpl, adding more lookup behaviors and encapsulating some of the error handling. @@ -25579,7 +24656,7 @@ The name of the parameter The non-null parameter value - + Bind multiple values to a named query parameter. This is useful for binding a list of values to an expression such as foo.bar in (:value_list) @@ -25588,7 +24665,7 @@ A collection of values to list The Hibernate type of the values - + Bind multiple values to a named query parameter, guessing the Hibernate type from the class of the first object in the collection. This is useful for binding a list @@ -26672,6 +25749,11 @@ + + + Warning: adds new parameters to the argument by side-effect, as well as mutating the query expression tree! + + Functionality common to stateless and stateful sessions @@ -27376,6 +26458,13 @@ Lambda expression demonstrating call of custom method function to convert MethodCallExpression to IProjection + + + Register a custom projection for use in a QueryOver expression + + Lambda expression demonstrating call of custom method + function to convert MethodCallExpression to IProjection + Retreive the property name from a supplied PropertyProjection @@ -27535,6 +26624,14 @@ The id A descriptive in the form [collectionrole#id] + + + Generate small message that can be used in traces and exception messages. + + The for the class in question + The id + A descriptive in the form [collectionrole#id] + Generate an info message string relating to a given property value @@ -27545,6 +26642,18 @@ The property value. An info string, in the form [Foo.bars#1] + + + Generate an info message string relating to a particular managed + collection. Attempts to intelligently handle property-refs issues + where the collection key is not the same as the owner key. + + The persister for the collection + The collection itself + The collection key + The session + An info string, in the form [Foo.bars#1] + Generate an info message string relating to a particular managed @@ -27555,6 +26664,15 @@ The session factory An info string, in the form [Foo.bars#1] + + + Generate an info message string relating to a particular managed collection. + + The persister for the collection + The id value of the owner + The session factory + An info string, in the form [Foo.bars#1] + Generate an info message string relating to a particular entity, @@ -27904,7 +27022,7 @@ The non-null parameter value The instance for method chain. - + Bind multiple values to a named query parameter. This is useful for binding a list of values to an expression such as foo.bar in (:value_list) @@ -27914,7 +27032,7 @@ The Hibernate type of the values The instance for method chain. - + Bind multiple values to a named query parameter, guessing the Hibernate type from the class of the first object in the collection. This is useful for binding a list @@ -28336,7 +27454,7 @@ - + Constructor used for OpenSession(...) processing, as well as construction of sessions for GetCurrentSession(). @@ -28349,6 +27467,7 @@ The entity-mode for this session Should we auto flush before completion of transaction Should we auto close after completion of transaction + Should we ignore exceptions in IInterceptor.BeforeTransactionCompletion The mode by which we should release JDBC connections. @@ -28428,13 +27547,10 @@ Cascade refresh an entity instance - - Cascade copy an entity instance - - + Cascade delete an entity instance - + detect in-memory changes, determine if the changes are to tables named in the query and, if so, complete execution the flush @@ -29128,10 +28244,10 @@ Initialize the property, and return its new value - + All joins are created as outer joins. An optimization in finds - joins that may be inner joined and calls on them. + joins that may be inner joined and calls on them. 's will then emit the correct HQL join. @@ -29207,11 +28323,6 @@ - - - This re-writer is responsible to re-write a query without a body (no where-clause and so on). - - Removes various result operators from a query so that they can be processed at the same @@ -29308,7 +28419,31 @@ before it has been identified - and named. - + + + Analyze the select clause to determine what parts can be translated + fully to HQL, and some other properties of the clause. + + + + + The expression parts that can be converted to pure HQL. + + + + + If true after an expression have been analyzed, the + expression as a whole contain at least one method call which + cannot be converted to a registered function, i.e. it must + be executed client side. + + + + + Some conditional expressions can be redured to just their IfTrue or IfFalse part. + + + Possible values of expression if there's set of values for the requested member expression. @@ -29414,14 +28549,10 @@ Use the SqlMethods.Like() method in a Linq2NHibernate expression to generate - an SQL LIKE expression. (Any 2-argument method named Like in a class named SqlMethods - will be translated.) - - - - - Peform an unsafe cast to T (i.e. (T)source). This is only for - syntactically more pleasing code. + an SQL LIKE expression. (If you want to avoid depending on the NHibernate.Linq namespace, + you can define your own replica of this method. Any 2-argument method named Like in a class named SqlMethods + will be translated.) This method can only be used in Linq2NHibernate expression, and will throw + if called directly. @@ -29527,7 +28658,7 @@ this method is side-effecty - + Should we join this association? @@ -29571,11 +28702,6 @@ join it more than once, and create circularities - - - We can use an inner join for first many-to-many association - - Loads a collection of values or a many-to-many association. @@ -29602,6 +28728,371 @@ Tablse are joined using an ANSI-style left outer join. + + + Abstract superclass of object loading (and querying) strategies. + + +

+ This class implements useful common functionality that concrete loaders would delegate to. + It is not intended that this functionality would be directly accessed by client code (Hence, + all methods of this class are declared protected or private.) This class relies heavily upon the + interface, which is the contract between this class and + s that may be loaded by it. +

+

+ The present implementation is able to load any number of columns of entities and at most + one collection role per query. +

+
+ +
+ + + Indicates whether the dialect is able to add limit and/or offset clauses to . + Even if a dialect generally supports the addition of limit and/or offset clauses to SQL statements, + there may (custom) SQL statements where this is not possible, for example in case of SQL Server + stored procedure invocations. + + + + + What lock mode does this load entities with? + + A Collection of lock modes specified dynamically via the Query Interface + + + + + Append FOR UPDATE OF clause, if necessary. This + empty superclass implementation merely returns its first + argument. + + + + + Does this query return objects that might be already cached by + the session, whose lock mode may need upgrading. + + + + + + Modify the SQL, adding lock hints and comments, if necessary + + + + + Execute an SQL query and attempt to instantiate instances of the class mapped by the given + persister from each row of the DataReader. If an object is supplied, will attempt to + initialize that object. If a collection is supplied, attempt to initialize that collection. + + + + + Loads a single row from the result set. This is the processing used from the + ScrollableResults where no collection fetches were encountered. + + The result set from which to do the load. + The session from which the request originated. + The query parameters specified by the user. + Should proxies be generated + The loaded "row". + + + + + Read any collection elements contained in a single row of the result set + + + + + Determine the actual ResultTransformer that will be used to transform query results. + + The specified result transformer. + The actual result transformer. + + + + Are rows transformed immediately after being read from the ResultSet? + + The specified result transformer. + True, if getResultColumnOrRow() transforms the results; false, otherwise + + + + Get the actual object that is returned in the user-visible result list. + + + This empty implementation merely returns its first argument. This is + overridden by some subclasses. + + + + + For missing objects associated by one-to-one with another object in the + result set, register the fact that the the object is missing with the + session. + + + + + Read one collection element from the current row of the ADO.NET result set + + + + + If this is a collection initializer, we need to tell the session that a collection + is being initilized, to account for the possibility of the collection having + no elements (hence no rows in the result set). + + + + + Read a row of EntityKeys from the IDataReader into the given array. + + + Warning: this method is side-effecty. If an id is given, don't bother going + to the IDataReader + + + + + Check the version of the object in the IDataReader against + the object version in the session cache, throwing an exception + if the version numbers are different. + + + + + + Resolve any ids for currently loaded objects, duplications within the IDataReader, + etc. Instanciate empty objects to be initialized from the IDataReader. Return an + array of objects (a row of results) and an array of booleans (by side-effect) that determine + wheter the corresponding object should be initialized + + + + + The entity instance is already in the session cache + + + + + The entity instance is not in the session cache + + + + + Hydrate the state of an object from the SQL IDataReader, into + an array of "hydrated" values (do not resolve associations yet), + and pass the hydrated state to the session. + + + + + Determine the concrete class of an instance for the IDataReader + + + + + Advance the cursor to the first required row of the IDataReader + + + + + Should we pre-process the SQL string, adding a dialect-specific + LIMIT clause. + + + + + + + + Performs dialect-specific manipulations on the offset value before returning it. + This method is applicable for use in limit statements only. + + + + + Performs dialect-specific manipulations on the limit value before returning it. + This method is applicable for use in limit statements only. + + + + + Obtain an IDbCommand with all parameters pre-bound. Bind positional parameters, + named parameters, and limit parameters. + + + Creates an IDbCommand object and populates it with the values necessary to execute it against the + database to Load an Entity. + + The to use for the IDbCommand. + TODO: find out where this is used... + The SessionImpl this Command is being prepared in. + A CommandWrapper wrapping an IDbCommand that is ready to be executed. + + + + Some dialect-specific LIMIT clauses require the maximium last row number + (aka, first_row_number + total_row_count), while others require the maximum + returned row count (the total maximum number of rows to return). + + The selection criteria + The dialect + The appropriate value to bind into the limit clause. + + + + Fetch a IDbCommand, call SetMaxRows and then execute it, + advance to the first result and return an SQL IDataReader + + The to execute. + The to apply to the and . + true if result types need to be auto-discovered by the loader; false otherwise. + The to load in. + + An IDataReader advanced to the first record in RowSelection. + + + + Called by subclasses that load entities + + + + + Called by subclasses that batch load entities + + + + + Called by subclasses that load collections + + + + + Called by wrappers that batch initialize collections + + + + + Called by subclasses that batch initialize collections + + + + + Return the query results, using the query cache, called + by subclasses that implement cacheable queries + + + + + + + + + + Actually execute a query, ignoring the query cache + + + + + + + + Calculate and cache select-clause suffixes. Must be + called by subclasses after instantiation. + + + + + An array indicating whether the entities have eager property fetching + enabled. + + Eager property fetching indicators. + + + + An array of indexes of the entity that owns a one-to-one association + to the entity at the given index (-1 if there is no "owner") + + + The indexes contained here are relative to the result of . + + + + + An array of the owner types corresponding to the + returns. Indices indicating no owner would be null here. + + + + + Get the index of the entity that owns the collection, or -1 + if there is no owner in the query results (i.e. in the case of a + collection initializer) or no collection. + + + + + Return false is this loader is a batch entity loader + + + + + Get the result set descriptor + + + + + The SqlString to be called; implemented by all subclasses + + + + + An array of persisters of entity classes contained in each row of results; + implemented by all subclasses + + + The setter was added so that classes inheriting from Loader could write a + value using the Property instead of directly to the field. + + + + + An (optional) persister for a collection to be initialized; only collection loaders + return a non-null value + + + + + Get the SQL table aliases of entities whose + associations are subselect-loadable, returning + null if this loader does not support subselect + loading + + + + + Returns the aliases that correspond to a result row. + + Returns the aliases that correspond to a result row. + + + + Identifies the query for statistics reporting, if null, + no statistics will be reported + + + + + Utility method that generates 0_, 1_ suffixes. Subclasses don't + necessarily need to use this algorithm, but it is intended that + they will in most cases. + + An interface for collection loaders @@ -30011,6 +29502,13 @@ create a customized subclass of . + + + + + a collection of lock modes specified dynamically via the Query interface + + CollectionAliases which handles the logic of selecting user provided aliases (via return-property), @@ -30200,6 +29698,11 @@ Util extensions to use in your test or where you need to see the XML mappings + + + Immutable value class. By-value equality. + + Provide the list of progressive-paths @@ -30955,7 +30458,7 @@ The to include in the Table. - + Gets the identified by the name. @@ -30965,7 +30468,7 @@ identified by the name does not exist then it is created. - + Gets the identified by the name. @@ -32811,7 +32314,7 @@ - + @@ -32951,7 +32454,7 @@ true if this is an - + @@ -34634,9 +34137,6 @@ "table-per-class hierarchy" mapping strategy for an entity class. - - Generate the SQL that selects a row by id - Factory for IEntityPersister and ICollectionPersister instances. @@ -35718,7 +35218,7 @@ Contract for run-time, proxy-based lazy initialization proxies. - + Called immediately after instantiation of this factory. The name of the entity for which this factory should generate proxies. @@ -35861,6 +35361,113 @@ This method is approximate match for Session.bestGuessEntityName in H3.2 + + + Represents SQL Server SELECT query parser, primarily intended to support generation of + limit queries by SQL Server dialects. + + + + + Column definitions in SELECT clause + + + + + Column definitions for columns that appear in ORDER BY clause + but do not appear in SELECT clause. + + + + + Sort orders as defined in ORDER BY clause + + + + + A SQL query token as returned by + + + + + Position at which this token occurs in a . + + + + + Number of characters in this token. + + + + + Splits a into s. + + + + + token types. + + + + + Whitespace + + + + + Single line comment (preceeded by --) or multi-line comment (terminated by /* and */) + + + + + Keywords, operators or undelimited identifiers. + + + + + Delimited identifiers or string literals. + + + + + A query parameter. + + + + + List separator, the ',' character. + + + + + Begin of an expression block, consisting of a '(' character. + + + + + End of an expression block, consisting of a ')' character. + + + + + Tokens for begin or end of expression blocks. + + + + + Includes all token types except whitespace or comments + + + + + Includes all token types except whitespace + + + + + Includes all token types + + Aliases tables and fields for Sql Statements. @@ -36042,7 +35649,7 @@ - Generates an array of parameters for the given SqlTypes. + Generates an array of parameters. The number of parameters to generate. An array of objects @@ -36130,25 +35737,25 @@ - + - + - + - + @@ -36161,7 +35768,7 @@ The "order by" sql statement. - + @@ -36983,6 +36590,11 @@ Returns a string or Parameter. + + + Helper methods for SqlString. + + A class that builds an UPDATE sql statement. @@ -37562,8 +37174,30 @@ Run the schema creation script - if the ddl should be outputted in the Console. - if the ddl should be executed against the Database. + if the ddl should be outputted in the Console. + if the ddl should be executed against the Database. + + This is a convenience method that calls and sets + the justDrop parameter to false. + + + + + Run the schema creation script + + an action that will be called for each line of the generated ddl. + if the ddl should be executed against the Database. + + This is a convenience method that calls and sets + the justDrop parameter to false. + + + + + Run the schema creation script + + if non-null, the ddl will be written to this TextWriter. + if the ddl should be executed against the Database. This is a convenience method that calls and sets the justDrop parameter to false. @@ -37573,19 +37207,30 @@ Run the drop schema script - if the ddl should be outputted in the Console. - if the ddl should be executed against the Database. + if the ddl should be outputted in the Console. + if the ddl should be executed against the Database. This is a convenience method that calls and sets the justDrop parameter to true. + + + Run the drop schema script + + if non-null, the ddl will be written to this TextWriter. + if the ddl should be executed against the Database. + + This is a convenience method that calls and sets + the justDrop parameter to true. + + Executes the Export of the Schema in the given connection - if the ddl should be outputted in the Console. - if the ddl should be executed against the Database. + if the ddl should be outputted in the Console. + if the ddl should be executed against the Database. if only the ddl to drop the Database objects should be executed. The connection to use when executing the commands when export is . @@ -37602,8 +37247,8 @@ Executes the Export of the Schema. - if the ddl should be outputted in the Console. - if the ddl should be executed against the Database. + if the ddl should be outputted in the Console. + if the ddl should be executed against the Database. if only the ddl to drop the Database objects should be executed. This method allows for both the drop and create ddl script to be executed. @@ -37857,6 +37502,78 @@ A mimic to the javax.transaction.Synchronization callback to enable + + + Create an AfterTransactionCompletes that will execute the given delegate + when the transaction is completed. The action delegate will receive + the value 'true' if the transaction was completed successfully. + + + + + + An implementation of TupleSubsetResultTransformer that ignores a + tuple element if its corresponding alias is null. + + @author Gail Badner + + + + A ResultTransformer that operates on "well-defined" and consistent + subset of a tuple's elements. + + "Well-defined" means that: +
    +
  1. + the indexes of tuple elements accessed by an + ITupleSubsetResultTransformer depends only on the aliases + and the number of elements in the tuple; i.e, it does + not depend on the value of the tuple being transformed; +
  2. +
  3. + any tuple elements included in the transformed value are + unmodified by the transformation; +
  4. +
  5. + transforming equivalent tuples with the same aliases multiple + times results in transformed values that are equivalent; +
  6. +
  7. + the result of transforming the tuple subset (only those + elements accessed by the transformer) using only the + corresponding aliases is equivalent to transforming the + full tuple with the full array of aliases; +
  8. +
  9. + the result of transforming a tuple with non-accessed tuple + elements and corresponding aliases set to null + is equivalent to transforming the full tuple with the + full array of aliases; +
  10. +
+
+ + @author Gail Badner +
+ + + When a tuple is transformed, is the result a single element of the tuple? + + The aliases that correspond to the tuple. + The number of elements in the tuple. + True, if the transformed value is a single element of the tuple; + false, otherwise. + + + + Returns an array with the i-th element indicating whether the i-th + element of the tuple is included in the transformed value. + + The aliases that correspond to the tuple. + The number of elements in the tuple. + Array with the i-th element indicating whether the i-th + element of the tuple is included in the transformed value. + Result transformer that allows to transform a result to @@ -37878,6 +37595,132 @@ + + + A ResultTransformer that is used to transform tuples to a value(s) that can be cached. + + @author Gail Badner + + + + Array with the i-th element indicating whether the i-th + expression returned by a query is included in the tuple. + + IMPLEMENTATION NOTE: + "joined" and "fetched" associations may use the same SQL, + but result in different tuple and cached values. This is + because "fetched" associations are excluded from the tuple. + includeInTuple provides a way to distinguish these 2 cases. + + + + Indexes for tuple that are included in the transformation. + Set to null if all elements in the tuple are included. + + + + + Returns a CacheableResultTransformer that is used to transform + tuples to a value(s) that can be cached. + + result transformer that will ultimately be used (after caching results) + the aliases that correspond to the tuple; + if it is non-null, its length must equal the number + of true elements in includeInTuple[] + array with the i-th element indicating + whether the i-th expression returned by a query is + included in the tuple; the number of true values equals + the length of the tuple that will be transformed; + must be non-null + a CacheableResultTransformer that is used to transform + tuples to a value(s) that can be cached. + + + + Returns a CacheableResultTransformer that is used to transform + tuples to a value(s) that can be cached. + + a tuple subset result transformer; + must be non-null; + the aliases that correspond to the tuple; + if it is non-null, its length must equal the number + of true elements in includeInTuple[] + array with the i-th element indicating + whether the i-th expression returned by a query is + included in the tuple; the number of true values equals + the length of the tuple that will be transformed; + must be non-null + a CacheableResultTransformer that is used to transform + tuples to a value(s) that can be cached. + + + + Returns a CacheableResultTransformer that is used to transform + tuples to a value(s) that can be cached. + + array with the i-th element indicating + whether the i-th expression returned by a query is + included in the tuple; the number of true values equals + the length of the tuple that will be transformed; + must be non-null + a CacheableResultTransformer that is used to transform + tuples to a value(s) that can be cached. + + + + Re-transforms, if necessary, a List of values previously + transformed by this (or an equivalent) CacheableResultTransformer. + Each element of the list is re-transformed in place (i.e, List + elements are replaced with re-transformed values) and the original + List is returned. If re-transformation is unnecessary, the original List is returned + unchanged. + + Results that were previously transformed. + The aliases that correspond to the untransformed tuple. + The transformer for the re-transformation. + + transformedResults, with each element re-transformed (if nececessary). + + + + Untransforms, if necessary, a List of values previously + transformed by this (or an equivalent) CacheableResultTransformer. + Each element of the list is untransformed in place (i.e, List + elements are replaced with untransformed values) and the original + List is returned. + + If not unnecessary, the original List is returned + unchanged. + + + + NOTE: If transformed values are a subset of the original + tuple, then, on return, elements corresponding to + excluded tuple elements will be null. + + Results that were previously transformed. + results, with each element untransformed (if nececessary). + + + + Returns the result types for the transformed value. + + + + + "Compact" the given array by picking only the elements identified by + the _includeInTransformIndex array. The picked elements are returned + in a new array. + + + + + Expand the given array by putting each of its elements at the + position identified by the _includeInTransformIndex array. The + elements are placed in a new array - the original array will + not be modified. + + Tranforms each result row from a tuple into a , such that what @@ -38507,10 +38350,10 @@ The that uses this IType.The number of columns this IType spans.MappingException - + - + @@ -39302,45 +39145,6 @@ - - - An that maps an collection - using bag semantics to the database. - - - - - Initializes a new instance of a class for - a specific role. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - - - - - Instantiates a new for the bag. - - The current for the bag. - - - A new . - - - - Wraps an in a NHibernate . - - The for the collection to be a part of. - The unwrapped . - - An that wraps the non NHibernate . - - - - - Maps a System.Byte[] Property to an column that can store a BLOB. @@ -40083,24 +39887,23 @@ An that wraps the non NHibernate . - + - An that maps an collection + An that maps an collection using bag semantics with an identifier to the database. - + - Initializes a new instance of a class for + Initializes a new instance of a class for a specific role. The role the persistent collection is in. The name of the property in the owner object containing the collection ID, or if it is the primary key. - - + Instantiates a new for the identifier bag. @@ -40109,17 +39912,28 @@ - + - Wraps an in a . + Wraps an in a . The for the collection to be a part of. - The unwrapped . + The unwrapped . - An that wraps the non NHibernate . + An that wraps the non NHibernate . - + + + Instantiate an empty instance of the "underlying" collection (not a wrapper), + but with the given anticipated size (i.e. accounting for initial capacity + and perhaps load factor). + + + The anticipated size of the instantiated collection after we are done populating it. + + A newly instantiated collection to be wrapped. + + @@ -40128,45 +39942,6 @@ to the database using list semantics. - - - An that maps an collection - using list semantics to the database. - - - - - Initializes a new instance of a class for - a specific role. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - - - - - Instantiates a new for the bag. - - The current for the bag. - - - A new . - - - - Wraps an exist in a NHibernate . - - The for the collection to be a part of. - The unwrapped . - - An that wraps the non NHibernate . - - - - - Initializes a new instance of a class for @@ -40201,45 +39976,6 @@ to the database. - - - An that maps an collection - to the database. - - - - - Initializes a new instance of a class for - a specific role. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - - - - - Instantiates a new for the map. - - The current for the map. - - - - - - - Wraps an in a . - - The for the collection to be a part of. - The unwrapped . - - An that wraps the non NHibernate . - - - - - Initializes a new instance of a class for @@ -40272,57 +40008,16 @@ - An that maps a sorted collection + An that maps a sorted collection to the database. - An that maps an collection + An that maps an collection to the database. - - - An that maps an collection - to the database. - - - - - Initializes a new instance of a class for - a specific role. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - - - - - Instantiates a new for the set. - - The current for the set. - - - - - - - Wraps an in a . - - The for the collection to be a part of. - The unwrapped . - - An that wraps the non NHibernate . - - - - - - - Initializes a new instance of a class for @@ -40363,7 +40058,7 @@ - An that maps a sorted collection + An that maps a sorted collection to the database. @@ -40475,34 +40170,6 @@ association is never dirty - - - A implemented using a collection that maintains - the order in which elements are inserted into it. - - - - - Initializes a new instance of a class. - - The role the persistent collection is in. - - - - - - A implemented using a collection that maintains - the order in which elements are inserted into it. - - - - - Initializes a new instance of a class - - The role the persistent collection is in. - - - PersistentEnumType @@ -40632,40 +40299,6 @@ - - - Extends the to provide sorting. - - - - - Initializes a new instance of a class for - a specific role using the to do the sorting. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - The to use for the sorting. - - - - - Extends the to provide sorting. - - - - - Initializes a new instance of a class for - a specific role using the to do the sorting. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - The to use for the sorting. - - A one-to-one association that maps to specific formula(s) @@ -41574,11 +41207,22 @@ data structures used through out NHibernate. - + - Sets item at position to . - Expands the list by adding values, if needed. + Append all elements in the 'from' list to the 'to' list. + + + + + + Calculate a hash code based on the length and contents of the array. + The algorithm is such that if ArrayHelper.ArrayEquals(a,b) returns true, + then ArrayGetHashCode(a) == ArrayGetHashCode(b). + + + + @@ -41638,6 +41282,7 @@ . + @@ -41799,13 +41444,12 @@ - Set implementation that use == instead of equals() as its comparison mechanism - that base its implementation of IdentityMap + Set implementation that use reference equals instead of Equals() as its comparison mechanism. - Combines multiple objects implementing into one. + Concatenates multiple objects implementing into one. @@ -41814,32 +41458,26 @@ The IEnumerables to join together. - - - - - - - + A flag to indicate if Dispose() has been called. - + Finalizer that ensures the object is correctly disposed of. - + Takes care of freeing the managed and unmanaged resources that this class is responsible for. - + Takes care of freeing the managed and unmanaged resources that this class is responsible for. @@ -41851,9 +41489,6 @@ EnumerableImpl. - - - A map of objects whose mapping entries are sequenced based on the order in which they were @@ -42095,36 +41730,18 @@ Return the full DictionaryEntry - + - Summary description for ObjectUtils. + Various small helper methods. - + - + Return an identifying string representation for the object, taking + NHibernate proxies into account. The returned string will be "null", + "classname@hashcode(hash)", or "entityname#identifier". If the object + is an uninitialized NHibernate proxy, take care not to initialize it. - - - - - - - - - - - - - - - - - - - - - @@ -42383,6 +42000,11 @@ + + + This allows for both CRLF and lone LF line separators. + + @@ -42402,7 +42024,7 @@ - Just a façade for calling string.Split() + Just a faзade for calling string.Split() We don't use our StringTokenizer because string.Split() is more efficient (but it only works when we don't want to retrieve the delimiters) @@ -42559,6 +42181,22 @@ A A + + + Return the index of the next line separator, starting at startIndex. If will match + the first CRLF or LF line separator. If there is no match, -1 will be returned. When + returning, newLineLength will be set to the number of characters in the matched line + separator (1 if LF was found, 2 if CRLF was found). + + + + + Check if the given index points to a line separator in the string. Both CRLF and LF + line separators are handled. When returning, newLineLength will be set to the number + of characters matched in the line separator. It will be 2 if a CRLF matched, 1 if LF + matched, and 0 if the index doesn't indicate (the start of) a line separator. + + A StringTokenizer java like object diff --git a/packages/NHibernate.3.3.3.4001/nhibernate-configuration.xsd b/packages/NHibernate.4.0.4.4000/nhibernate-configuration.xsd similarity index 87% rename from packages/NHibernate.3.3.3.4001/nhibernate-configuration.xsd rename to packages/NHibernate.4.0.4.4000/nhibernate-configuration.xsd index 4703b962d..db96cf37c 100644 --- a/packages/NHibernate.3.3.3.4001/nhibernate-configuration.xsd +++ b/packages/NHibernate.4.0.4.4000/nhibernate-configuration.xsd @@ -11,17 +11,17 @@ - - - There are 3 default short-cut values - - lcg : default for .NET2.0 and higher. - - codedom : CodeDOM-based bytecode provider (mostly for .NET1.1). - - null : Disable the reflection optimization completely. - In addition you can specify the AssemblyQualifiedName of your custom bytecode-provider (implementation of IBytecodeProvider). - Note: the bytecode-provider will be tooks in account only when specified in the app.config or web.config. - - - + + + There are 3 default short-cut values + - lcg : default for .NET2.0 and higher. + - codedom : CodeDOM-based bytecode provider (mostly for .NET1.1). + - null : Disable the reflection optimization completely. + In addition you can specify the AssemblyQualifiedName of your custom bytecode-provider (implementation of IBytecodeProvider). + Note: the bytecode-provider will be effective only when specified in the app.config or web.config. + + + @@ -53,10 +53,10 @@ - There are 3 possible combinations of mapping attributes - 1 - resource & assembly: NHibernate will read the mapping resource from the specified assembly - 2 - file only: NHibernate will read the mapping from the file. - 3 - assembly only: NHibernate will find all the resources ending in hbm.xml from the assembly. + There are 3 possible combinations of mapping attributes + 1 - resource & assembly: NHibernate will read the mapping resource from the specified assembly + 2 - file only: NHibernate will read the mapping from the file. + 3 - assembly only: NHibernate will find all the resources ending in hbm.xml from the assembly. @@ -113,8 +113,10 @@ - - + + + + diff --git a/packages/NHibernate.3.3.3.4001/nhibernate-mapping.xsd b/packages/NHibernate.4.0.4.4000/nhibernate-mapping.xsd similarity index 100% rename from packages/NHibernate.3.3.3.4001/nhibernate-mapping.xsd rename to packages/NHibernate.4.0.4.4000/nhibernate-mapping.xsd