[GRASS-dev] tgis.db

Hi,

TGIS creates by default the DB in

$GISDBASE/$LOCATION_NAME/$MAPSET/tgis.db

probably better would be

$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/tgis.db

Martin

--
Martin Landa <landa.martin gmail.com> * http://geo.fsv.cvut.cz/~landa

Hi Martin,
why would it be better to put this single file in a separate directory?

Best regards
Soeren

2012/12/7 Martin Landa <landa.martin@gmail.com>:

Hi,

TGIS creates by default the DB in

$GISDBASE/$LOCATION_NAME/$MAPSET/tgis.db

probably better would be

$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/tgis.db

Martin

--
Martin Landa <landa.martin gmail.com> * http://geo.fsv.cvut.cz/~landa

Hi,

2012/12/8 Sören Gebbert <soerengebbert@googlemail.com>:

why would it be better to put this single file in a separate directory?

because it's default 'database' for SQLite driver, see `db.connect`.

Martin

--
Martin Landa <landa.martin gmail.com> * http://geo.fsv.cvut.cz/~landa

Hi Martin,
sorry i am confused. I made a svn update of grass trunk and typed
db.connect help.
The default path there is: "$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite.db".

I have had chosen the same path for the temporal GIS database. Has
this changed recently?
Is this really needed? If i change the default tgis.db path i need to
assure backward compatibility to avoid damage on existing temporal
GRASS locations.

Best regards
Soeren

2012/12/8 Martin Landa <landa.martin@gmail.com>:

Hi,

2012/12/8 Sören Gebbert <soerengebbert@googlemail.com>:

why would it be better to put this single file in a separate directory?

because it's default 'database' for SQLite driver, see `db.connect`.

Martin

--
Martin Landa <landa.martin gmail.com> * http://geo.fsv.cvut.cz/~landa

Hi,

2012/12/8 Sören Gebbert <soerengebbert@googlemail.com>:

sorry i am confused. I made a svn update of grass trunk and typed
db.connect help.
The default path there is: "$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite.db".

you have probably default connection settings already defined. If no
connection settings is defined and SQLite driver is available, then
`$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db` is used as the
default database [1]. Default DB for SQLite driver has been changed in
r52829 [2].

Martin

[1] http://trac.osgeo.org/grass/browser/grass/trunk/lib/db/dbmi_base/default_name.c#L130
[2] http://trac.osgeo.org/grass/changeset/52829/grass/trunk/lib/db/dbmi_base/default_name.c

--
Martin Landa <landa.martin gmail.com> * http://geo.fsv.cvut.cz/~landa

2012/12/8 Martin Landa <landa.martin@gmail.com>:

default database [1]. Default DB for SQLite driver has been changed in
r52829 [2].

looking at the comment (see the [2]), I am not sure if it's a good
idea to have more SQLite DBs in one directory. Probably MarkusM could
elaborate on that...

Martin

[1] http://trac.osgeo.org/grass/changeset/52829/grass/trunk/lib/db/dbmi_base/default_name.c

--
Martin Landa <landa.martin gmail.com> * http://geo.fsv.cvut.cz/~landa

2012/12/8 Martin Landa <landa.martin@gmail.com>:

2012/12/8 Martin Landa <landa.martin@gmail.com>:

default database [1]. Default DB for SQLite driver has been changed in
r52829 [2].

looking at the comment (see the [2]), I am not sure if it's a good
idea to have more SQLite DBs in one directory. Probably MarkusM could
elaborate on that...

I see, sqlite is fsyncing its directory. So it may not be a good idea
to have two sqlite databases in the same directory
or in nested sub-directories.

Maybe its a better idea to use a separate directory like tgis or temporal?

$GISDBASE/$LOCATION_NAME/$MAPSET/tgis/tgis.db

$GISDBASE/$LOCATION_NAME/$MAPSET/temporal/tgis.db

Best regards
Soeren

Martin

[1] http://trac.osgeo.org/grass/changeset/52829/grass/trunk/lib/db/dbmi_base/default_name.c

--
Martin Landa <landa.martin gmail.com> * http://geo.fsv.cvut.cz/~landa

On Sat, Dec 8, 2012 at 1:25 PM, Sören Gebbert
<soerengebbert@googlemail.com> wrote:

2012/12/8 Martin Landa <landa.martin@gmail.com>:

2012/12/8 Martin Landa <landa.martin@gmail.com>:

default database [1]. Default DB for SQLite driver has been changed in
r52829 [2].

looking at the comment (see the [2]), I am not sure if it's a good
idea to have more SQLite DBs in one directory. Probably MarkusM could
elaborate on that...

I see, sqlite is fsyncing its directory. So it may not be a good idea
to have two sqlite databases in the same directory
or in nested sub-directories.

I have not tested this case, maybe it works. What does not work is if
an application is opening a file and another application is opening a
sqlite db in the same folder. The GRASS sqlite driver should print
reasonable error messages, so it should be easy to test

Maybe its a better idea to use a separate directory like tgis or temporal?

According to the sqlite documentation, that should be fail-safe.

Markus M