default_name.c
Go to the documentation of this file.00001 #include <stdlib.h>
00002 #include <string.h>
00003 #include <grass/gis.h>
00004 #include <grass/dbmi.h>
00005
00011 const char *db_get_default_driver_name(void)
00012 {
00013 const char *drv;
00014
00015 if ((drv = G__getenv2("DB_DRIVER", G_VAR_MAPSET)))
00016 return G_store(drv);
00017
00018 return NULL;
00019 }
00020
00026 const char *db_get_default_database_name(void)
00027 {
00028 const char *drv;
00029
00030 if ((drv = G__getenv2("DB_DATABASE", G_VAR_MAPSET)))
00031 return G_store(drv);
00032
00033 return NULL;
00034 }
00035
00041 const char *db_get_default_schema_name(void)
00042 {
00043 const char *sch;
00044
00045 if ((sch = G__getenv2("DB_SCHEMA", G_VAR_MAPSET)))
00046 return G_store(sch);
00047
00048 return NULL;
00049 }
00050
00056 const char *db_get_default_group_name(void)
00057 {
00058 const char *gr;
00059
00060 if ((gr = G__getenv2("DB_GROUP", G_VAR_MAPSET)))
00061 return G_store(gr);
00062
00063 return NULL;
00064 }
00065
00066
00067
00073 int db_set_default_connection(void)
00074 {
00075 dbConnection connection;
00076 char buf[GPATH_MAX];
00077
00078 G_debug(1,
00079 "Creating new default DB params with db_set_default_connection()");
00080
00081
00082 db_get_connection(&connection);
00083
00084 if (strcmp(DB_DEFAULT_DRIVER, "dbf") == 0) {
00085
00086
00087 connection.driverName = "dbf";
00088 connection.databaseName = "$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/";
00089 db_set_connection(&connection);
00090
00091 sprintf(buf, "%s/%s/dbf", G_location_path(), G_mapset());
00092 G__make_mapset_element("dbf");
00093 }
00094 else if (strcmp(DB_DEFAULT_DRIVER, "sqlite") == 0) {
00095
00096
00097 connection.driverName = "sqlite";
00098
00099
00100
00101
00102
00103 connection.databaseName =
00104 "$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite.db";
00105 db_set_connection(&connection);
00106 }
00107 else
00108 G_fatal_error("Programmer error");
00109
00110 return DB_OK;
00111 }