Logo ROOT   master
Reference Guide
TPgSQLRow.h
Go to the documentation of this file.
1 // @(#)root/pgsql:$Id$
2 // Author: g.p.ciceri <gp.ciceri@acm.org> 01/06/2001
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2001, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TPgSQLRow
13 #define ROOT_TPgSQLRow
14 
15 #include "TSQLRow.h"
16 
17 #if !defined(__CINT__)
18 #include <libpq-fe.h>
19 #else
20 struct PGresult;
21 typedef char **PGresAttValue;
22 #endif
23 
24 
25 class TPgSQLRow : public TSQLRow {
26 
27 private:
28  PGresult *fResult{nullptr}; // current result set
29  ULong_t fRowNum{0}; // row number
30 
31  Bool_t IsValid(Int_t field);
32 
33 public:
34  TPgSQLRow(void *result, ULong_t rowHandle);
35  ~TPgSQLRow();
36 
37  void Close(Option_t *opt="") final;
38  ULong_t GetFieldLength(Int_t field) final;
39  const char *GetField(Int_t field) final;
40 
41  ClassDefOverride(TPgSQLRow,0) // One row of PgSQL query result
42 };
43 
44 #endif
Bool_t IsValid(Int_t field)
Check if row is open and field index within range.
Definition: TPgSQLRow.cxx:50
TPgSQLRow(void *result, ULong_t rowHandle)
Single row of query result.
Definition: TPgSQLRow.cxx:20
void Close(Option_t *opt="") final
Close row.
Definition: TPgSQLRow.cxx:38
const char Option_t
Definition: RtypesCore.h:62
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
~TPgSQLRow()
Destroy row object.
Definition: TPgSQLRow.cxx:29
ULong_t GetFieldLength(Int_t field) final
Get length in bytes of specified field.
Definition: TPgSQLRow.cxx:62
PGresult * fResult
Definition: TPgSQLRow.h:28
const char * GetField(Int_t field) final
Get specified field from row (0 <= field < GetFieldCount()).
Definition: TPgSQLRow.cxx:80
unsigned long ULong_t
Definition: RtypesCore.h:51
#define ClassDefOverride(name, id)
Definition: Rtypes.h:330
ULong_t fRowNum
Definition: TPgSQLRow.h:29