Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
e4377f56
Commit
e4377f56
authored
Feb 23, 2013
by
Petri Lehtinen
Browse files
Options
Browse Files
Download
Plain Diff
Issue #14720: sqlite3: Convert datetime microseconds correctly
parents
ad59cbe9
52114811
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
22 additions
and
1 deletion
+22
-1
Lib/sqlite3/dbapi2.py
Lib/sqlite3/dbapi2.py
+1
-1
Lib/sqlite3/test/regression.py
Lib/sqlite3/test/regression.py
+17
-0
Misc/ACKS
Misc/ACKS
+1
-0
Misc/NEWS
Misc/NEWS
+3
-0
No files found.
Lib/sqlite3/dbapi2.py
View file @
e4377f56
...
...
@@ -67,7 +67,7 @@ def register_adapters_and_converters():
timepart_full
=
timepart
.
split
(
b"."
)
hours
,
minutes
,
seconds
=
map
(
int
,
timepart_full
[
0
].
split
(
b":"
))
if
len
(
timepart_full
)
==
2
:
microseconds
=
int
(
timepart_full
[
1
]
)
microseconds
=
int
(
'{:0<6}'
.
format
(
timepart_full
[
1
].
decode
())
)
else
:
microseconds
=
0
...
...
Lib/sqlite3/test/regression.py
View file @
e4377f56
...
...
@@ -302,6 +302,23 @@ class RegressionTests(unittest.TestCase):
cur
.
executemany
(
"insert into b (baz) values (?)"
,
((
i
,)
for
i
in
foo
()))
def
CheckConvertTimestampMicrosecondPadding
(
self
):
"""
http://bugs.python.org/issue14720
The microsecond parsing of convert_timestamp() should pad with zeros,
since the microsecond string "456" actually represents "456000".
"""
con
=
sqlite
.
connect
(
":memory:"
,
detect_types
=
sqlite
.
PARSE_DECLTYPES
)
cur
=
con
.
cursor
()
cur
.
execute
(
"CREATE TABLE t (x TIMESTAMP)"
)
cur
.
execute
(
"INSERT INTO t (x) VALUES ('2012-04-04 15:06:00.456')"
)
cur
.
execute
(
"SELECT * FROM t"
)
date
=
cur
.
fetchall
()[
0
][
0
]
self
.
assertEqual
(
date
,
datetime
.
datetime
(
2012
,
4
,
4
,
15
,
6
,
0
,
456000
))
def
suite
():
regression_suite
=
unittest
.
makeSuite
(
RegressionTests
,
"Check"
)
...
...
Misc/ACKS
View file @
e4377f56
...
...
@@ -1180,6 +1180,7 @@ Anatoly Techtonik
Mikhail Terekhov
Richard M. Tew
Tobias Thelen
Lowe Thiderman
Nicolas M. Thiéry
James Thomas
Robin Thomas
...
...
Misc/NEWS
View file @
e4377f56
...
...
@@ -181,6 +181,9 @@ Core and Builtins
Library
-------
- Issue #14720: sqlite3: Convert datetime microseconds correctly.
Patch by Lowe Thiderman.
- Issue #17225: JSON decoder now counts columns in the first line starting
with 1, as in other lines.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment