From: <pa...@us...> - 2011-03-27 17:34:32
|
Revision: 5553 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5553&view=rev Author: patearl Date: 2011-03-27 17:34:26 +0000 (Sun, 27 Mar 2011) Log Message: ----------- PostgreSQL: Added support for database GUID generation. Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Dialect/PostgreSQLDialect.cs trunk/nhibernate/src/NHibernate.TestDatabaseSetup/TestDatabaseSetup.cs Modified: trunk/nhibernate/src/NHibernate/Dialect/PostgreSQLDialect.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Dialect/PostgreSQLDialect.cs 2011-03-27 16:59:07 UTC (rev 5552) +++ trunk/nhibernate/src/NHibernate/Dialect/PostgreSQLDialect.cs 2011-03-27 17:34:26 UTC (rev 5553) @@ -211,5 +211,10 @@ { return value ? "TRUE" : "FALSE"; } + + public override string SelectGUIDString + { + get { return "select uuid_generate_v4()"; } + } } } Modified: trunk/nhibernate/src/NHibernate.TestDatabaseSetup/TestDatabaseSetup.cs =================================================================== --- trunk/nhibernate/src/NHibernate.TestDatabaseSetup/TestDatabaseSetup.cs 2011-03-27 16:59:07 UTC (rev 5552) +++ trunk/nhibernate/src/NHibernate.TestDatabaseSetup/TestDatabaseSetup.cs 2011-03-27 17:34:26 UTC (rev 5553) @@ -103,6 +103,23 @@ cmd.ExecuteNonQuery(); } } + + // Install the GUID generator function that uses the most common "random" algorithm. + using (var conn = new NpgsqlConnection(connStr)) + { + conn.Open(); + + using (var cmd = conn.CreateCommand()) + { + cmd.CommandText = + @"CREATE OR REPLACE FUNCTION uuid_generate_v4() + RETURNS uuid + AS '$libdir/uuid-ossp', 'uuid_generate_v4' + VOLATILE STRICT LANGUAGE C;"; + + cmd.ExecuteNonQuery(); + } + } } private static void SetupSQLite(Cfg.Configuration cfg) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |