mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Used sqlite3.Connection.load_extension() instead of query execution for SpatiaLite loading.
This commit is contained in:
		
				
					committed by
					
						 Tim Graham
						Tim Graham
					
				
			
			
				
	
			
			
			
						parent
						
							0dbcd0e87f
						
					
				
				
					commit
					f36e5d68d9
				
			| @@ -3,7 +3,7 @@ from ctypes.util import find_library | ||||
| from django.conf import settings | ||||
| from django.core.exceptions import ImproperlyConfigured | ||||
| from django.db.backends.sqlite3.base import ( | ||||
|     DatabaseWrapper as SQLiteDatabaseWrapper, SQLiteCursorWrapper, | ||||
|     DatabaseWrapper as SQLiteDatabaseWrapper, | ||||
| ) | ||||
|  | ||||
| from .client import SpatiaLiteClient | ||||
| @@ -46,16 +46,13 @@ class DatabaseWrapper(SQLiteDatabaseWrapper): | ||||
|                 'SpatiaLite requires SQLite to be configured to allow ' | ||||
|                 'extension loading.' | ||||
|             ) | ||||
|         # Loading the SpatiaLite library extension on the connection, and returning | ||||
|         # the created cursor. | ||||
|         cur = conn.cursor(factory=SQLiteCursorWrapper) | ||||
|         # Load the SpatiaLite library extension on the connection. | ||||
|         try: | ||||
|             cur.execute("SELECT load_extension(%s)", (self.spatialite_lib,)) | ||||
|             conn.load_extension(self.spatialite_lib) | ||||
|         except Exception as exc: | ||||
|             raise ImproperlyConfigured( | ||||
|                 'Unable to load the SpatiaLite library extension "%s"' % self.spatialite_lib | ||||
|             ) from exc | ||||
|         cur.close() | ||||
|         return conn | ||||
|  | ||||
|     def prepare_database(self): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user