GRASS GIS 7 Programmer's Manual  7.5.svn(2017)-r71942
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
d_create_idx.c
Go to the documentation of this file.
1 /*!
2  * \file db/dbmi_driver/d_create_idx.c
3  *
4  * \brief DBMI Library (driver) - create index
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 Create index
22 
23  \return DB_OK on success
24  \return DB_FAILED on failure
25 */
27 {
28  dbIndex index;
29  int stat;
30 
31  /* get the arg(s) */
32  db_init_index(&index);
33  DB_RECV_INDEX(&index);
34 
35  /* call the procedure */
36  stat = db_driver_create_index(&index);
37 
38  /* send the return code */
39  if (stat != DB_OK) {
40  db_free_index(&index);
42  return DB_OK;
43  }
45 
46  /* send results */
47  DB_SEND_STRING(&index.indexName);
48  db_free_index(&index);
49  return DB_OK;
50 }
void db_init_index(dbIndex *index)
Initialize dbIndex.
void db_free_index(dbIndex *index)
Free allocated dbIndex.
dbString indexName
Definition: dbmi.h:242
#define DB_SEND_FAILURE()
Definition: macros.h:9
#define DB_SEND_STRING(x)
Definition: macros.h:12
#define DB_RECV_INDEX(x)
Definition: macros.h:106
#define DB_SEND_SUCCESS()
Definition: macros.h:7
int db_d_create_index(void)
Create index.
Definition: d_create_idx.c:26
#define DB_OK
Definition: dbmi.h:71
int(* db_driver_create_index)(dbIndex *)