[GRASS-dev] [GRASS GIS] #136: sqlite: confusing error message

GRASS GIS trac at osgeo.org
Tue Apr 22 17:43:06 EDT 2008


#136: sqlite: confusing error message
---------------------+------------------------------------------------------
 Reporter:  neteler  |       Owner:  grass-dev at lists.osgeo.org
     Type:  defect   |      Status:  new                      
 Priority:  major    |   Milestone:  6.4.0                    
Component:  default  |     Version:  svn-trunk                
 Keywords:  sqlite   |  
---------------------+------------------------------------------------------
 I tried to import

 {{{
 cat tin.asc
 cat,x,y,z
 1,0,0,0
 1,0,10,1
 1,0,20,2
 2,10,0,1
 2,10,10,3
 2,10,20,4
 3,20,0,1
 3,20,10,4
 3,20,20,5
 }}}

 Import:

 {{{
 v.in.ascii -z tin.asc out=tinpoints z=3 fs=comma skip=1 cat=1 --o
 Scanning input for column types...
 Maximum input row length: 10
 Maximum number of columns: 4
 Minimum number of columns: 4
 Importing points...
 DBMI-SQLite driver error:
 Error in sqlite3_step():
 SQL logic error or missing database

 ERROR: Unable to insert new record: insert into tinpoints values ( 1, 0,
       10, 1)
 }}}

 but this is the wrong (confusing) error:

 Trying the same on console:

 {{{
 sqlite3 ddd.sb
 SQLite version 3.4.2
 Enter ".help" for instructions
 sqlite> create table tinpoints ( int_1 integer, int_2 integer, int_3
 integer, int_4 integer );
 sqlite> create unique index tinpoints_int_1 on tinpoints ( int_1 );
 sqlite> insert into tinpoints values ( 1, 0, 0, 0);
 sqlite> insert into tinpoints values ( 1, 0, 10, 1);
 SQL error: column int_1 is not unique
 sqlite>
 }}}

 That's the right error.... would like to see that message in GRASS, too.
 The code is in
 db/drivers/sqlite/execute.c line 47

 strange that it isn't identical...

-- 
Ticket URL: <http://trac.osgeo.org/grass/ticket/136>
GRASS GIS <http://grass.osgeo.org>
GRASS Geographic Information System (GRASS GIS) - http://grass.osgeo.org/


More information about the grass-dev mailing list