[GRASS5] 5.1: map/table name restrictions due to SQL

Glynn Clements glynn.clements at virgin.net
Mon Feb 17 15:12:15 EST 2003

Markus Neteler wrote:

> concerning 5.1 I were glad to receive some recommendations
> to following problem. GRASS 5.1 is using SQL internally
> which is rather restricted with table names
> Supported table name characters are:
> [A-Za-z][A-Za-z0-9_]*
> means:
>  - must start with character
>  - dots etc. are forbidden
> While the map names due to G_legal_filename() are quite
> flexible, the following must fail (note the dot in the out name):
> v.extract wdbtemp4 output=wdbtemp4.areas type=area list=1-10000

> Question is if we want to restrict the map names completely for
> GRASS to the SQL rules or find a better workaround...

It depends upon how SQL is being used. If the tables are only
temporary, then the table names don't need to correpond to the map
names; e.g. they could be dynamically generated.

If they are persistent, it would be better if they were at least
similar to the map name. However, I would suggest trying to find an
alternative to restricting map names; the use of dots (and possibly
other characters) in map names is well established.

Possible alternatives would include:

a) storing the table name(s) in a file associated with the map (i.e. 
as a map component), or

b) an SQL table which contains the mapping between table names and map

Glynn Clements <glynn.clements at virgin.net>

More information about the grass-dev mailing list