File: pgresult.h

package info (click to toggle)
python-pgsql 2.4.0-5sarge1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 984 kB
  • ctags: 1,291
  • sloc: ansic: 5,913; python: 4,334; sh: 73; makefile: 71
file content (81 lines) | stat: -rw-r--r-- 3,050 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#ident "@(#) $Id: pgresult.h,v 1.3 2001/09/24 07:10:56 ballie01 Exp $"
#ifndef Pg_RESULT_H
#define Pg_RESULT_H
#ifdef __cplusplus
extern "C" {
#endif

/***********************************************************************\
| Copyright 2001 by Billy G. Allie					|
| All rights Reserved.							|
|									|
| Permission to use, copy, modify, and distribute this software and its	|
| documentation for any purpose and without fee is hereby granted, pro-	|
| vided that the above copyright notice appear in all copies and that	|
| both that copyright notice and this permission notice appear in sup-	|
| porting documentation, and that the copyright owner's name not be	|
| used in advertising or publicity pertaining to distribution of the	|
| software without specific, written prior permission.			|
|									|
| THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,	|
| INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.  IN	|
| NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR	|
| CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS	|
| OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE	|
| OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE	|
| USE OR PERFORMANCE OF THIS SOFTWARE.					|
\***********************************************************************/

/* pyPgSQL result object interface */

/***********************************************************************\
| PgResult defines the PostgreSQL PgResult Object.			|
\***********************************************************************/

/*******************************\
| PgResult object definition	|
\*******************************/

typedef enum {
    RESULT_ERROR = -1,
    RESULT_EMPTY,
    RESULT_DQL,
    RESULT_DDL,
    RESULT_DML
} resulttypes;

typedef struct {
    PyObject_HEAD
    PGresult *res;	/* The libpq result object.			*/
    PgConnection *conn;	/* The python connection object for this result */
    PyObject *type;	/* The type of the result.			*/
    PyObject *status;	/* The result status.				*/
    PyObject *ntuples;	/* The number of tuples returns.		*/
    PyObject *nfields;	/* The number of fields in a tuple.		*/
    PyObject *btuples;	/* Flag: are these binary tuples.		*/
    PyObject *cstatus;	/* The command status.				*/
    PyObject *ctuples;	/* The number of command tuples.		*/
    PyObject *oidval;	/* The OID of the last inserted row.		*/
} PgResult;

extern PyTypeObject PgResult_Type;

extern PyObject *PgResult_New(PGresult *, PgConnection *, int);

extern int PgResult_check(PyObject *);

#define PgResult_Check(op) ((op)->ob_type == &PgResult_Type)

#define PgResult_Get(v) ((v)->res)

/***********************************************************************\
| initpgresult MUST be called in the initialzation code of the module	|
| using the PgResult Object.						|
\***********************************************************************/

extern void initpgresult(void);

#ifdef __cplusplus
}
#endif
#endif /* !Pg_RESULT_H */