GRASS GIS 8 Programmer's Manual  8.5.0dev(2024)-b4187339ee
c_rows.c
Go to the documentation of this file.
1 /*!
2  * \file db/dbmi_client/c_rows.c
3  *
4  * \brief DBMI Library (client) - 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 
18 /*!
19  \brief Get number of selected rows
20 
21  \param cursor db select cursor
22 
23  \return DB_OK on success
24  \return DB_FAILED on failure
25  */
27 {
28  int nrows, ret_code;
29 
30  /* start the procedure call */
31  db__set_protocol_fds(cursor->driver->send, cursor->driver->recv);
33 
34  /* send the argument(s) to the procedure */
35  DB_SEND_TOKEN(&cursor->token);
36 
37  /* get the return code for the procedure call */
38  DB_RECV_RETURN_CODE(&ret_code);
39 
40  if (ret_code != DB_OK)
41  return -1;
42 
43  /* get the results */
44  DB_RECV_INT(&nrows);
45 
46  return nrows;
47 }
int db_get_num_rows(dbCursor *cursor)
Get number of selected rows.
Definition: c_rows.c:26
#define DB_PROC_ROWS
Definition: dbmi.h:45
#define DB_OK
Definition: dbmi.h:71
void db__set_protocol_fds(FILE *, FILE *)
?
#define DB_RECV_INT(x)
Definition: macros.h:87
#define DB_START_PROCEDURE_CALL(x)
Definition: macros.h:2
#define DB_RECV_RETURN_CODE(x)
Definition: macros.h:7
#define DB_SEND_TOKEN(x)
Definition: macros.h:214
dbDriver * driver
Definition: dbmi.h:223
dbToken token
Definition: dbmi.h:222
FILE * recv
Definition: dbmi.h:167
FILE * send
Definition: dbmi.h:167