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
1b383570
Commit
1b383570
authored
May 16, 2006
by
Tim Peters
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Text files missing the SVN eol-style property.
parent
cbd7b756
Changes
27
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
1427 additions
and
1427 deletions
+1427
-1427
Doc/lib/sqlite3/adapter_datetime.py
Doc/lib/sqlite3/adapter_datetime.py
+14
-14
Doc/lib/sqlite3/adapter_point_1.py
Doc/lib/sqlite3/adapter_point_1.py
+16
-16
Doc/lib/sqlite3/adapter_point_2.py
Doc/lib/sqlite3/adapter_point_2.py
+17
-17
Doc/lib/sqlite3/collation_reverse.py
Doc/lib/sqlite3/collation_reverse.py
+15
-15
Doc/lib/sqlite3/connect_db_1.py
Doc/lib/sqlite3/connect_db_1.py
+3
-3
Doc/lib/sqlite3/connect_db_2.py
Doc/lib/sqlite3/connect_db_2.py
+3
-3
Doc/lib/sqlite3/converter_point.py
Doc/lib/sqlite3/converter_point.py
+47
-47
Doc/lib/sqlite3/countcursors.py
Doc/lib/sqlite3/countcursors.py
+15
-15
Doc/lib/sqlite3/createdb.py
Doc/lib/sqlite3/createdb.py
+28
-28
Doc/lib/sqlite3/execsql_fetchonerow.py
Doc/lib/sqlite3/execsql_fetchonerow.py
+17
-17
Doc/lib/sqlite3/execsql_printall_1.py
Doc/lib/sqlite3/execsql_printall_1.py
+13
-13
Doc/lib/sqlite3/execute_1.py
Doc/lib/sqlite3/execute_1.py
+11
-11
Doc/lib/sqlite3/execute_2.py
Doc/lib/sqlite3/execute_2.py
+12
-12
Doc/lib/sqlite3/execute_3.py
Doc/lib/sqlite3/execute_3.py
+12
-12
Doc/lib/sqlite3/executemany_1.py
Doc/lib/sqlite3/executemany_1.py
+24
-24
Doc/lib/sqlite3/executemany_2.py
Doc/lib/sqlite3/executemany_2.py
+15
-15
Doc/lib/sqlite3/executescript.py
Doc/lib/sqlite3/executescript.py
+24
-24
Doc/lib/sqlite3/insert_more_people.py
Doc/lib/sqlite3/insert_more_people.py
+16
-16
Doc/lib/sqlite3/md5func.py
Doc/lib/sqlite3/md5func.py
+11
-11
Doc/lib/sqlite3/mysumaggr.py
Doc/lib/sqlite3/mysumaggr.py
+20
-20
Doc/lib/sqlite3/parse_colnames.py
Doc/lib/sqlite3/parse_colnames.py
+8
-8
Doc/lib/sqlite3/pysqlite_datetime.py
Doc/lib/sqlite3/pysqlite_datetime.py
+20
-20
Doc/lib/sqlite3/row_factory.py
Doc/lib/sqlite3/row_factory.py
+13
-13
Doc/lib/sqlite3/shortcut_methods.py
Doc/lib/sqlite3/shortcut_methods.py
+21
-21
Doc/lib/sqlite3/simple_tableprinter.py
Doc/lib/sqlite3/simple_tableprinter.py
+26
-26
Doc/lib/sqlite3/text_factory.py
Doc/lib/sqlite3/text_factory.py
+42
-42
Lib/test/test_bigmem.py
Lib/test/test_bigmem.py
+964
-964
No files found.
Doc/lib/sqlite3/adapter_datetime.py
View file @
1b383570
import
sqlite3
import
datetime
,
time
def
adapt_datetime
(
ts
):
return
time
.
mktime
(
ts
.
timetuple
())
sqlite3
.
register_adapter
(
datetime
.
datetime
,
adapt_datetime
)
con
=
sqlite3
.
connect
(
":memory:"
)
cur
=
con
.
cursor
()
now
=
datetime
.
datetime
.
now
()
cur
.
execute
(
"select ?"
,
(
now
,))
print
cur
.
fetchone
()[
0
]
import
sqlite3
import
datetime
,
time
def
adapt_datetime
(
ts
):
return
time
.
mktime
(
ts
.
timetuple
())
sqlite3
.
register_adapter
(
datetime
.
datetime
,
adapt_datetime
)
con
=
sqlite3
.
connect
(
":memory:"
)
cur
=
con
.
cursor
()
now
=
datetime
.
datetime
.
now
()
cur
.
execute
(
"select ?"
,
(
now
,))
print
cur
.
fetchone
()[
0
]
Doc/lib/sqlite3/adapter_point_1.py
View file @
1b383570
import
sqlite3
class
Point
(
object
):
def
__init__
(
self
,
x
,
y
):
self
.
x
,
self
.
y
=
x
,
y
def
__conform__
(
self
,
protocol
):
if
protocol
is
sqlite3
.
PrepareProtocol
:
return
"%f;%f"
%
(
self
.
x
,
self
.
y
)
con
=
sqlite3
.
connect
(
":memory:"
)
cur
=
con
.
cursor
()
p
=
Point
(
4.0
,
-
3.2
)
cur
.
execute
(
"select ?"
,
(
p
,))
print
cur
.
fetchone
()[
0
]
import
sqlite3
class
Point
(
object
):
def
__init__
(
self
,
x
,
y
):
self
.
x
,
self
.
y
=
x
,
y
def
__conform__
(
self
,
protocol
):
if
protocol
is
sqlite3
.
PrepareProtocol
:
return
"%f;%f"
%
(
self
.
x
,
self
.
y
)
con
=
sqlite3
.
connect
(
":memory:"
)
cur
=
con
.
cursor
()
p
=
Point
(
4.0
,
-
3.2
)
cur
.
execute
(
"select ?"
,
(
p
,))
print
cur
.
fetchone
()[
0
]
Doc/lib/sqlite3/adapter_point_2.py
View file @
1b383570
import
sqlite3
class
Point
(
object
):
def
__init__
(
self
,
x
,
y
):
self
.
x
,
self
.
y
=
x
,
y
def
adapt_point
(
point
):
return
"%f;%f"
%
(
point
.
x
,
point
.
y
)
sqlite3
.
register_adapter
(
Point
,
adapt_point
)
con
=
sqlite3
.
connect
(
":memory:"
)
cur
=
con
.
cursor
()
p
=
Point
(
4.0
,
-
3.2
)
cur
.
execute
(
"select ?"
,
(
p
,))
print
cur
.
fetchone
()[
0
]
import
sqlite3
class
Point
(
object
):
def
__init__
(
self
,
x
,
y
):
self
.
x
,
self
.
y
=
x
,
y
def
adapt_point
(
point
):
return
"%f;%f"
%
(
point
.
x
,
point
.
y
)
sqlite3
.
register_adapter
(
Point
,
adapt_point
)
con
=
sqlite3
.
connect
(
":memory:"
)
cur
=
con
.
cursor
()
p
=
Point
(
4.0
,
-
3.2
)
cur
.
execute
(
"select ?"
,
(
p
,))
print
cur
.
fetchone
()[
0
]
Doc/lib/sqlite3/collation_reverse.py
View file @
1b383570
import
sqlite3
def
collate_reverse
(
string1
,
string2
):
return
-
cmp
(
string1
,
string2
)
con
=
sqlite3
.
connect
(
":memory:"
)
con
.
create_collation
(
"reverse"
,
collate_reverse
)
cur
=
con
.
cursor
()
cur
.
execute
(
"create table test(x)"
)
cur
.
executemany
(
"insert into test(x) values (?)"
,
[(
"a"
,),
(
"b"
,)])
cur
.
execute
(
"select x from test order by x collate reverse"
)
for
row
in
cur
:
print
row
con
.
close
()
import
sqlite3
def
collate_reverse
(
string1
,
string2
):
return
-
cmp
(
string1
,
string2
)
con
=
sqlite3
.
connect
(
":memory:"
)
con
.
create_collation
(
"reverse"
,
collate_reverse
)
cur
=
con
.
cursor
()
cur
.
execute
(
"create table test(x)"
)
cur
.
executemany
(
"insert into test(x) values (?)"
,
[(
"a"
,),
(
"b"
,)])
cur
.
execute
(
"select x from test order by x collate reverse"
)
for
row
in
cur
:
print
row
con
.
close
()
Doc/lib/sqlite3/connect_db_1.py
View file @
1b383570
import
sqlite3
con
=
sqlite3
.
connect
(
"mydb"
)
import
sqlite3
con
=
sqlite3
.
connect
(
"mydb"
)
Doc/lib/sqlite3/connect_db_2.py
View file @
1b383570
import
sqlite3
con
=
sqlite3
.
connect
(
":memory:"
)
import
sqlite3
con
=
sqlite3
.
connect
(
":memory:"
)
Doc/lib/sqlite3/converter_point.py
View file @
1b383570
import
sqlite3
class
Point
(
object
):
def
__init__
(
self
,
x
,
y
):
self
.
x
,
self
.
y
=
x
,
y
def
__repr__
(
self
):
return
"(%f;%f)"
%
(
self
.
x
,
self
.
y
)
def
adapt_point
(
point
):
return
"%f;%f"
%
(
point
.
x
,
point
.
y
)
def
convert_point
(
s
):
x
,
y
=
map
(
float
,
s
.
split
(
";"
))
return
Point
(
x
,
y
)
# Register the adapter
sqlite3
.
register_adapter
(
Point
,
adapt_point
)
# Register the converter
sqlite3
.
register_converter
(
"point"
,
convert_point
)
p
=
Point
(
4.0
,
-
3.2
)
#########################
# 1) Using declared types
con
=
sqlite3
.
connect
(
":memory:"
,
detect_types
=
sqlite3
.
PARSE_DECLTYPES
)
cur
=
con
.
cursor
()
cur
.
execute
(
"create table test(p point)"
)
cur
.
execute
(
"insert into test(p) values (?)"
,
(
p
,))
cur
.
execute
(
"select p from test"
)
print
"with declared types:"
,
cur
.
fetchone
()[
0
]
cur
.
close
()
con
.
close
()
#######################
# 1) Using column names
con
=
sqlite3
.
connect
(
":memory:"
,
detect_types
=
sqlite3
.
PARSE_COLNAMES
)
cur
=
con
.
cursor
()
cur
.
execute
(
"create table test(p)"
)
cur
.
execute
(
"insert into test(p) values (?)"
,
(
p
,))
cur
.
execute
(
'select p as "p [point]" from test'
)
print
"with column names:"
,
cur
.
fetchone
()[
0
]
cur
.
close
()
con
.
close
()
import
sqlite3
class
Point
(
object
):
def
__init__
(
self
,
x
,
y
):
self
.
x
,
self
.
y
=
x
,
y
def
__repr__
(
self
):
return
"(%f;%f)"
%
(
self
.
x
,
self
.
y
)
def
adapt_point
(
point
):
return
"%f;%f"
%
(
point
.
x
,
point
.
y
)
def
convert_point
(
s
):
x
,
y
=
map
(
float
,
s
.
split
(
";"
))
return
Point
(
x
,
y
)
# Register the adapter
sqlite3
.
register_adapter
(
Point
,
adapt_point
)
# Register the converter
sqlite3
.
register_converter
(
"point"
,
convert_point
)
p
=
Point
(
4.0
,
-
3.2
)
#########################
# 1) Using declared types
con
=
sqlite3
.
connect
(
":memory:"
,
detect_types
=
sqlite3
.
PARSE_DECLTYPES
)
cur
=
con
.
cursor
()
cur
.
execute
(
"create table test(p point)"
)
cur
.
execute
(
"insert into test(p) values (?)"
,
(
p
,))
cur
.
execute
(
"select p from test"
)
print
"with declared types:"
,
cur
.
fetchone
()[
0
]
cur
.
close
()
con
.
close
()
#######################
# 1) Using column names
con
=
sqlite3
.
connect
(
":memory:"
,
detect_types
=
sqlite3
.
PARSE_COLNAMES
)
cur
=
con
.
cursor
()
cur
.
execute
(
"create table test(p)"
)
cur
.
execute
(
"insert into test(p) values (?)"
,
(
p
,))
cur
.
execute
(
'select p as "p [point]" from test'
)
print
"with column names:"
,
cur
.
fetchone
()[
0
]
cur
.
close
()
con
.
close
()
Doc/lib/sqlite3/countcursors.py
View file @
1b383570
import
sqlite3
class
CountCursorsConnection
(
sqlite3
.
Connection
):
def
__init__
(
self
,
*
args
,
**
kwargs
):
sqlite3
.
Connection
.
__init__
(
self
,
*
args
,
**
kwargs
)
self
.
numcursors
=
0
def
cursor
(
self
,
*
args
,
**
kwargs
):
self
.
numcursors
+=
1
return
sqlite3
.
Connection
.
cursor
(
self
,
*
args
,
**
kwargs
)
con
=
sqlite3
.
connect
(
":memory:"
,
factory
=
CountCursorsConnection
)
cur1
=
con
.
cursor
()
cur2
=
con
.
cursor
()
print
con
.
numcursors
import
sqlite3
class
CountCursorsConnection
(
sqlite3
.
Connection
):
def
__init__
(
self
,
*
args
,
**
kwargs
):
sqlite3
.
Connection
.
__init__
(
self
,
*
args
,
**
kwargs
)
self
.
numcursors
=
0
def
cursor
(
self
,
*
args
,
**
kwargs
):
self
.
numcursors
+=
1
return
sqlite3
.
Connection
.
cursor
(
self
,
*
args
,
**
kwargs
)
con
=
sqlite3
.
connect
(
":memory:"
,
factory
=
CountCursorsConnection
)
cur1
=
con
.
cursor
()
cur2
=
con
.
cursor
()
print
con
.
numcursors
Doc/lib/sqlite3/createdb.py
View file @
1b383570
# Not referenced from the documentation, but builds the database file the other
# code snippets expect.
import
sqlite3
import
os
DB_FILE
=
"mydb"
if
os
.
path
.
exists
(
DB_FILE
):
os
.
remove
(
DB_FILE
)
con
=
sqlite3
.
connect
(
DB_FILE
)
cur
=
con
.
cursor
()
cur
.
execute
(
"""
create table people
(
name_last varchar(20),
age integer
)
"""
)
cur
.
execute
(
"insert into people (name_last, age) values ('Yeltsin', 72)"
)
cur
.
execute
(
"insert into people (name_last, age) values ('Putin', 51)"
)
con
.
commit
()
cur
.
close
()
con
.
close
()
# Not referenced from the documentation, but builds the database file the other
# code snippets expect.
import
sqlite3
import
os
DB_FILE
=
"mydb"
if
os
.
path
.
exists
(
DB_FILE
):
os
.
remove
(
DB_FILE
)
con
=
sqlite3
.
connect
(
DB_FILE
)
cur
=
con
.
cursor
()
cur
.
execute
(
"""
create table people
(
name_last varchar(20),
age integer
)
"""
)
cur
.
execute
(
"insert into people (name_last, age) values ('Yeltsin', 72)"
)
cur
.
execute
(
"insert into people (name_last, age) values ('Putin', 51)"
)
con
.
commit
()
cur
.
close
()
con
.
close
()
Doc/lib/sqlite3/execsql_fetchonerow.py
View file @
1b383570
import
sqlite3
con
=
sqlite3
.
connect
(
"mydb"
)
cur
=
con
.
cursor
()
SELECT
=
"select name_last, age from people order by age, name_last"
# 1. Iterate over the rows available from the cursor, unpacking the
# resulting sequences to yield their elements (name_last, age):
cur
.
execute
(
SELECT
)
for
(
name_last
,
age
)
in
cur
:
print
'%s is %d years old.'
%
(
name_last
,
age
)
# 2. Equivalently:
cur
.
execute
(
SELECT
)
for
row
in
cur
:
print
'%s is %d years old.'
%
(
row
[
0
],
row
[
1
])
import
sqlite3
con
=
sqlite3
.
connect
(
"mydb"
)
cur
=
con
.
cursor
()
SELECT
=
"select name_last, age from people order by age, name_last"
# 1. Iterate over the rows available from the cursor, unpacking the
# resulting sequences to yield their elements (name_last, age):
cur
.
execute
(
SELECT
)
for
(
name_last
,
age
)
in
cur
:
print
'%s is %d years old.'
%
(
name_last
,
age
)
# 2. Equivalently:
cur
.
execute
(
SELECT
)
for
row
in
cur
:
print
'%s is %d years old.'
%
(
row
[
0
],
row
[
1
])
Doc/lib/sqlite3/execsql_printall_1.py
View file @
1b383570
import
sqlite3
# Create a connection to the database file "mydb":
con
=
sqlite3
.
connect
(
"mydb"
)
# Get a Cursor object that operates in the context of Connection con:
cur
=
con
.
cursor
()
# Execute the SELECT statement:
cur
.
execute
(
"select * from people order by age"
)
# Retrieve all rows as a sequence and print that sequence:
print
cur
.
fetchall
()
import
sqlite3
# Create a connection to the database file "mydb":
con
=
sqlite3
.
connect
(
"mydb"
)
# Get a Cursor object that operates in the context of Connection con:
cur
=
con
.
cursor
()
# Execute the SELECT statement:
cur
.
execute
(
"select * from people order by age"
)
# Retrieve all rows as a sequence and print that sequence:
print
cur
.
fetchall
()
Doc/lib/sqlite3/execute_1.py
View file @
1b383570
import
sqlite3
con
=
sqlite3
.
connect
(
"mydb"
)
cur
=
con
.
cursor
()
who
=
"Yeltsin"
age
=
72
cur
.
execute
(
"select name_last, age from people where name_last=? and age=?"
,
(
who
,
age
))
print
cur
.
fetchone
()
import
sqlite3
con
=
sqlite3
.
connect
(
"mydb"
)
cur
=
con
.
cursor
()
who
=
"Yeltsin"
age
=
72
cur
.
execute
(
"select name_last, age from people where name_last=? and age=?"
,
(
who
,
age
))
print
cur
.
fetchone
()
Doc/lib/sqlite3/execute_2.py
View file @
1b383570
import
sqlite3
con
=
sqlite3
.
connect
(
"mydb"
)
cur
=
con
.
cursor
()
who
=
"Yeltsin"
age
=
72
cur
.
execute
(
"select name_last, age from people where name_last=:who and age=:age"
,
{
"who"
:
who
,
"age"
:
age
})
print
cur
.
fetchone
()
import
sqlite3
con
=
sqlite3
.
connect
(
"mydb"
)
cur
=
con
.
cursor
()
who
=
"Yeltsin"
age
=
72
cur
.
execute
(
"select name_last, age from people where name_last=:who and age=:age"
,
{
"who"
:
who
,
"age"
:
age
})
print
cur
.
fetchone
()
Doc/lib/sqlite3/execute_3.py
View file @
1b383570
import
sqlite3
con
=
sqlite3
.
connect
(
"mydb"
)
cur
=
con
.
cursor
()
who
=
"Yeltsin"
age
=
72
cur
.
execute
(
"select name_last, age from people where name_last=:who and age=:age"
,
locals
())
print
cur
.
fetchone
()
import
sqlite3
con
=
sqlite3
.
connect
(
"mydb"
)
cur
=
con
.
cursor
()
who
=
"Yeltsin"
age
=
72
cur
.
execute
(
"select name_last, age from people where name_last=:who and age=:age"
,
locals
())
print
cur
.
fetchone
()
Doc/lib/sqlite3/executemany_1.py
View file @
1b383570
import
sqlite3
class
IterChars
:
def
__init__
(
self
):
self
.
count
=
ord
(
'a'
)
def
__iter__
(
self
):
return
self
def
next
(
self
):
if
self
.
count
>
ord
(
'z'
):
raise
StopIteration
self
.
count
+=
1
return
(
chr
(
self
.
count
-
1
),)
# this is a 1-tuple
con
=
sqlite3
.
connect
(
":memory:"
)
cur
=
con
.
cursor
()
cur
.
execute
(
"create table characters(c)"
)
theIter
=
IterChars
()
cur
.
executemany
(
"insert into characters(c) values (?)"
,
theIter
)
cur
.
execute
(
"select c from characters"
)
print
cur
.
fetchall
()
import
sqlite3
class
IterChars
:
def
__init__
(
self
):
self
.
count
=
ord
(
'a'
)
def
__iter__
(
self
):
return
self
def
next
(
self
):
if
self
.
count
>
ord
(
'z'
):
raise
StopIteration
self
.
count
+=
1
return
(
chr
(
self
.
count
-
1
),)
# this is a 1-tuple
con
=
sqlite3
.
connect
(
":memory:"
)
cur
=
con
.
cursor
()
cur
.
execute
(
"create table characters(c)"
)
theIter
=
IterChars
()
cur
.
executemany
(
"insert into characters(c) values (?)"
,
theIter
)
cur
.
execute
(
"select c from characters"
)
print
cur
.
fetchall
()
Doc/lib/sqlite3/executemany_2.py
View file @
1b383570
import
sqlite3
def
char_generator
():
import
string
for
c
in
string
.
letters
[:
26
]:
yield
(
c
,)
con
=
sqlite3
.
connect
(
":memory:"
)
cur
=
con
.
cursor
()
cur
.
execute
(
"create table characters(c)"
)
cur
.
executemany
(
"insert into characters(c) values (?)"
,
char_generator
())
cur
.
execute
(
"select c from characters"
)
print
cur
.
fetchall
()
import
sqlite3
def
char_generator
():
import
string
for
c
in
string
.
letters
[:
26
]:
yield
(
c
,)
con
=
sqlite3
.
connect
(
":memory:"
)
cur
=
con
.
cursor
()
cur
.
execute
(
"create table characters(c)"
)
cur
.
executemany
(
"insert into characters(c) values (?)"
,
char_generator
())
cur
.
execute
(
"select c from characters"
)
print
cur
.
fetchall
()
Doc/lib/sqlite3/executescript.py
View file @
1b383570
import
sqlite3
con
=
sqlite3
.
connect
(
":memory:"
)
cur
=
con
.
cursor
()
cur
.
executescript
(
"""
create table person(
firstname,
lastname,
age
);
create table book(
title,
author,
published
);
insert into book(title, author, published)
values (
'Dirk Gently''s Holistic Detective Agency
'Douglas Adams',
1987
);
"""
)
import
sqlite3
con
=
sqlite3
.
connect
(
":memory:"
)
cur
=
con
.
cursor
()
cur
.
executescript
(
"""
create table person(
firstname,
lastname,
age
);
create table book(
title,
author,
published
);
insert into book(title, author, published)
values (
'Dirk Gently''s Holistic Detective Agency
'Douglas Adams',
1987
);
"""
)
Doc/lib/sqlite3/insert_more_people.py
View file @
1b383570
import
sqlite3
con
=
sqlite3
.
connect
(
"mydb"
)
cur
=
con
.
cursor
()
newPeople
=
(
(
'Lebed'
,
53
),
(
'Zhirinovsky'
,
57
),
)
for
person
in
newPeople
:
cur
.
execute
(
"insert into people (name_last, age) values (?, ?)"
,
person
)
# The changes will not be saved unless the transaction is committed explicitly:
con
.
commit
()
import
sqlite3
con
=
sqlite3
.
connect
(
"mydb"
)
cur
=
con
.
cursor
()
newPeople
=
(
(
'Lebed'
,
53
),
(
'Zhirinovsky'
,
57
),
)
for
person
in
newPeople
:
cur
.
execute
(
"insert into people (name_last, age) values (?, ?)"
,
person
)
# The changes will not be saved unless the transaction is committed explicitly:
con
.
commit
()
Doc/lib/sqlite3/md5func.py
View file @
1b383570
import
sqlite3
import
md5
def
md5sum
(
t
):
return
md5
.
md5
(
t
).
hexdigest
()
con
=
sqlite3
.
connect
(
":memory:"
)
con
.
create_function
(
"md5"
,
1
,
md5sum
)
cur
=
con
.
cursor
()
cur
.
execute
(
"select md5(?)"
,
(
"foo"
,))
print
cur
.
fetchone
()[
0
]
import
sqlite3
import
md5
def
md5sum
(
t
):
return
md5
.
md5
(
t
).
hexdigest
()
con
=
sqlite3
.
connect
(
":memory:"
)
con
.
create_function
(
"md5"
,
1
,
md5sum
)
cur
=
con
.
cursor
()
cur
.
execute
(
"select md5(?)"
,
(
"foo"
,))
print
cur
.
fetchone
()[
0
]
Doc/lib/sqlite3/mysumaggr.py
View file @
1b383570
import
sqlite3
class
MySum
:
def
__init__
(
self
):
self
.
count
=
0
def
step
(
self
,
value
):
self
.
count
+=
value
def
finalize
(
self
):
return
self
.
count
con
=
sqlite3
.
connect
(
":memory:"
)
con
.
create_aggregate
(
"mysum"
,
1
,
MySum
)
cur
=
con
.
cursor
()
cur
.
execute
(
"create table test(i)"
)
cur
.
execute
(
"insert into test(i) values (1)"
)
cur
.
execute
(
"insert into test(i) values (2)"
)
cur
.
execute
(
"select mysum(i) from test"
)
print
cur
.
fetchone
()[
0
]
import
sqlite3
class
MySum
:
def
__init__
(
self
):
self
.
count
=
0
def
step
(
self
,
value
):
self
.
count
+=
value
def
finalize
(
self
):
return
self
.
count
con
=
sqlite3
.
connect
(
":memory:"
)
con
.
create_aggregate
(
"mysum"
,
1
,
MySum
)
cur
=
con
.
cursor
()
cur
.
execute
(
"create table test(i)"
)
cur
.
execute
(
"insert into test(i) values (1)"
)
cur
.
execute
(
"insert into test(i) values (2)"
)
cur
.
execute
(
"select mysum(i) from test"
)
print
cur
.
fetchone
()[
0
]
Doc/lib/sqlite3/parse_colnames.py
View file @
1b383570
import
sqlite3
import
datetime
con
=
sqlite3
.
connect
(
":memory:"
,
detect_types
=
sqlite3
.
PARSE_COLNAMES
)
cur
=
con
.
cursor
()
cur
.
execute
(
'select ? as "x [timestamp]"'
,
(
datetime
.
datetime
.
now
(),))
dt
=
cur
.
fetchone
()[
0
]
print
dt
,
type
(
dt
)
import
sqlite3
import
datetime
con
=
sqlite3
.
connect
(
":memory:"
,
detect_types
=
sqlite3
.
PARSE_COLNAMES
)
cur
=
con
.
cursor
()
cur
.
execute
(
'select ? as "x [timestamp]"'
,
(
datetime
.
datetime
.
now
(),))
dt
=
cur
.
fetchone
()[
0
]
print
dt
,
type
(
dt
)
Doc/lib/sqlite3/pysqlite_datetime.py
View file @
1b383570
import
sqlite3
import
datetime
con
=
sqlite3
.
connect
(
":memory:"
,
detect_types
=
sqlite3
.
PARSE_DECLTYPES
|
sqlite3
.
PARSE_COLNAMES
)
cur
=
con
.
cursor
()
cur
.
execute
(
"create table test(d date, ts timestamp)"
)
today
=
datetime
.
date
.
today
()
now
=
datetime
.
datetime
.
now
()
cur
.
execute
(
"insert into test(d, ts) values (?, ?)"
,
(
today
,
now
))
cur
.
execute
(
"select d, ts from test"
)
row
=
cur
.
fetchone
()
print
today
,
"=>"
,
row
[
0
],
type
(
row
[
0
])
print
now
,
"=>"
,
row
[
1
],
type
(
row
[
1
])
cur
.
execute
(
'select current_date as "d [date]", current_timestamp as "ts [timestamp]"'
)
row
=
cur
.
fetchone
()
print
"current_date"
,
row
[
0
],
type
(
row
[
0
])
print
"current_timestamp"
,
row
[
1
],
type
(
row
[
1
])
import
sqlite3
import
datetime
con
=
sqlite3
.
connect
(
":memory:"
,
detect_types
=
sqlite3
.
PARSE_DECLTYPES
|
sqlite3
.
PARSE_COLNAMES
)
cur
=
con
.
cursor
()
cur
.
execute
(
"create table test(d date, ts timestamp)"
)
today
=
datetime
.
date
.
today
()
now
=
datetime
.
datetime
.
now
()
cur
.
execute
(
"insert into test(d, ts) values (?, ?)"
,
(
today
,
now
))
cur
.
execute
(
"select d, ts from test"
)
row
=
cur
.
fetchone
()
print
today
,
"=>"
,
row
[
0
],
type
(
row
[
0
])
print
now
,
"=>"
,
row
[
1
],
type
(
row
[
1
])
cur
.
execute
(
'select current_date as "d [date]", current_timestamp as "ts [timestamp]"'
)
row
=
cur
.
fetchone
()
print
"current_date"
,
row
[
0
],
type
(
row
[
0
])
print
"current_timestamp"
,
row
[
1
],
type
(
row
[
1
])
Doc/lib/sqlite3/row_factory.py
View file @
1b383570
import
sqlite3
def
dict_factory
(
cursor
,
row
):
d
=
{}
for
idx
,
col
in
enumerate
(
cursor
.
description
):
d
[
col
[
0
]]
=
row
[
idx
]
return
d
con
=
sqlite3
.
connect
(
":memory:"
)
con
.
row_factory
=
dict_factory
cur
=
con
.
cursor
()
cur
.
execute
(
"select 1 as a"
)
print
cur
.
fetchone
()[
"a"
]
import
sqlite3
def
dict_factory
(
cursor
,
row
):
d
=
{}
for
idx
,
col
in
enumerate
(
cursor
.
description
):
d
[
col
[
0
]]
=
row
[
idx
]
return
d
con
=
sqlite3
.
connect
(
":memory:"
)
con
.
row_factory
=
dict_factory
cur
=
con
.
cursor
()
cur
.
execute
(
"select 1 as a"
)
print
cur
.
fetchone
()[
"a"
]
Doc/lib/sqlite3/shortcut_methods.py
View file @
1b383570
import
sqlite3
persons
=
[
(
"Hugo"
,
"Boss"
),
(
"Calvin"
,
"Klein"
)
]
con
=
sqlite3
.
connect
(
":memory:"
)
# Create the table
con
.
execute
(
"create table person(firstname, lastname)"
)
# Fill the table
con
.
executemany
(
"insert into person(firstname, lastname) values (?, ?)"
,
persons
)
# Print the table contents
for
row
in
con
.
execute
(
"select firstname, lastname from person"
):
print
row
# Using a dummy WHERE clause to not let SQLite take the shortcut table deletes.
print
"I just deleted"
,
con
.
execute
(
"delete from person where 1=1"
).
rowcount
,
"rows"
import
sqlite3
persons
=
[
(
"Hugo"
,
"Boss"
),
(
"Calvin"
,
"Klein"
)
]
con
=
sqlite3
.
connect
(
":memory:"
)
# Create the table
con
.
execute
(
"create table person(firstname, lastname)"
)
# Fill the table
con
.
executemany
(
"insert into person(firstname, lastname) values (?, ?)"
,
persons
)
# Print the table contents
for
row
in
con
.
execute
(
"select firstname, lastname from person"
):
print
row
# Using a dummy WHERE clause to not let SQLite take the shortcut table deletes.
print
"I just deleted"
,
con
.
execute
(
"delete from person where 1=1"
).
rowcount
,
"rows"
Doc/lib/sqlite3/simple_tableprinter.py
View file @
1b383570
import
sqlite3
FIELD_MAX_WIDTH
=
20
TABLE_NAME
=
'people'
SELECT
=
'select * from %s order by age, name_last'
%
TABLE_NAME
con
=
sqlite3
.
connect
(
"mydb"
)
cur
=
con
.
cursor
()
cur
.
execute
(
SELECT
)
# Print a header.
for
fieldDesc
in
cur
.
description
:
print
fieldDesc
[
0
].
ljust
(
FIELD_MAX_WIDTH
)
,
print
# Finish the header with a newline.
print
'-'
*
78
# For each row, print the value of each field left-justified within
# the maximum possible width of that field.
fieldIndices
=
range
(
len
(
cur
.
description
))
for
row
in
cur
:
for
fieldIndex
in
fieldIndices
:
fieldValue
=
str
(
row
[
fieldIndex
])
print
fieldValue
.
ljust
(
FIELD_MAX_WIDTH
)
,
print
# Finish the row with a newline.
import
sqlite3
FIELD_MAX_WIDTH
=
20
TABLE_NAME
=
'people'
SELECT
=
'select * from %s order by age, name_last'
%
TABLE_NAME
con
=
sqlite3
.
connect
(
"mydb"
)
cur
=
con
.
cursor
()
cur
.
execute
(
SELECT
)
# Print a header.
for
fieldDesc
in
cur
.
description
:
print
fieldDesc
[
0
].
ljust
(
FIELD_MAX_WIDTH
)
,
print
# Finish the header with a newline.
print
'-'
*
78
# For each row, print the value of each field left-justified within
# the maximum possible width of that field.
fieldIndices
=
range
(
len
(
cur
.
description
))
for
row
in
cur
:
for
fieldIndex
in
fieldIndices
:
fieldValue
=
str
(
row
[
fieldIndex
])
print
fieldValue
.
ljust
(
FIELD_MAX_WIDTH
)
,
print
# Finish the row with a newline.
Doc/lib/sqlite3/text_factory.py
View file @
1b383570
import
sqlite3
con
=
sqlite3
.
connect
(
":memory:"
)
cur
=
con
.
cursor
()
# Create the table
con
.
execute
(
"create table person(lastname, firstname)"
)
AUSTRIA
=
u"
\
xd6
sterreich"
# by default, rows are returned as Unicode
cur
.
execute
(
"select ?"
,
(
AUSTRIA
,))
row
=
cur
.
fetchone
()
assert
row
[
0
]
==
AUSTRIA
# but we can make pysqlite always return bytestrings ...
con
.
text_factory
=
str
cur
.
execute
(
"select ?"
,
(
AUSTRIA
,))
row
=
cur
.
fetchone
()
assert
type
(
row
[
0
])
==
str
# the bytestrings will be encoded in UTF-8, unless you stored garbage in the
# database ...
assert
row
[
0
]
==
AUSTRIA
.
encode
(
"utf-8"
)
# we can also implement a custom text_factory ...
# here we implement one that will ignore Unicode characters that cannot be
# decoded from UTF-8
con
.
text_factory
=
lambda
x
:
unicode
(
x
,
"utf-8"
,
"ignore"
)
cur
.
execute
(
"select ?"
,
(
"this is latin1 and would normally create errors"
+
u"
\
xe4
\
xf6
\
xfc
"
.
encode
(
"latin1"
),))
row
=
cur
.
fetchone
()
assert
type
(
row
[
0
])
==
unicode
# pysqlite offers a builtin optimized text_factory that will return bytestring
# objects, if the data is in ASCII only, and otherwise return unicode objects
con
.
text_factory
=
sqlite3
.
OptimizedUnicode
cur
.
execute
(
"select ?"
,
(
AUSTRIA
,))
row
=
cur
.
fetchone
()
assert
type
(
row
[
0
])
==
unicode
cur
.
execute
(
"select ?"
,
(
"Germany"
,))
row
=
cur
.
fetchone
()
assert
type
(
row
[
0
])
==
str
import
sqlite3
con
=
sqlite3
.
connect
(
":memory:"
)
cur
=
con
.
cursor
()
# Create the table
con
.
execute
(
"create table person(lastname, firstname)"
)
AUSTRIA
=
u"
\
xd6
sterreich"
# by default, rows are returned as Unicode
cur
.
execute
(
"select ?"
,
(
AUSTRIA
,))
row
=
cur
.
fetchone
()
assert
row
[
0
]
==
AUSTRIA
# but we can make pysqlite always return bytestrings ...
con
.
text_factory
=
str
cur
.
execute
(
"select ?"
,
(
AUSTRIA
,))
row
=
cur
.
fetchone
()
assert
type
(
row
[
0
])
==
str
# the bytestrings will be encoded in UTF-8, unless you stored garbage in the
# database ...
assert
row
[
0
]
==
AUSTRIA
.
encode
(
"utf-8"
)
# we can also implement a custom text_factory ...
# here we implement one that will ignore Unicode characters that cannot be
# decoded from UTF-8
con
.
text_factory
=
lambda
x
:
unicode
(
x
,
"utf-8"
,
"ignore"
)
cur
.
execute
(
"select ?"
,
(
"this is latin1 and would normally create errors"
+
u"
\
xe4
\
xf6
\
xfc
"
.
encode
(
"latin1"
),))
row
=
cur
.
fetchone
()
assert
type
(
row
[
0
])
==
unicode
# pysqlite offers a builtin optimized text_factory that will return bytestring
# objects, if the data is in ASCII only, and otherwise return unicode objects
con
.
text_factory
=
sqlite3
.
OptimizedUnicode
cur
.
execute
(
"select ?"
,
(
AUSTRIA
,))
row
=
cur
.
fetchone
()
assert
type
(
row
[
0
])
==
unicode
cur
.
execute
(
"select ?"
,
(
"Germany"
,))
row
=
cur
.
fetchone
()
assert
type
(
row
[
0
])
==
str
Lib/test/test_bigmem.py
View file @
1b383570
This diff is collapsed.
Click to expand it.
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