Raise ProgrammingError for nan and inf (#314)

* Raise ProgrammingError when inf or nan is passed
  Fixes #246
* Rename _mysql_exceptions -> _exceptions
This commit is contained in:
INADA Naoki
2018-12-14 16:46:30 +09:00
committed by GitHub
parent 911bef988c
commit 8ad1525c3f
10 changed files with 20 additions and 19 deletions

View File

@ -36,6 +36,7 @@ from MySQLdb._mysql import string_literal, escape
from MySQLdb.constants import FIELD_TYPE, FLAG
from MySQLdb.times import *
from MySQLdb.compat import PY2, long, unicode
from MySQLdb._exceptions import ProgrammingError
NoneType = type(None)
@ -66,6 +67,8 @@ def Unicode2Str(s, d):
def Float2Str(o, d):
s = repr(o)
if s in ('inf', 'nan'):
raise ProgrammingError("%s can not be used with MySQL" % s)
if 'e' not in s:
s += 'e0'
return s