@@ -50,7 +50,6 @@ def __init__(self, uri):
50
50
51
51
self ._checkSpatial ()
52
52
self ._checkRaster ()
53
- self ._checkGeopackage ()
54
53
55
54
def _connectionInfo (self ):
56
55
return unicode (self .dbname )
@@ -87,11 +86,6 @@ def _checkRaster(self):
87
86
self .has_raster = self ._checkRasterTables ()
88
87
return self .has_raster
89
88
90
- def _checkGeopackage (self ):
91
- """ check if it's a geopackage db """
92
- self .is_gpkg = self ._checkGeopackageTables ()
93
- return self .is_gpkg
94
-
95
89
def _checkGeometryColumnsTable (self ):
96
90
try :
97
91
c = self ._get_cursor ()
@@ -113,36 +107,6 @@ def _checkRasterTables(self):
113
107
ret = c .fetchone ()
114
108
return ret and ret [0 ]
115
109
116
- def _checkGeopackageTables (self ):
117
- try :
118
- sql = u"SELECT HasGeoPackage()"
119
- result = self ._execute (None , sql ).fetchone ()[0 ] == 1
120
- except ConnectionError :
121
- result = False
122
- except Exception :
123
- # SpatiaLite < 4.2 does not have HasGeoPackage() function
124
- result = False
125
-
126
- if result :
127
- try :
128
- sql = u"SELECT CheckGeoPackageMetaData()"
129
- result = self ._execute (None , sql ).fetchone ()[0 ] == 1
130
- except ConnectionError :
131
- result = False
132
- else :
133
- # Spatialite < 4.2 has no GeoPackage support, check for filename and GPKG layout
134
- ver = map (int , self .getInfo ()[0 ].split ('.' )[0 :2 ])
135
- if ver [0 ] < 4 or (ver [0 ] == 4 and ver [1 ] < 2 ):
136
- hasGpkgFileExt = self .dbname [- 5 :] == ".gpkg" or self .dbname [- 11 :] == ".geopackage"
137
-
138
- sql = u"SELECT count(*) = 3 FROM sqlite_master WHERE name IN ('gpkg_geometry_columns', 'gpkg_spatial_ref_sys', 'gpkg_contents')"
139
- ret = self ._execute (None , sql ).fetchone ()
140
- hasGpkgLayout = ret and ret [0 ]
141
-
142
- result = hasGpkgFileExt and hasGpkgLayout
143
-
144
- return result
145
-
146
110
def getInfo (self ):
147
111
c = self ._get_cursor ()
148
112
self ._execute (c , u"SELECT sqlite_version()" )
@@ -154,7 +118,7 @@ def getSpatialInfo(self):
154
118
- geos version
155
119
- proj version
156
120
"""
157
- if not self .has_spatial and not self . is_gpkg :
121
+ if not self .has_spatial :
158
122
return
159
123
160
124
c = self ._get_cursor ()
@@ -182,9 +146,6 @@ def hasTableColumnEditingSupport(self):
182
146
def hasCreateSpatialViewSupport (self ):
183
147
return True
184
148
185
- def isGpkg (self ):
186
- return self .is_gpkg
187
-
188
149
def fieldTypes (self ):
189
150
return [
190
151
"integer" , "bigint" , "smallint" , # integers
@@ -302,14 +263,6 @@ def getVectorTables(self, schema=None):
302
263
WHERE m.type in ('table', 'view')
303
264
ORDER BY m.name, g.f_geometry_column""" % cols
304
265
305
- elif self .is_gpkg :
306
- # get info from gpkg_geometry_columns table
307
- dim = " 'XY' || CASE z WHEN 1 THEN 'Z' END || CASE m WHEN 1 THEN 'M' END AS coord_dimension "
308
- sql = u"""SELECT m.name, m.type = 'view', g.table_name, g.column_name, g.geometry_type_name AS gtype, %s, g.srs_id
309
- FROM sqlite_master AS m JOIN gpkg_geometry_columns AS g ON upper(m.name) = upper(g.table_name)
310
- WHERE m.type in ('table', 'view')
311
- ORDER BY m.name, g.column_name""" % dim
312
-
313
266
else :
314
267
return []
315
268
@@ -335,8 +288,6 @@ def getRasterTables(self, schema=None):
335
288
srid
336
289
"""
337
290
338
- if self .is_gpkg :
339
- return [] # Not implemented
340
291
if not self .has_geometry_columns :
341
292
return []
342
293
if not self .has_raster :
@@ -442,10 +393,7 @@ def getViewDefinition(self, view):
442
393
return ret [0 ] if ret is not None else None
443
394
444
395
def getSpatialRefInfo (self , srid ):
445
- if self .is_gpkg :
446
- sql = u"SELECT srs_name FROM gpkg_spatial_ref_sys WHERE srs_id = %s" % self .quoteString (srid )
447
- else :
448
- sql = u"SELECT ref_sys_name FROM spatial_ref_sys WHERE srid = %s" % self .quoteString (srid )
396
+ sql = u"SELECT ref_sys_name FROM spatial_ref_sys WHERE srid = %s" % self .quoteString (srid )
449
397
c = self ._execute (None , sql )
450
398
ret = c .fetchone ()
451
399
return ret [0 ] if ret is not None else None
@@ -498,8 +446,6 @@ def deleteTable(self, table):
498
446
""" delete table from the database """
499
447
if self .isRasterTable (table ):
500
448
return False
501
- if self .is_gpkg :
502
- return False # Not implemented
503
449
504
450
c = self ._get_cursor ()
505
451
sql = u"DROP TABLE %s" % self .quoteId (table )
@@ -513,8 +459,6 @@ def emptyTable(self, table):
513
459
""" delete all rows from table """
514
460
if self .isRasterTable (table ):
515
461
return False
516
- if self .is_gpkg :
517
- return False # Not implemented
518
462
519
463
sql = u"DELETE FROM %s" % self .quoteId (table )
520
464
self ._execute_and_commit (sql )
@@ -527,8 +471,6 @@ def renameTable(self, table, new_table):
527
471
528
472
if self .isRasterTable (table ):
529
473
return False
530
- if self .is_gpkg :
531
- return False # Not implemented
532
474
533
475
c = self ._get_cursor ()
534
476
@@ -568,8 +510,6 @@ def renameView(self, view, new_name):
568
510
return self .renameTable (view , new_name )
569
511
570
512
def createSpatialView (self , view , query ):
571
- if self .is_gpkg :
572
- return False # Not implemented
573
513
574
514
self .createView (view , query )
575
515
# get type info about the view
@@ -649,8 +589,6 @@ def setColumnNull(self, table, column, is_null):
649
589
return False # column editing not supported
650
590
651
591
def isGeometryColumn (self , table , column ):
652
- if self .is_gpkg :
653
- return False # Not implemented
654
592
655
593
c = self ._get_cursor ()
656
594
schema , tablename = self .getSchemaTableName (table )
@@ -660,8 +598,6 @@ def isGeometryColumn(self, table, column):
660
598
return c .fetchone ()[0 ] == 't'
661
599
662
600
def addGeometryColumn (self , table , geom_column = 'geometry' , geom_type = 'POINT' , srid = - 1 , dim = 2 ):
663
- if self .is_gpkg :
664
- return False # Not implemented
665
601
666
602
schema , tablename = self .getSchemaTableName (table )
667
603
sql = u"SELECT AddGeometryColumn(%s, %s, %d, %s, %s)" % (
@@ -699,8 +635,6 @@ def deleteTableIndex(self, table, name):
699
635
def createSpatialIndex (self , table , geom_column = 'geometry' ):
700
636
if self .isRasterTable (table ):
701
637
return False
702
- if self .is_gpkg :
703
- return False # Not implemented
704
638
705
639
schema , tablename = self .getSchemaTableName (table )
706
640
sql = u"SELECT CreateSpatialIndex(%s, %s)" % (self .quoteString (tablename ), self .quoteString (geom_column ))
@@ -709,8 +643,6 @@ def createSpatialIndex(self, table, geom_column='geometry'):
709
643
def deleteSpatialIndex (self , table , geom_column = 'geometry' ):
710
644
if self .isRasterTable (table ):
711
645
return False
712
- if self .is_gpkg :
713
- return False # Not implemented
714
646
715
647
schema , tablename = self .getSchemaTableName (table )
716
648
try :
@@ -724,8 +656,6 @@ def deleteSpatialIndex(self, table, geom_column='geometry'):
724
656
self .deleteTable (idx_table_name )
725
657
726
658
def hasSpatialIndex (self , table , geom_column = 'geometry' ):
727
- if self .is_gpkg :
728
- return False # Not implemented
729
659
if not self .has_geometry_columns or self .isRasterTable (table ):
730
660
return False
731
661
c = self ._get_cursor ()
0 commit comments