[mapserver-dev] Layer names in OGR connection strings (undocumented feature causing problems)
Daniel Morissette
dmorissette at mapgears.com
Mon Mar 4 16:21:23 PST 2013
Note that since the parsing code uses CSLTokenizeStringComplex(), in the
case of OCI connections (below) and the example from
http://trac.osgeo.org/gdal/ticket/4885 one could likely work around the
issue by enclosing the first part of the connection string inside
quotes, e.g.
CONNECTION
'"OCI:userid/password at database_instance:table,table",ogr_layer_id'
I realize that dealing with string escaping this way is nasty and may
not work for all cases.
I am not sure about the impact of removing support for this way to
specify the ogr layer id which I knew about as well without knowing
whether it was documented or not. It's really hard to tell how many
users have come to rely on it over time and I'd hate to break backwards
compatibility if we can avoid it.
Daniel
On 13-03-04 5:29 PM, Smith, Michael ERDC-CRREL-NH wrote:
> Comma separated table names is also part of the OCI connection
>
> "OCI:userid/password at database_instance:table,table"
>
> http://www.gdal.org/ogr/drv_oci.html
>
> From: Brent Fraser <bfraser at geoanalytic.com
> <mailto:bfraser at geoanalytic.com>>
> Organization: GeoAnalytic Inc.
> Date: Monday, March 4, 2013 5:25 PM
> To: Tamas Szekeres <szekerest at gmail.com <mailto:szekerest at gmail.com>>
> Cc: "mapserver-dev at lists.osgeo.org
> <mailto:mapserver-dev at lists.osgeo.org>" <mapserver-dev at lists.osgeo.org
> <mailto:mapserver-dev at lists.osgeo.org>>
> Subject: Re: [mapserver-dev] Layer names in OGR connection strings
> (undocumented feature causing problems)
> Resent-From: Michael Smith <michael.smith at usace.army.mil
> <mailto:michael.smith at usace.army.mil>>
>
> Tamas,
>
> No doc that I know of. I knew of the technique of adding
> comma-separated table names to connection strings from years ago when I
> was trying to improve the performance of an ODBC connection
> (http://www.gdal.org/ogr/drv_odbc.html). Stating the table names
> relieves the driver from enumerating all the tables (and views etc) in
> the schema. Maybe I had reviewed the source code; I can't recall...
>
> Best Regards,
> Brent Fraser
>
> On 3/4/2013 2:20 PM, Tamas Szekeres wrote:
>> Brent,
>>
>> Could you point me to the documentation where this syntax is
>> mentioned? Is this specific to OGR tile indexes?
>>
>> Best regards,
>>
>> Tamas
>>
>>
>>
>> 2013/3/3 Brent Fraser <bfraser at geoanalytic.com
>> <mailto:bfraser at geoanalytic.com>>
>>
>> Tamas,
>> if I understand correctly you are talking about connection
>> strings like:
>>
>> CONNECTIONTYPE OGR
>> TILEINEX "PG:dbname='PN2010_0911' host='thinkcentre1'
>> port='5432' user='PN2010_0911' password='PN2010_0911',images"
>>
>> note the comma and table name at the end.
>> See
>> http://lists.osgeo.org/pipermail/mapserver-dev/2011-April/011194.html
>>
>>
>> Best Regards,
>> Brent Fraser
>>
>> On 3/3/2013 2:09 PM, Tamas Szekeres wrote:
>>> Hi,
>>>
>>> According to a commit (made 11 years ago) in rev1370
>>> <http://trac.osgeo.org/mapserver/changeset/1370> the OGR
>>> connections strings are being split by the comma separators, see
>>> the following fragment in msOGRFileOpen:
>>>
>>> papszTokens = CSLTokenizeStringComplex( conn_decrypted, ",",
>>> TRUE, FALSE );
>>>
>>> if( CSLCount(papszTokens) > 0 )
>>> pszDSName = CPLStrdup( papszTokens[0] );
>>> if( CSLCount(papszTokens) > 1 )
>>> pszLayerDef = CPLStrdup( papszTokens[1] );
>>>
>>> This behaviour causes issues if the syntax of the connection
>>> string may normally expect commas, like with the issue:
>>> http://trac.osgeo.org/gdal/ticket/4885
>>>
>>>
>>> Does it make sense to split the connection strings this way?
>>>
>>> According to the OGR driver documentation
>>> <http://mapserver.org/en/input/vector/ogr.html> the layer
>>> definitions should go to the DATA section and not to the
>>> CONNECTION section.
>>>
>>> I'd be in favour of removing this fragment from the code but I'm
>>> not sure about all consequences.
>>>
>>>
>>> Best regards,
>>>
>>> Tamas
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> mapserver-dev mailing list
>>> mapserver-dev at lists.osgeo.org <mailto:mapserver-dev at lists.osgeo.org>http://lists.osgeo.org/mailman/listinfo/mapserver-dev
>>
>>
>
>
>
> _______________________________________________
> mapserver-dev mailing list
> mapserver-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-dev
>
--
Daniel Morissette
http://www.mapgears.com/
Provider of Professional MapServer Support since 2000
More information about the mapserver-dev
mailing list