[GRASS-dev] [GRASS GIS] #1440: v.in.ogr's where clause cannot handle uppercase column names for Postgres

GRASS GIS trac at osgeo.org
Sun Sep 4 23:56:11 EDT 2011


#1440: v.in.ogr's where clause cannot handle uppercase column names for Postgres
------------------------+---------------------------------------------------
 Reporter:  arencambre  |       Owner:  grass-dev@…              
     Type:  defect      |      Status:  new                      
 Priority:  major       |   Milestone:                           
Component:  Vector      |     Version:  unspecified              
 Keywords:              |    Platform:  MSWindows 7              
      Cpu:  x86-64      |  
------------------------+---------------------------------------------------
 In Postgres, if a column name has upper case characters, it must be
 surrounded by quote marks in SQL queries. If the column name is not
 surrounded by quote marks, it is interpreted as lower case.

 For example, if Postgres sees '''SELECT * FROM x WHERE AAaa = 'hi'''', it
 looks for column '''aaaa''', which is not the same as '''AAaa'''. If you
 want to match '''AAaa''', you have to use '''SELECT * FROM x WHERE "AAaa"
 = 'hi''''.

 There appears to be no variant of escaping that works correctly with this
 with '''v.in.ogr''''s '''where''' parameter. For example, I have a column
 named '''Cnty_ID'''. I've tried all these variants of the '''where'''
 clause with no luck:
  * '''"where="Cnty_ID" = '57'"''' -- translates to '''Cnty_Id = '57''''.
  * '''"where=\"Cnty_ID\" = '57'"''' -- translates to '''\Cnty_ID\ =
 '57''''.
  * '''where=""Cnty_ID" = '57'"''' -- translates to '''Cnty_Id = '57''''.
  * '''where="""Cnty_ID"" = '57'"''' -- translates to '''Cnty_Id = '57''''.

 The only documentation I could find on escaping in commands is at
 http://grass.osgeo.org/gdp/html_grass64/wxGUI.html.

 This is happening on 6.4.1. (That option not available in the
 '''Version''' dropdown.)

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



More information about the grass-dev mailing list