summaryrefslogtreecommitdiff
path: root/doc/includes/sqlite3/progress.py
blob: b30941d54f9b246ec04aa5d72ccd603d739b0f69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from pysqlite2 import dbapi2 as sqlite3

def progress():
    print "Query still executing. Please wait ..."

con = sqlite3.connect(":memory:")
con.execute("create table test(x)")

# Let's create some data
con.executemany("insert into test(x) values (?)", [(x,) for x in xrange(300)])

# A progress handler, executed every 10 million opcodes
con.set_progress_handler(progress, 10000000)

# A particularly long-running query
killer_stament = """
    select count(*) from (
        select t1.x from test t1, test t2, test t3
    )
    """

con.execute(killer_stament)
print "-" * 50

# Clear the progress handler
con.set_progress_handler(None, 0)

con.execute(killer_stament)