481 Commits

Author SHA1 Message Date
8f1fd73dd3 multi statements can be disabled (#500) 2021-09-03 11:01:58 +09:00
24aaa72c15 cleanup 2021-01-08 17:39:31 +09:00
3e95f351d4 Move codecov.yml 2021-01-08 15:49:11 +09:00
fa25358d0f deprecate passwd and db 2021-01-08 14:39:43 +09:00
1731d27341 Fix and optimize fetching dict rows. (#458) 2020-12-08 18:35:44 +09:00
3c4a83bc52 Don't use strncpy and strncat (#456) 2020-12-07 15:57:53 +09:00
d56b0b7f8c black 20.8b1 2020-12-04 12:22:51 +09:00
bcb96c924b codecov: Ignore constants 2020-07-04 09:51:31 +09:00
143129be8f Remove obsolete members (#437) 2020-07-03 11:56:34 +09:00
a825b849ff Don't use PyTuple_Resize (#436) 2020-07-03 11:20:38 +09:00
c67dbd41f1 Add some gc safety around _mysql__fetch_row (#348)
Users of gc.get_referrers() could cause a SystemError to be raised if this function is running in a different python thread.
2020-02-05 20:38:25 +09:00
18163d7022 code cleanup and reformat (#423) 2020-01-20 19:47:22 +09:00
b3a5e286e2 Fix typo. (#417)
Closes #416
2019-12-07 23:05:39 +09:00
1a5ae1daf8 Added to pass ssl_mode in configuration. (#347) 2019-12-03 19:58:32 +09:00
643220972e Add Context Manager Interface to Connection. (#413)
Fixes #400.
2019-11-29 21:15:17 +09:00
00016e0961 Fix some flake8 errors (#410) 2019-11-29 17:33:06 +09:00
82301a301a Drop Django 1.11 support (#411) 2019-11-29 17:32:39 +09:00
3fb4eb1b11 Use binary type by default for converter input. (#351)
Before *Most* string fields were passed to custom converter functions as "bytes",
everything else was assumed to be valid encoded utf-8 and passed as str.
This could cause issues where some unknown field was not valid utf-8 and
a decode error is triggered where it can't be fixed or avoided by the
end user.

Instead we should short list those fields that we know for sure have to
be str type because the existing converters expect it to be that way.
So all the date conversions, and (NEW)DECIMAL since the python decimal
type will not accept bytes object.

Everything else stays bytes, which is the least suprising and safest
thing to do.
2019-11-29 17:07:05 +09:00
86491882e6 Drop Python 2 support from C source (#406) 2019-11-29 14:24:28 +09:00
026e87f7b5 Remove py27 support from Python sources. (#394) 2019-11-28 22:04:42 +09:00
713d3625f8 fixup docs 2019-11-19 17:29:03 +09:00
edeab3040d Use cp1252 for latin1 charset (#398) 2019-11-18 21:22:39 +09:00
0da81656e9 fix PyMemberDef type of two attributes (#395) 2019-11-08 00:59:46 +09:00
acf4cdcf89 Add 'auth_plugin' option (#389) 2019-10-23 19:19:23 +09:00
b400acddd0 set charset before connect (#382) 2019-08-11 11:23:40 +09:00
62c8c8c62b call mysql_library_init in module initialization (#377) 2019-08-08 21:31:25 +09:00
b3e775a780 fix Cursor.executemany created many circular references (#375) 2019-08-08 18:55:21 +09:00
23addef86d Remove unused "NULL" from __all__ in __init__.py (#369)
Since the symbol "NULL" is removed in 819688b6, it should be also
removed from `__all__`. Fix issue #368.
2019-07-17 14:10:32 +09:00
6f5f48b76c use PY_SSIZE_T_CLEAN (#360)
Fixes #359
2019-06-08 23:53:46 +09:00
b66971ee36 memory leak in ConnectionObject_Initialize when mysql_real_connect fails (#350)
We can't set open=0 after we mysql_init or dealloc will not cleanup the memory.

Also if mysql_init returns NULL we are out of memory and shouldn't set open=1, or we could segfault in dealloc if we didn't seg before that.
2019-03-26 06:46:32 +09:00
e04c5972f5 Add missing break (#346)
Fixes #343
2019-03-19 17:02:44 +09:00
e52812fd15 Improve docstring of use_unicode and charset options (#345) 2019-03-19 16:55:38 +09:00
f683ee7826 Fix typo in docstring and minor formatting (#336) 2019-03-03 12:13:38 +09:00
1f6e18d345 Add some garbage for Django 1.11 compatibility (#327)
Django touched private area of this library.
Removing unused variables broke Django.

While Django 2.0 fixed it, Django 1.11 doesn't fix it
because it is in security-only fix mode.

So add unused variables for Django 1.11 compatibility.
They will be removed in next minor release.

Fix #303, #306
2019-02-07 18:05:40 +09:00
f48a294aaa Fix dict parameter support (#324) 2019-01-19 12:55:41 +09:00
3870135037 Fix windows build (#322) 2019-01-18 20:52:10 +09:00
ea80e8f07a Fix error handling of mysql_real_connect (#317)
Fixes #316
2018-12-17 19:27:54 +09:00
74c16e7afa Remove unused converters (#315) 2018-12-14 17:24:15 +09:00
8ad1525c3f Raise ProgrammingError for nan and inf (#314)
* Raise ProgrammingError when inf or nan is passed
  Fixes #246
* Rename _mysql_exceptions -> _exceptions
2018-12-14 16:46:30 +09:00
911bef988c Refactor extension module initialization (#313) 2018-12-13 20:23:46 +09:00
0b6c6656f2 Refactoring JSON support (#312) 2018-12-13 17:40:37 +09:00
4b40c8ce05 Remove _mysql.thread_safe() (#311) 2018-12-13 16:10:58 +09:00
aca63e5d1c Use Py_RETURN_NONE 2018-12-13 12:44:25 +09:00
fe8032430c Reimplement JSON support (#310) 2018-12-13 12:41:53 +09:00
bf77dd0633 Update FIELD_TYPEs (#309) 2018-12-12 20:25:12 +09:00
aca3a396c7 Remove old TIMESTAMP format for MySQL<4.1 (#308) 2018-12-12 17:51:48 +09:00
80278a266e Update ER and CR (#307) 2018-12-12 16:52:03 +09:00
9f31f592f2 Removed MySQLdb.constants.REFRESH 2018-12-11 16:19:47 +09:00
3bea8cd8dd Faster string and int decoder (#305) 2018-12-11 11:50:42 +09:00
ae6b108b56 Remove HAVE_MYSQL_OPT_TIMEOUTS
Drop MySQL<5.1.12 support
2018-12-10 19:08:19 +09:00