|
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.
|