[GRASS-dev] [GRASS GIS] #966: wx attribute table manger fails on wingrass with >188 dbf tables

GRASS GIS trac at osgeo.org
Fri Feb 26 02:22:25 EST 2010


#966: wx attribute table manger fails on wingrass with >188 dbf tables
----------------------+-----------------------------------------------------
 Reporter:  hamish    |       Owner:  grass-dev at lists.osgeo.org
     Type:  defect    |      Status:  new                      
 Priority:  normal    |   Milestone:  6.4.0                    
Component:  wxGUI     |     Version:  svn-releasebranch64      
 Keywords:  wingrass  |    Platform:  MSWindows XP             
      Cpu:  x86-32    |  
----------------------+-----------------------------------------------------
 Hi,

 as reported to the -users ML:
  http://n2.nabble.com/Bug-or-my-fault-td4609390.html

 On latest nightly builds of 6.4.0svn WinGrass if you have a mapset with
 >188 dbf tables you get an error when you try to edit in the attribute
 table gui.


 I can reproduce this on Windows XP (spaces in both $GISBASE and $GISDBASE)
 but not on Linux (no spaces in path names). But I get an error, no
 infinite loop.


  - create a new mapset called eg test255
  - at the msys prompt create a bunch of maps:
 {{{
 for i in `seq 350` ; do
   v.random out=test_$i column=rand_01 zmax=1
 done
 }}}

  - test with `v.db.select test_262`
  - add map to Layer Manager, query it, no problem.
  - right click on map name in layer manager, edit attributes.
  - attribute manager opens
  - right click on an entry, edit it, and click Submit.
  - you get a popup error window:
 {{{
 __Error in command execution db.execute__

 Execution failed: 'db.execute
 input=c:\docume~1\hamish\locals~1\temp\tmprnzmdi driver=dbf
 database=C:\Documents and
 Settings\Hamish\grassdata/spearfish60/user255/dbf/'

 Details:
 Error:

 [Ok]
 }}}

 and in the layer manager Output tab:
 {{{
 Traceback ...
   File "c:\Program
 Files\GRASS-64-SVN\etc\wxpython\gui_modules\dbm.py", line
 1425, in OnDataItemEdit

 self.ApplyCommands()
   File "...\dbm.py", line 1783, in ApplyCommands

 gcmd.Command(cmd)
   File "...\gcmd.py", line 356, in __init__

 _("Error: ") + self.GetError()))
 gui_modules.gcmd
 .
 CmdError
 }}}



 If I run db.execute directly from the msys prompt it works ok:
 {{{
 echo "UPDATE test_285 SET rand_01=0.999 WHERE cat=12" | db.execute
 v.db.select test_285
 }}}



 Hamish

-- 
Ticket URL: <https://trac.osgeo.org/grass/ticket/966>
GRASS GIS <http://grass.osgeo.org>


More information about the grass-dev mailing list