mirror of
https://github.com/PyMySQL/mysqlclient.git
synced 2025-08-15 19:31:54 +08:00
* add set_server_option() and sqlstate() connection object methods
This commit is contained in:
@ -768,9 +768,54 @@ _mysql_ConnectionObject_next_result(
|
|||||||
#endif
|
#endif
|
||||||
Py_END_ALLOW_THREADS
|
Py_END_ALLOW_THREADS
|
||||||
if (err > 0) return _mysql_Exception(self);
|
if (err > 0) return _mysql_Exception(self);
|
||||||
|
Py_INCREF(Py_None);
|
||||||
|
return Py_None;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if MYSQL_VERSION_ID >= 40100
|
||||||
|
static char _mysql_ConnectionObject_set_server_option__doc__[] =
|
||||||
|
"set_server_option(option) -- Enables or disables an option\n\
|
||||||
|
for the connection.\n\
|
||||||
|
\n\
|
||||||
|
Non-standard.\n\
|
||||||
|
";
|
||||||
|
static PyObject *
|
||||||
|
_mysql_ConnectionObject_set_server_option(
|
||||||
|
_mysql_ConnectionObject *self,
|
||||||
|
PyObject *args)
|
||||||
|
{
|
||||||
|
int err, flags=0;
|
||||||
|
if (!PyArg_ParseTuple(args, "i", &flags))
|
||||||
|
return NULL;
|
||||||
|
Py_BEGIN_ALLOW_THREADS
|
||||||
|
err = mysql_set_server_option(&(self->connection), flags);
|
||||||
|
Py_END_ALLOW_THREADS
|
||||||
|
if (err) return _mysql_Exception(self);
|
||||||
return PyInt_FromLong(err);
|
return PyInt_FromLong(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char _mysql_ConnectionObject_sqlstate__doc__[] =
|
||||||
|
"Returns a string containing the SQLSTATE error code\n\
|
||||||
|
for the last error. The error code consists of five characters.\n\
|
||||||
|
'00000' means ``no error.'' The values are specified by ANSI SQL\n\
|
||||||
|
and ODBC. For a list of possible values, see section 23\n\
|
||||||
|
Error Handling in MySQL in the MySQL Manual.\n\
|
||||||
|
\n\
|
||||||
|
Note that not all MySQL errors are yet mapped to SQLSTATE's.\n\
|
||||||
|
The value 'HY000' (general error) is used for unmapped errors.\n\
|
||||||
|
\n\
|
||||||
|
Non-standard.\n\
|
||||||
|
";
|
||||||
|
static PyObject *
|
||||||
|
_mysql_ConnectionObject_sqlstate(
|
||||||
|
_mysql_ConnectionObject *self,
|
||||||
|
PyObject *args)
|
||||||
|
{
|
||||||
|
if (!PyArg_ParseTuple(args, "")) return NULL;
|
||||||
|
return PyString_FromString(mysql_sqlstate(&(self->connection)));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static char _mysql_ConnectionObject_errno__doc__[] =
|
static char _mysql_ConnectionObject_errno__doc__[] =
|
||||||
"Returns the error code for the most recently invoked API function\n\
|
"Returns the error code for the most recently invoked API function\n\
|
||||||
that can succeed or fail. A return value of zero means that no error\n\
|
that can succeed or fail. A return value of zero means that no error\n\
|
||||||
@ -1898,6 +1943,20 @@ static PyMethodDef _mysql_ConnectionObject_methods[] = {
|
|||||||
METH_VARARGS,
|
METH_VARARGS,
|
||||||
_mysql_ConnectionObject_next_result__doc__
|
_mysql_ConnectionObject_next_result__doc__
|
||||||
},
|
},
|
||||||
|
#if MYSQL_VERSION_ID >= 40100
|
||||||
|
{
|
||||||
|
"set_server_option",
|
||||||
|
(PyCFunction)_mysql_ConnectionObject_set_server_option,
|
||||||
|
METH_VARARGS,
|
||||||
|
_mysql_ConnectionObject_set_server_option__doc__
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sqlstate",
|
||||||
|
(PyCFunction)_mysql_ConnectionObject_sqlstate,
|
||||||
|
METH_VARARGS,
|
||||||
|
_mysql_ConnectionObject_sqlstate__doc__
|
||||||
|
},
|
||||||
|
#endif
|
||||||
#if MYSQL_VERSION_ID >= 32303
|
#if MYSQL_VERSION_ID >= 32303
|
||||||
{
|
{
|
||||||
"change_user",
|
"change_user",
|
||||||
|
Reference in New Issue
Block a user