GRASS GIS 8 Programmer's Manual  8.2.2dev(2023)-3d2c704037
d_desc_table.c
Go to the documentation of this file.
1 /*!
2  * \file db/dbmi_driver/d_desc_table.c
3  *
4  * \brief DBMI Library (driver) - describe table
5  *
6  * (C) 1999-2008 by the GRASS Development Team
7  *
8  * This program is free software under the GNU General Public
9  * License (>=v2). Read the file COPYING that comes with GRASS
10  * for details.
11  *
12  * \author Joel Jones (CERL/UIUC), Radim Blazek
13  */
14 
15 #include <stdlib.h>
16 #include <grass/dbmi.h>
17 #include "macros.h"
18 #include "dbstubs.h"
19 
20 /*!
21  \brief Describe table
22 
23  \return DB_OK on success
24  \return DB_FAILED on failure
25  */
27 {
28  dbTable *table;
29  dbString name;
30  int stat;
31 
32  db_init_string(&name);
33 
34  /* get the arg(s) */
35  DB_RECV_STRING(&name);
36 
37  /* call the procedure */
38  stat = db_driver_describe_table(&name, &table);
39 
40  /* send the return code */
41  if (stat != DB_OK) {
43  return DB_OK;
44  }
46 
47  /* results */
48  db_set_table_name(table, db_get_string(&name));
50 
51  db_free_string(&name);
52  db_free_table(table);
53  return DB_OK;
54 }
void db_init_string(dbString *)
Initialize dbString.
Definition: string.c:25
char * db_get_string(const dbString *)
Get string.
Definition: string.c:140
void db_free_table(dbTable *)
Free the table.
#define DB_SEND_FAILURE()
Definition: macros.h:9
#define DB_SEND_TABLE_DEFINITION(x)
Definition: macros.h:62
int db_set_table_name(dbTable *, const char *)
Set the name of the table.
const char * name
Definition: named_colr.c:7
int(* db_driver_describe_table)(dbString *, dbTable **)
#define DB_SEND_SUCCESS()
Definition: macros.h:7
int db_d_describe_table(void)
Describe table.
Definition: d_desc_table.c:26
void db_free_string(dbString *)
Free allocated space for dbString.
Definition: string.c:150
#define DB_RECV_STRING(x)
Definition: macros.h:18
#define DB_OK
Definition: dbmi.h:71