commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnue] r8263 - trunk/gnue-common/src/datasources/drivers/sql/sqlite3


From: johannes
Subject: [gnue] r8263 - trunk/gnue-common/src/datasources/drivers/sql/sqlite3
Date: Mon, 3 Apr 2006 18:21:06 -0500 (CDT)

Author: johannes
Date: 2006-03-27 01:52:30 -0600 (Mon, 27 Mar 2006)
New Revision: 8263

Modified:
   trunk/gnue-common/src/datasources/drivers/sql/sqlite3/pysqlite2drv.py
Log:
Use a default-collation function based on the current locale (for 
pysqlite2 2.2+)


Modified: trunk/gnue-common/src/datasources/drivers/sql/sqlite3/pysqlite2drv.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/sql/sqlite3/pysqlite2drv.py       
2006-03-27 07:51:55 UTC (rev 8262)
+++ trunk/gnue-common/src/datasources/drivers/sql/sqlite3/pysqlite2drv.py       
2006-03-27 07:52:30 UTC (rev 8263)
@@ -28,6 +28,7 @@
 __all__ = ['Connection']
 
 import datetime
+import locale
 
 from gnue.common.datasources.drivers import DBSIG2
 from gnue.common.datasources.drivers.sql.sqlite3 import Behavior
@@ -154,13 +155,31 @@
 
     return ([], kwargs)
 
+  # ---------------------------------------------------------------------------
 
+  def _connect_ (self, connectData):
+
+    DBSIG2.Connection._connect_ (self, connectData)
+
+    # With pysqlite2 version 2.2+ we could override the default collation
+    # function to use the current locales' one
+    if hasattr (self._native, 'create_collation'):
+      self._native.create_collation ('BINARY', collateByLocale)
+
+
+
 # =============================================================================
 # The following functions should go into pysqlite2.dbapi2 !
 # =============================================================================
 
 # -----------------------------------------------------------------------------
 
+def collateByLocale (value1, value2):
+
+  return locale.strcoll (value1, value2)
+
+# -----------------------------------------------------------------------------
+
 def convert_time (value):
 
   # Be nice to datetime values passed in and take only the timepart





reply via email to

[Prev in Thread] Current Thread [Next in Thread]