db.c 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #include <grass/dbmi.h>
  2. #include "macros.h"
  3. /*!
  4. \fn dbDriver * db_start_driver_open_database ( const char *drvname, const char *dbname )
  5. \brief
  6. \return
  7. \param
  8. */
  9. dbDriver *
  10. db_start_driver_open_database ( const char *drvname, const char *dbname )
  11. {
  12. dbHandle handle;
  13. dbDriver *driver;
  14. G_debug ( 3, "db_start_driver_open_database():\n drvname = %s, dbname = %s", drvname, dbname );
  15. db_init_handle (&handle);
  16. driver = db_start_driver(drvname);
  17. if ( driver == NULL) {
  18. G_warning ( "Cannot open driver '%s'", drvname);
  19. return NULL;
  20. }
  21. db_set_handle (&handle, dbname, NULL);
  22. if (db_open_database(driver, &handle) != DB_OK) {
  23. G_warning ( "Cannot open database '%s'", dbname);
  24. db_shutdown_driver(driver);
  25. return NULL;
  26. }
  27. return driver;
  28. }
  29. /*!
  30. \fn int db_close_database_shutdown_driver (dbDriver *driver )
  31. \brief
  32. \return
  33. \param
  34. */
  35. int
  36. db_close_database_shutdown_driver ( dbDriver *driver )
  37. {
  38. db_close_database(driver);
  39. db_shutdown_driver(driver);
  40. return DB_OK;
  41. }