1
#ifndef _MYSQL_PYTHON__MYSQL_H_
2
#define _MYSQL_PYTHON__MYSQL_H_
10
#include "structmember.h"
12
#include "my_config.h"
13
#include "mysqld_error.h"
16
#define MyAlloc(s,t) (s *) t.tp_alloc(&t,0)
17
#define MyFree(ob) ob->ob_type->tp_free((PyObject *)ob)
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
30
} _mysql_ConnectionObject;
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))
36
extern PyTypeObject _mysql_ConnectionObject_Type;
45
} _mysql_ResultObject;
47
extern PyTypeObject _mysql_ResultObject_Type;
56
extern PyTypeObject _mysql_FieldObject_Type;
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;} }
62
#define check_server_init(x) if (!_mysql_server_init_done) _mysql_server_init_done = 1
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;
79
_mysql_Exception(_mysql_ConnectionObject *c);
82
_mysql_ResultObject_Initialize(
83
_mysql_ResultObject *self,
88
_mysql_FieldObject_Initialize(
89
_mysql_FieldObject *self,