[GRASS-SVN] r36729 - in grass/trunk/db: . drivers/dbf drivers/sqlite
svn_grass at osgeo.org
svn_grass at osgeo.org
Tue Apr 14 15:24:30 EDT 2009
Author: neteler
Date: 2009-04-14 15:24:30 -0400 (Tue, 14 Apr 2009)
New Revision: 36729
Modified:
grass/trunk/db/databaseintro.html
grass/trunk/db/drivers/dbf/grass-dbf.html
grass/trunk/db/drivers/sqlite/grass-sqlite.html
Log:
better explain what the DBF driver isn't doing; explain table migration; cosmetics
Modified: grass/trunk/db/databaseintro.html
===================================================================
--- grass/trunk/db/databaseintro.html 2009-04-14 11:42:09 UTC (rev 36728)
+++ grass/trunk/db/databaseintro.html 2009-04-14 19:24:30 UTC (rev 36729)
@@ -88,9 +88,7 @@
To drop a column from a selected attribute table, use <a href="db.dropcol.html">db.dropcol</a>.
With <a href="db.droptable.html">db.droptable</a> an attribute table can be deleted.
-
<h3>Database Schema</h3>
-
Currently schema support only works for PostgreSQL connections. Default schema
can be set with <a href="db.connect.html">db.connect</a>. Note that the default
schema will be used by all db.* modules.
@@ -98,7 +96,15 @@
<a href="db.tables.html">db.tables</a> returns 'schema.table' if schemas are
available in the database.
+<h3>Migrating to a different database engine</h3>
+To migrate a GRASS database table (or a GRASS vector map) to a different DBMI engine,
+the best solution is to create a new MAPSET, define the DBMI settings accordingly
+with <a href="db.connect.html">db.connect</a> and if needed, <a href="db.login.html">db.login</a>.
+Then the table of interest can be copied over with <a href="db.copy.html">db.copy</a> from
+the original MAPSET. Likewise, a vector map including its table(s) are copied from
+the original MAPSET to the current MAPSET with <a href="g.copy.html">g.copy</a>.
+
<h3>See also</h3>
<ul>
Modified: grass/trunk/db/drivers/dbf/grass-dbf.html
===================================================================
--- grass/trunk/db/drivers/dbf/grass-dbf.html 2009-04-14 11:42:09 UTC (rev 36728)
+++ grass/trunk/db/drivers/dbf/grass-dbf.html 2009-04-14 19:24:30 UTC (rev 36729)
@@ -12,7 +12,7 @@
<h1>DBF driver in GRASS</h1>
-<H2>Defining the DBF driver</H2>
+<h2>Defining the DBF driver</h2>
The DBF driver is the default driver, in theory no user interaction is
required. However, if the settings should be set back from a different
@@ -26,8 +26,9 @@
The dbf/ subdirectory in the mapset must exist or must be created by the user.
-<H2>Creating a DBF table</H2>
+<h2>Creating a DBF table</h2>
+
Usually DBF tables are created by GRASS when generating a vector map
with attributes (and using DBF as default attribute driver).
<p>
@@ -36,7 +37,9 @@
is sometimes useful as well as <a href="db.in.ogr.html">db.in.ogr</a> to import external
tables.
-<H2>Supported SQL commands by DBF driver</H2>
+
+<h2>Supported SQL commands by DBF driver</h2>
+
<div class="code"><pre>
ALTER TABLE table ADD [COLUMN] columndef
ALTER TABLE table DROP COLUMN colname
@@ -53,7 +56,9 @@
UPDATE table SET assignment1[,assignment2,...] WHERE condition
</pre></div>
-<H2>Operators available in conditions</H2>
+
+<h2>Operators available in conditions</h2>
+
<div class="code"><pre>
"=" : equal
"<" : smaller than
@@ -65,30 +70,57 @@
"%" : Substring matching (limited functionality)
</pre></div>
-<p> Arithmetic expressions using constants and field values are allowed
-in condition clauses and in the RHS of assignments.
+<p>
+Arithmetic expressions using constants and field values are allowed
+in condition clauses and in the RHS of assignments.
+<br>
Usual precedence rules and bracketing (using '(' and ')') are supported.
-Type conversion is performed if necessary (experimental). </p>
+<br>
+Type conversion is performed if necessary (experimental).
-<p> Aggregate functions (sum, count, min, max,...) are NOT currently supported
- in SELECT clauses. </p>
+<p>
+Conditions allow boolean expressions using the AND, OR and NOT operators,
+with the usual precedence rules.
-<p> Mathematic functions (sin, cos, exp, log,...) are NOT currently supported
- in expressions. </p>
+<p>
+NULLs can be tested by 'colname IS NULL' in conditions. The negation is
+'colname NOT NULL'.
-<p> Conditions allow boolean expressions using the AND, OR and NOT operators,
- with the usual precedence rules. </p>
+<p>
+Sorting: Empty fields in a character column are sorted to the end.
-<p> NULLs can be tested by 'colname IS NULL' in conditions. The negation is 'colname NOT NULL'.</p>
-<p> Sorting: Empty fields in a character column are sorted to the end.</p>
+<h2>LIMITATIONS OF THE DBF DRIVER</h2>
+The DBF driver supports only a <b>few SQL statements</b> since the DBF tables are
+intended for simple table storage. DBF column names are limited to 10 characters
+(as defined in the DBF specifications). For example,
+
+<ul>
+<li> aggregate functions (sum, count, min, max,...) are <b>not</b> supported
+in SELECT clauses;</li>
+<li> mathematic functions (sin, cos, exp, log,...) are <b>not</b> supported
+in expressions;</li>
+<li> SQL query with IN are <b>not</b> supported.</li>
+</ul>
+
<h2>ERROR MESSAGES</h2>
An error message such as:
<div class="code"><pre>
DBMI-DBF driver error:
+SQL parser error: syntax error, unexpected NAME processing 'IN'..
+</pre></div>
+indicates that an unsupported SQL statement (here, 'IN') was used. The only
+solution is to switch the DBMI backend to a real SQL engine (SQLite,
+PostgreSQL, MySQL etc.). See <a HREF="sql.html">SQL support in GRASS GIS</a>.
+
+<p>
+An error message such as:
+
+<div class="code"><pre>
+DBMI-DBF driver error:
SQL parser error: syntax error, unexpected DESC, expecting NAME processing 'DESC'
</pre></div>
Modified: grass/trunk/db/drivers/sqlite/grass-sqlite.html
===================================================================
--- grass/trunk/db/drivers/sqlite/grass-sqlite.html 2009-04-14 11:42:09 UTC (rev 36728)
+++ grass/trunk/db/drivers/sqlite/grass-sqlite.html 2009-04-14 19:24:30 UTC (rev 36729)
@@ -35,7 +35,8 @@
All SQL commands supported by SQLite (for limitations, see
SQLite help page:
-<a href="http://www.sqlite.org/lang_expr.html">SQL As Understood By SQLite</a>).
+<a href="http://www.sqlite.org/lang.html">SQL As Understood By SQLite</a> and
+<a href="http://www.sqlite.org/omitted.html">Unsupported SQL</a>).
<H2>Operators available in conditions</H2>
@@ -56,6 +57,7 @@
</pre></div>
<!-- doesnt work yet, why?:
+ ah, pending patch: http://www.sqlite.org/cvstrac/tktview?tn=1476
<H2>Adding an unique ID column</H2>
More information about the grass-commit
mailing list