@@ -79,7 +79,7 @@ def _checkRaster(self):
7979 return self .has_raster
8080
8181 def _checkGeometryColumnsTable (self ):
82- c = self ._execute (None , u"SELECT relkind = 'v' FROM pg_class WHERE relname = 'geometry_columns' AND relkind IN ('v', 'r')" )
82+ c = self ._execute (None , u"SELECT relkind = 'v' OR relkind = 'm' FROM pg_class WHERE relname = 'geometry_columns' AND relkind IN ('v', 'r', 'm ')" )
8383 res = self ._fetchone (c )
8484 self ._close_cursor (c )
8585 self .has_geometry_columns = (res != None and len (res ) != 0 )
@@ -94,7 +94,7 @@ def _checkGeometryColumnsTable(self):
9494 return self .has_geometry_columns
9595
9696 def _checkRasterColumnsTable (self ):
97- c = self ._execute (None , u"SELECT relkind = 'v' FROM pg_class WHERE relname = 'raster_columns' AND relkind IN ('v', 'r')" )
97+ c = self ._execute (None , u"SELECT relkind = 'v' OR relkind = 'm' FROM pg_class WHERE relname = 'raster_columns' AND relkind IN ('v', 'r', 'm ')" )
9898 res = self ._fetchone (c )
9999 self ._close_cursor (c )
100100 self .has_raster_columns = (res != None and len (res ) != 0 )
@@ -238,12 +238,12 @@ def getTables(self, schema=None):
238238
239239 # get all tables and views
240240 sql = u"""SELECT
241- cla.relname, nsp.nspname, cla.relkind = 'v',
241+ cla.relname, nsp.nspname, cla.relkind = 'v' OR cla.relkind = 'm' ,
242242 pg_get_userbyid(relowner), reltuples, relpages,
243243 pg_catalog.obj_description(cla.oid)
244244 FROM pg_class AS cla
245245 JOIN pg_namespace AS nsp ON nsp.oid = cla.relnamespace
246- WHERE cla.relkind IN ('v', 'r') """ + schema_where + """
246+ WHERE cla.relkind IN ('v', 'r', 'm' ) """ + schema_where + """
247247 ORDER BY nsp.nspname, cla.relname"""
248248
249249 c = self ._execute (None , sql )
@@ -296,7 +296,7 @@ def getVectorTables(self, schema=None):
296296
297297 # discovery of all tables and whether they contain a geometry column
298298 sql = u"""SELECT
299- cla.relname, nsp.nspname, cla.relkind = 'v',
299+ cla.relname, nsp.nspname, cla.relkind = 'v' OR cla.relkind = 'm' ,
300300 pg_get_userbyid(relowner), cla.reltuples, cla.relpages,
301301 pg_catalog.obj_description(cla.oid),
302302 """ + geometry_fields_select + """
@@ -312,7 +312,7 @@ def getVectorTables(self, schema=None):
312312
313313 """ + geometry_column_from + """
314314
315- WHERE cla.relkind IN ('v', 'r') """ + schema_where + """
315+ WHERE cla.relkind IN ('v', 'r', 'm' ) """ + schema_where + """
316316 ORDER BY nsp.nspname, cla.relname, att.attname"""
317317
318318 items = []
@@ -369,7 +369,7 @@ def getRasterTables(self, schema=None):
369369
370370 # discovery of all tables and whether they contain a raster column
371371 sql = u"""SELECT
372- cla.relname, nsp.nspname, cla.relkind = 'v',
372+ cla.relname, nsp.nspname, cla.relkind = 'v' OR cla.relkind = 'm' ,
373373 pg_get_userbyid(relowner), cla.reltuples, cla.relpages,
374374 pg_catalog.obj_description(cla.oid),
375375 """ + raster_fields_select + """
@@ -385,7 +385,7 @@ def getRasterTables(self, schema=None):
385385
386386 """ + raster_column_from + """
387387
388- WHERE cla.relkind IN ('v', 'r') """ + schema_where + """
388+ WHERE cla.relkind IN ('v', 'r', 'm' ) """ + schema_where + """
389389 ORDER BY nsp.nspname, cla.relname, att.attname"""
390390
391391 items = []
@@ -559,7 +559,7 @@ def getViewDefinition(self, view):
559559
560560 sql = u"""SELECT pg_get_viewdef(c.oid) FROM pg_class c
561561 JOIN pg_namespace nsp ON c.relnamespace = nsp.oid
562- WHERE relname=%s %s AND relkind='v' """ % (self .quoteString (tablename ), schema_where )
562+ WHERE relname=%s %s AND ( relkind='v' OR relkind='m') """ % (self .quoteString (tablename ), schema_where )
563563
564564 c = self ._execute (None , sql )
565565 res = self ._fetchone (c )
@@ -937,7 +937,7 @@ def getSqlDictionary(self):
937937 # get schemas, tables and field names
938938 items = []
939939 sql = u"""SELECT nspname FROM pg_namespace WHERE nspname !~ '^pg_' AND nspname != 'information_schema'
940- UNION SELECT relname FROM pg_class WHERE relkind IN ('v', 'r')
940+ UNION SELECT relname FROM pg_class WHERE relkind IN ('v', 'r', 'm' )
941941UNION SELECT attname FROM pg_attribute WHERE attnum > 0"""
942942 c = self ._execute (None , sql )
943943 for row in self ._fetchall (c ):
0 commit comments