[GRASS-user] v.external on a spatialite layer

Hi,

Here is a grass6.4 (fresh build) related issue :

in order to put some spatialite data within a project, I used the
command v.external, which ran fine. When I try to show attribute table I
get the following error message :

        Traceback (most recent call last):
          File
        "/usr/local/grass-6.4.6svn/etc/wxpython/lmgr/frame.py", line
        1426, in OnShowAttributeTable
        
        selection = selection)
          File
        "/usr/local/grass-6.4.6svn/etc/wxpython/dbmgr/manager.py",
        line 648, in __init__
        
        self._createBrowsePage()
          File
        "/usr/local/grass-6.4.6svn/etc/wxpython/dbmgr/manager.py",
        line 695, in _createBrowsePage
        
        self.mapDBInfo, layer)
          File
        "/usr/local/grass-6.4.6svn/etc/wxpython/dbmgr/manager.py",
        line 93, in __init__

        keyColumn = self.LoadData(layer)
          File
        "/usr/local/grass-6.4.6svn/etc/wxpython/dbmgr/manager.py",
        line 253, in LoadData
        
        self.AddDataRow(i, record, columns, keyId)
          File
        "/usr/local/grass-6.4.6svn/etc/wxpython/dbmgr/manager.py",
        line 292, in AddDataRow
        
        if self.columns[columns[j]]['ctype'] != types.StringType:
        IndexError
        :
        list index out of range
        
Source data seems to be clean however. I cannot reproduce this error
within grass7.1

Has anyone any idea ?

---
Attached is a sample of the original data, if you want to try it out,
SRC is EPSG:2154

(attachments)

communes_38005osm.sqlite (10 KB)

On Thu, Nov 5, 2015 at 9:42 AM, Vincent Bain <bain@toraval.fr> wrote:

Hi,

Here is a grass6.4 (fresh build) related issue :

in order to put some spatialite data within a project, I used the
command v.external, which ran fine. When I try to show attribute table I
get the following error message :

        Traceback (most recent call last):
          File
        "/usr/local/grass-6.4.6svn/etc/wxpython/lmgr/frame.py", line
        1426, in OnShowAttributeTable

...

        self.AddDataRow(i, record, columns, keyId)
          File
        "/usr/local/grass-6.4.6svn/etc/wxpython/dbmgr/manager.py",
        line 292, in AddDataRow

        if self.columns[columns[j]]['ctype'] != types.StringType:
        IndexError
        :
        list index out of range

Source data seems to be clean however.

I have tried with your attached dataset, same error here.

I cannot reproduce this error within grass7.1

Has anyone any idea ?

I compared
meld grass71/gui/wxpython/dbmgr/base.py grass64/gui/wxpython/dbmgr/manager.py

but could not identify any obvious change which would fix the code
(but I am not quite familiar with the wxGUI internals).

For production I recommend 7.0.x.

Markus

Le samedi 07 novembre 2015 à 21:18 +0100, Markus Neteler a écrit :

I compared
meld grass71/gui/wxpython/dbmgr/base.py grass64/gui/wxpython/dbmgr/manager.py

but could not identify any obvious change which would fix the code
(but I am not quite familiar with the wxGUI internals).

For production I recommend 7.0.x.

Ok, thanks for your support, yet another argument to definitely
upgrade :wink: