[GRASS5] DBMI-ODBC

Hi,
(sorry if you received this twice, Markus Neteler recommended me to send it here too)

I work on ODBC (http://www.unixodbc.org/) driver for DBMI (src/libes/dbmi)
+ some modules based on DBMI.
Work is not finished but most of old modules (src/libes/dbmi/clients) and new
v.db.reclass run.

I want discuss following list of changes before commiting to CVS:

- add to src/include/dbmi.h structures:

  typedef struct _db_connection
  {
      char *driverName;
      char *databaseName;
      char *location;
      char *user;
      char *password;
      char *keycol; // name of default key column
  }dbConnection;

  typedef struct
  {
      int count; // number of defined rules
      int alloc; // size of allocated array
      char *table; // table name
      char *key; // key column name
      int *cat; // array of new category numbers
      char **where; // array of SQL WHERE conditions
      char **label; // array of new category labels
  }dbRclsRule;

- add to DBMILIB functions:

  int db_set_connection (dbConnection *connection );
  int db_get_connection (dbConnection *connection );
  void db_rcls_rule_extend (dbRclsRule *rule , int n );
  dbRclsRule * db_rcls_rule_init (int n );
  int db_rcls (dbRclsRule *rule , CatValI **new );

- add to /src/libes/dbmi/lib/start.c reading from dbConnection if driver
  was not specified

- modify command parameters in src/libes/dbmi/clients modules
  to not required if defined in dbConnection (use default)

- change in src/libes/dbmi/clients/Gmakefile:
  HOME=$(GISBASE)/etc/dbmi/bin
  to
  HOME=$(GISBASE)/etc/bin/main/cmd
  and remove
  if [ ! -d $(GISBASE)/etc/dbmi ]; then mkdir $(GISBASE)/etc/dbmi; fi; \
  if [ ! -d $(HOME) ]; then mkdir $(HOME); fi;

- add src/libes/dbmi/drivers/odbc - ODBC driver

- add src/libes/dbmi/clients/db.connect - similar as g.select.pg but
  module name db.select is already used, problem: password is saved
  in file

- add src/mapdev/v.db.reclass

- add to VECTLIB_REAL functions for reclassification - may be used in future also
  by v.reclass (I am not satisfied with creating reclass file and running
v.reclass
  from DB reclass modules):

  int V_rcls_line (char *in_name, char *out_name, CatValI *new, int ncat, int
append);
  int V_rcls_area (char *in_name, char *out_name, CatValI *new, int ncat, int
append, int dissolve);

- add to src/include/gis.h structures for storing values for cats
  ( new category value, number of elements in cat, area, length, x,y, ...)

  typedef struct
  {
      int min,max; // array range
      int *val; // array of integers
  }CatValI;

  typedef struct
  {
      int min,max; // array range
      double *val; // array of doubles
  }CatValD;

- add to GISLIB functions:

  CatValI *G_catvali_init( int min, int max);
  void G_catvali_extend( CatValI *, int max);

Radim

----------------------------------------
If you want to unsubscribe from GRASS Development
Team internal mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'
length: 3835
max: 0

Markus,

FYI, I have successfully built unixODBC-1.8.7
for Windows NT using the Cygnus Toolset B20.1

John Huddleston

----- Original Message -----
From: Radim Blazek <Radim.Blazek@dhv.cz>
To: <grass5@geog.uni-hannover.de>
Sent: Tuesday, May 02, 2000 6:43 AM
Subject: [GRASS5] DBMI-ODBC

Hi,
(sorry if you received this twice, Markus Neteler recommended me to send

it here too)

I work on ODBC (http://www.unixodbc.org/) driver for DBMI (src/libes/dbmi)
+ some modules based on DBMI.
Work is not finished but most of old modules (src/libes/dbmi/clients) and

new

v.db.reclass run.

I want discuss following list of changes before commiting to CVS:

- add to src/include/dbmi.h structures:

  typedef struct _db_connection
  {
      char *driverName;
      char *databaseName;
      char *location;
      char *user;
      char *password;
      char *keycol; // name of default key column
  }dbConnection;

  typedef struct
  {
      int count; // number of defined rules
      int alloc; // size of allocated array
      char *table; // table name
      char *key; // key column name
      int *cat; // array of new category numbers
      char **where; // array of SQL WHERE conditions
      char **label; // array of new category labels
  }dbRclsRule;

- add to DBMILIB functions:

  int db_set_connection (dbConnection *connection );
  int db_get_connection (dbConnection *connection );
  void db_rcls_rule_extend (dbRclsRule *rule , int n );
  dbRclsRule * db_rcls_rule_init (int n );
  int db_rcls (dbRclsRule *rule , CatValI

**new );

- add to /src/libes/dbmi/lib/start.c reading from dbConnection if driver
  was not specified

- modify command parameters in src/libes/dbmi/clients modules
  to not required if defined in dbConnection (use default)

- change in src/libes/dbmi/clients/Gmakefile:
  HOME=$(GISBASE)/etc/dbmi/bin
  to
  HOME=$(GISBASE)/etc/bin/main/cmd
  and remove
  if [ ! -d $(GISBASE)/etc/dbmi ]; then mkdir $(GISBASE)/etc/dbmi; fi; \
  if [ ! -d $(HOME) ]; then mkdir $(HOME); fi;

- add src/libes/dbmi/drivers/odbc - ODBC driver

- add src/libes/dbmi/clients/db.connect - similar as g.select.pg but
  module name db.select is already used, problem: password is saved
  in file

- add src/mapdev/v.db.reclass

- add to VECTLIB_REAL functions for reclassification - may be used in

future also

  by v.reclass (I am not satisfied with creating reclass file and running
v.reclass
  from DB reclass modules):

  int V_rcls_line (char *in_name, char *out_name, CatValI *new, int ncat,

int

append);
  int V_rcls_area (char *in_name, char *out_name, CatValI *new, int ncat,

int

append, int dissolve);

- add to src/include/gis.h structures for storing values for cats
  ( new category value, number of elements in cat, area, length, x,y, ...)

  typedef struct
  {
      int min,max; // array range
      int *val; // array of integers
  }CatValI;

  typedef struct
  {
      int min,max; // array range
      double *val; // array of doubles
  }CatValD;

- add to GISLIB functions:

  CatValI *G_catvali_init( int min, int max);
  void G_catvali_extend( CatValI *, int max);

Radim

----------------------------------------
If you want to unsubscribe from GRASS Development
Team internal mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'
length: 3835
max: 0

----------------------------------------
If you want to unsubscribe from GRASS Development
Team internal mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'
length: 5084
max: 0