Mercurial > p > mysql-python > mysqldb-2
comparison src/mysqlmod.h @ 55:e606fd52e866 MySQLdb
make things a little cleaner by moving to a src directory for the C code
author | kylev |
---|---|
date | Fri, 27 Feb 2009 19:14:09 +0000 |
parents | _mysql.h@2b9a9814daab |
children | 98d968f5af11 |
comparison
equal
deleted
inserted
replaced
54:6e31278d3433 | 55:e606fd52e866 |
---|---|
1 #ifndef _MYSQL_PYTHON__MYSQL_H_ | |
2 #define _MYSQL_PYTHON__MYSQL_H_ | |
3 | |
4 #include <Python.h> | |
5 | |
6 #ifdef MS_WIN32 | |
7 #include <windows.h> | |
8 #endif /* MS_WIN32 */ | |
9 | |
10 #include "structmember.h" | |
11 #include "mysql.h" | |
12 #include "my_config.h" | |
13 #include "mysqld_error.h" | |
14 #include "errmsg.h" | |
15 | |
16 #define MyAlloc(s,t) (s *) t.tp_alloc(&t,0) | |
17 #define MyFree(ob) ob->ob_type->tp_free((PyObject *)ob) | |
18 | |
19 #if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN) | |
20 typedef int Py_ssize_t; | |
21 #define PY_SSIZE_T_MAX INT_MAX | |
22 #define PY_SSIZE_T_MIN INT_MIN | |
23 #endif | |
24 | |
25 typedef struct { | |
26 PyObject_HEAD | |
27 MYSQL connection; | |
28 int open; | |
29 PyObject *converter; | |
30 } _mysql_ConnectionObject; | |
31 | |
32 #define check_connection(c) if (!(c->open)) return _mysql_Exception(c) | |
33 #define result_connection(r) ((_mysql_ConnectionObject *)r->conn) | |
34 #define check_result_connection(r) check_connection(result_connection(r)) | |
35 | |
36 extern PyTypeObject _mysql_ConnectionObject_Type; | |
37 | |
38 typedef struct { | |
39 PyObject_HEAD | |
40 PyObject *conn; | |
41 MYSQL_RES *result; | |
42 int nfields; | |
43 int use; | |
44 PyObject *converter; | |
45 } _mysql_ResultObject; | |
46 | |
47 extern PyTypeObject _mysql_ResultObject_Type; | |
48 | |
49 typedef struct { | |
50 PyObject_HEAD | |
51 PyObject *result; | |
52 MYSQL_FIELD field; | |
53 unsigned int index; | |
54 } _mysql_FieldObject; | |
55 | |
56 extern PyTypeObject _mysql_FieldObject_Type; | |
57 | |
58 extern int _mysql_server_init_done; | |
59 #if MYSQL_VERSION_ID >= 40000 | |
60 #define check_server_init(x) if (!_mysql_server_init_done) { if (mysql_server_init(0, NULL, NULL)) { _mysql_Exception(NULL); return x; } else { _mysql_server_init_done = 1;} } | |
61 #else | |
62 #define check_server_init(x) if (!_mysql_server_init_done) _mysql_server_init_done = 1 | |
63 #endif | |
64 | |
65 extern PyObject *_mysql_MySQLError; | |
66 extern PyObject *_mysql_Warning; | |
67 extern PyObject *_mysql_Error; | |
68 extern PyObject *_mysql_DatabaseError; | |
69 extern PyObject *_mysql_InterfaceError; | |
70 extern PyObject *_mysql_DataError; | |
71 extern PyObject *_mysql_OperationalError; | |
72 extern PyObject *_mysql_IntegrityError; | |
73 extern PyObject *_mysql_InternalError; | |
74 extern PyObject *_mysql_ProgrammingError; | |
75 extern PyObject *_mysql_NotSupportedError; | |
76 extern PyObject *_mysql_error_map; | |
77 | |
78 extern PyObject * | |
79 _mysql_Exception(_mysql_ConnectionObject *c); | |
80 | |
81 extern int | |
82 _mysql_ResultObject_Initialize( | |
83 _mysql_ResultObject *self, | |
84 PyObject *args, | |
85 PyObject *kwargs); | |
86 | |
87 extern int | |
88 _mysql_FieldObject_Initialize( | |
89 _mysql_FieldObject *self, | |
90 PyObject *args, | |
91 PyObject *kwargs); | |
92 | |
93 #endif |