GRASS GIS 8 Programmer's Manual  8.2.2dev(2023)-3d2c704037
d_rows.c
Go to the documentation of this file.
1 /*!
2  * \file db/dbmi_driver/d_rows.c
3  *
4  * \brief DBMI Library (driver) - get number of records
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 <grass/dbmi.h>
16 #include "macros.h"
17 #include "dbstubs.h"
18 
19 /*!
20  \brief Get number of selected rows
21 
22  \return DB_OK on success
23  \return DB_FAILED on failure
24  */
26 {
27  dbToken token;
28  dbCursor *cursor;
29  int nrows;
30 
31  /* get the arg(s) */
32  DB_RECV_TOKEN(&token);
33  cursor = (dbCursor *) db_find_token(token);
34 
35  /* call the procedure */
36  nrows = db_driver_get_num_rows(cursor);
37 
38  /* send the return code */
39  if (nrows < 0) {
41  return DB_OK;
42  }
44 
45  /* results */
46  DB_SEND_INT(nrows);
47  return DB_OK;
48 }
#define DB_SEND_INT(x)
Definition: macros.h:37
#define DB_RECV_TOKEN(x)
Definition: macros.h:99
int dbToken
Definition: dbmi.h:145
int db_d_get_num_rows(void)
Get number of selected rows.
Definition: d_rows.c:25
#define DB_SEND_FAILURE()
Definition: macros.h:9
dbAddress db_find_token(dbToken)
Find token.
#define DB_SEND_SUCCESS()
Definition: macros.h:7
int(* db_driver_get_num_rows)(dbCursor *)
#define DB_OK
Definition: dbmi.h:71