** (evolution:10378): DEBUG: mailto URL command: evolution %s
** (evolution:10378): DEBUG: mailto URL program: evolution

Database succesfully opened  

===========
DB SQL operation [PRAGMA cache_size=100] started
Camel SQL Exec:
PRAGMA cache_size=100
DB Operation ended. Time Taken : 0.002152
###########
store_db_path /home/swany/.evolution/mail/local/folders.db

===========
DB SQL operation [CREATE TABLE IF NOT EXISTS folders ( folder_name TEXT PRIMARY KEY, version REAL, flags INTEGER, nextuid INTEGER, time NUMERIC, saved_count INTEGER, unread_count INTEGER, deleted_count INTEGER, junk_count INTEGER, visible_count INTEGER, jnd_count INTEGER, bdata TEXT )] started
Camel SQL Exec:
CREATE TABLE IF NOT EXISTS folders ( folder_name TEXT PRIMARY KEY, version REAL, flags INTEGER, nextuid INTEGER, time NUMERIC, saved_count INTEGER, unread_count INTEGER, deleted_count INTEGER, junk_count INTEGER, visible_count INTEGER, jnd_count INTEGER, bdata TEXT )
DB Operation ended. Time Taken : 0.000033
###########

Database succesfully opened  

===========
DB SQL operation [PRAGMA cache_size=100] started
Camel SQL Exec:
PRAGMA cache_size=100
DB Operation ended. Time Taken : 0.002019
###########
Creating Collation mbox_frompos_sort on bdata with 0xb49ebf80

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'Inbox' 

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'Inbox'] started

read_fir_callback called 
DB Operation ended. Time Taken : 0.000090
###########

camel_db_select:
SELECT uid,flags FROM 'Inbox' order by bdata collate mbox_frompos_sort 

===========
DB SQL operation [SELECT uid,flags FROM 'Inbox' order by bdata collate mbox_frompos_sort] started
DB Operation ended. Time Taken : 0.001825
###########
Thread b65d7710 >
CamelStore('mbox:/home/swany/.evolution/mail/local'):get_folder('Inbox', 1) = 0x830e480
< b65d7710 >
Creating Collation mbox_frompos_sort on bdata with 0xb49ebf80

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'Drafts' 

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'Drafts'] started
DB Operation ended. Time Taken : 0.000044
###########

camel_db_select:
SELECT uid,flags FROM 'Drafts' order by bdata collate mbox_frompos_sort 

===========
DB SQL operation [SELECT uid,flags FROM 'Drafts' order by bdata collate mbox_frompos_sort] started
DB Operation ended. Time Taken : 0.000021
###########

(evolution:10378): camel-WARNING **: Error in select statement 'SELECT uid,flags FROM 'Drafts' order by bdata collate mbox_frompos_sort' [no such table: Drafts].

Thread b65d7710 >
CamelStore('mbox:/home/swany/.evolution/mail/local'):get_folder('Drafts', 1) = 0x830e4f8
< b65d7710 >
Creating Collation mbox_frompos_sort on bdata with 0xb49ebf80

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'Outbox' 

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'Outbox'] started

read_fir_callback called 
DB Operation ended. Time Taken : 0.000070
###########

camel_db_select:
SELECT uid,flags FROM 'Outbox' order by bdata collate mbox_frompos_sort 

===========
DB SQL operation [SELECT uid,flags FROM 'Outbox' order by bdata collate mbox_frompos_sort] started
DB Operation ended. Time Taken : 0.000020
###########

(evolution:10378): camel-WARNING **: Error in select statement 'SELECT uid,flags FROM 'Outbox' order by bdata collate mbox_frompos_sort' [no such table: Outbox].

Thread b65d7710 >
CamelStore('mbox:/home/swany/.evolution/mail/local'):get_folder('Outbox', 1) = 0x830e570
< b65d7710 >
Creating Collation mbox_frompos_sort on bdata with 0xb49ebf80

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'Sent' 

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'Sent'] started

read_fir_callback called 
DB Operation ended. Time Taken : 0.000075
###########

camel_db_select:
SELECT uid,flags FROM 'Sent' order by bdata collate mbox_frompos_sort 

===========
DB SQL operation [SELECT uid,flags FROM 'Sent' order by bdata collate mbox_frompos_sort] started
DB Operation ended. Time Taken : 0.000061
###########
Thread b65d7710 >
CamelStore('mbox:/home/swany/.evolution/mail/local'):get_folder('Sent', 1) = 0x830e5e8
< b65d7710 >
Creating Collation mbox_frompos_sort on bdata with 0xb49ebf80

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'Templates' 

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'Templates'] started
DB Operation ended. Time Taken : 0.000046
###########

camel_db_select:
SELECT uid,flags FROM 'Templates' order by bdata collate mbox_frompos_sort 

===========
DB SQL operation [SELECT uid,flags FROM 'Templates' order by bdata collate mbox_frompos_sort] started
DB Operation ended. Time Taken : 0.000019
###########

(evolution:10378): camel-WARNING **: Error in select statement 'SELECT uid,flags FROM 'Templates' order by bdata collate mbox_frompos_sort' [no such table: Templates].

Thread b65d7710 >
CamelStore('mbox:/home/swany/.evolution/mail/local'):get_folder('Templates', 1) = 0x830e660
< b65d7710 >
Thread b65d7710 >
CamelStore('mbox:/home/swany/.evolution/mail/local'):get_folder('Inbox', 1) = 0x830e480
< b65d7710 >

Database succesfully opened  

===========
DB SQL operation [PRAGMA cache_size=100] started
Camel SQL Exec:
PRAGMA cache_size=100
DB Operation ended. Time Taken : 0.000108
###########
store_db_path /home/swany/.evolution/mail/vfolder/folders.db

===========
DB SQL operation [CREATE TABLE IF NOT EXISTS folders ( folder_name TEXT PRIMARY KEY, version REAL, flags INTEGER, nextuid INTEGER, time NUMERIC, saved_count INTEGER, unread_count INTEGER, deleted_count INTEGER, junk_count INTEGER, visible_count INTEGER, jnd_count INTEGER, bdata TEXT )] started
Camel SQL Exec:
CREATE TABLE IF NOT EXISTS folders ( folder_name TEXT PRIMARY KEY, version REAL, flags INTEGER, nextuid INTEGER, time NUMERIC, saved_count INTEGER, unread_count INTEGER, deleted_count INTEGER, junk_count INTEGER, visible_count INTEGER, jnd_count INTEGER, bdata TEXT )
DB Operation ended. Time Taken : 0.000022
###########

Database succesfully opened  

===========
DB SQL operation [PRAGMA cache_size=100] started
Camel SQL Exec:
PRAGMA cache_size=100
DB Operation ended. Time Taken : 0.000099
###########
Thread b5a73b90 >
Get folder info(0x831c4d0:vfolder:/home/swany/.evolution/mail/vfolder, '<null>') =
< b5a73b90 >
Thread b414fb90 >
CamelStore('mbox:/home/swany/.evolution/mail/local'):get_folder('Inbox', 0) = 0x830e480
< b414fb90 >

===========
DB SQL operation [CREATE TABLE IF NOT EXISTS '.#evolution/Trash' (  vuid TEXT PRIMARY KEY)] started
Camel SQL Exec:
CREATE TABLE IF NOT EXISTS '.#evolution/Trash' (  vuid TEXT PRIMARY KEY)
DB Operation ended. Time Taken : 0.000037
###########

===========
DB SQL operation [CREATE INDEX IF NOT EXISTS 'VINDEX-.#evolution/Trash' ON '.#evolution/Trash' (vuid)] started
Camel SQL Exec:
CREATE INDEX IF NOT EXISTS 'VINDEX-.#evolution/Trash' ON '.#evolution/Trash' (vuid)
DB Operation ended. Time Taken : 0.000022
###########

camel_db_select:
SELECT * FROM folders WHERE folder_name = '.#evolution/Trash' 

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = '.#evolution/Trash'] started

read_fir_callback called 
DB Operation ended. Time Taken : 0.000101
###########

camel_db_select:
SELECT vuid FROM '.#evolution/Trash' WHERE vuid LIKE 'cbCIvOsn%' 

===========
DB SQL operation [SELECT vuid FROM '.#evolution/Trash' WHERE vuid LIKE 'cbCIvOsn%'] started
DB Operation ended. Time Taken : 0.000036
###########
sexp is : [(match-all (system-flag "Deleted"))]
Equivalent sql SELECT uid FROM 'Drafts' WHERE (deleted = 1)

camel_db_select:
SELECT uid FROM 'Drafts' WHERE (deleted = 1) 

===========
DB SQL operation [SELECT uid FROM 'Drafts' WHERE (deleted = 1)] started
DB Operation ended. Time Taken : 0.000020
###########

(evolution:10378): camel-WARNING **: Error in select statement 'SELECT uid FROM 'Drafts' WHERE (deleted = 1)' [no such table: Drafts].

sexp is : [and ((match-all (system-flag "Deleted")) (match-all (system-flag  "junk")))]
Equivalent sql SELECT COUNT (*) FROM 'Drafts' WHERE ( (deleted = 1) AND (junk = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Drafts' WHERE ( (deleted = 1) AND (junk = 1) )] started
DB Operation ended. Time Taken : 0.000021
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Drafts' WHERE ( (deleted = 1) AND (junk = 1) ) [no such table: Drafts]
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (system-flag  "deleted")))]
Equivalent sql SELECT COUNT (*) FROM 'Drafts' WHERE ( (deleted = 1) AND (deleted = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Drafts' WHERE ( (deleted = 1) AND (deleted = 1) )] started
DB Operation ended. Time Taken : 0.000020
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Drafts' WHERE ( (deleted = 1) AND (deleted = 1) ) [no such table: Drafts]
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (not (system-flag  "Seen"))))]
Equivalent sql SELECT COUNT (*) FROM 'Drafts' WHERE ( (deleted = 1) AND (NOT ((read = 1))) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Drafts' WHERE ( (deleted = 1) AND (NOT ((read = 1))) )] started
DB Operation ended. Time Taken : 0.000020
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Drafts' WHERE ( (deleted = 1) AND (NOT ((read = 1))) ) [no such table: Drafts]
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (and (not (system-flag "deleted")) (not (system-flag "junk")))))]
Equivalent sql SELECT COUNT (*) FROM 'Drafts' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Drafts' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )] started
DB Operation ended. Time Taken : 0.000022
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Drafts' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) ) [no such table: Drafts]
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (and (not (system-flag "deleted")) (system-flag "junk"))))]
Equivalent sql SELECT COUNT (*) FROM 'Drafts' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Drafts' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )] started
DB Operation ended. Time Taken : 0.000021
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Drafts' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) ) [no such table: Drafts]
Camel SQL Exec:
BEGIN

===========
DB SQL operation [COMMIT] started
Camel SQL Exec:
COMMIT
DB Operation ended. Time Taken : 0.000011
###########

camel_db_select:
SELECT vuid FROM '.#evolution/Trash' WHERE vuid LIKE '3._rGBK3%' 

===========
DB SQL operation [SELECT vuid FROM '.#evolution/Trash' WHERE vuid LIKE '3._rGBK3%'] started
DB Operation ended. Time Taken : 0.000029
###########
sexp is : [(match-all (system-flag "Deleted"))]
Equivalent sql SELECT uid FROM 'Templates' WHERE (deleted = 1)

camel_db_select:
SELECT uid FROM 'Templates' WHERE (deleted = 1) 

===========
DB SQL operation [SELECT uid FROM 'Templates' WHERE (deleted = 1)] started
DB Operation ended. Time Taken : 0.000019
###########

(evolution:10378): camel-WARNING **: Error in select statement 'SELECT uid FROM 'Templates' WHERE (deleted = 1)' [no such table: Templates].

sexp is : [and ((match-all (system-flag "Deleted")) (match-all (system-flag  "junk")))]
Equivalent sql SELECT COUNT (*) FROM 'Templates' WHERE ( (deleted = 1) AND (junk = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Templates' WHERE ( (deleted = 1) AND (junk = 1) )] started
DB Operation ended. Time Taken : 0.000020
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Templates' WHERE ( (deleted = 1) AND (junk = 1) ) [no such table: Templates]
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (system-flag  "deleted")))]
Equivalent sql SELECT COUNT (*) FROM 'Templates' WHERE ( (deleted = 1) AND (deleted = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Templates' WHERE ( (deleted = 1) AND (deleted = 1) )] started
DB Operation ended. Time Taken : 0.000020
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Templates' WHERE ( (deleted = 1) AND (deleted = 1) ) [no such table: Templates]
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (not (system-flag  "Seen"))))]
Equivalent sql SELECT COUNT (*) FROM 'Templates' WHERE ( (deleted = 1) AND (NOT ((read = 1))) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Templates' WHERE ( (deleted = 1) AND (NOT ((read = 1))) )] started
DB Operation ended. Time Taken : 0.000020
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Templates' WHERE ( (deleted = 1) AND (NOT ((read = 1))) ) [no such table: Templates]
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (and (not (system-flag "deleted")) (not (system-flag "junk")))))]
Equivalent sql SELECT COUNT (*) FROM 'Templates' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Templates' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )] started
DB Operation ended. Time Taken : 0.000030
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Templates' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) ) [no such table: Templates]
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (and (not (system-flag "deleted")) (system-flag "junk"))))]
Equivalent sql SELECT COUNT (*) FROM 'Templates' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Templates' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )] started
DB Operation ended. Time Taken : 0.000022
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Templates' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) ) [no such table: Templates]
Camel SQL Exec:
BEGIN

===========
DB SQL operation [COMMIT] started
Camel SQL Exec:
COMMIT
DB Operation ended. Time Taken : 0.000011
###########

camel_db_select:
SELECT vuid FROM '.#evolution/Trash' WHERE vuid LIKE '8.h_pQUK%' 

===========
DB SQL operation [SELECT vuid FROM '.#evolution/Trash' WHERE vuid LIKE '8.h_pQUK%'] started
DB Operation ended. Time Taken : 0.000030
###########
sexp is : [(match-all (system-flag "Deleted"))]
Equivalent sql SELECT uid FROM 'Outbox' WHERE (deleted = 1)

camel_db_select:
SELECT uid FROM 'Outbox' WHERE (deleted = 1) 

===========
DB SQL operation [SELECT uid FROM 'Outbox' WHERE (deleted = 1)] started
DB Operation ended. Time Taken : 0.000020
###########

(evolution:10378): camel-WARNING **: Error in select statement 'SELECT uid FROM 'Outbox' WHERE (deleted = 1)' [no such table: Outbox].

sexp is : [and ((match-all (system-flag "Deleted")) (match-all (system-flag  "junk")))]
Equivalent sql SELECT COUNT (*) FROM 'Outbox' WHERE ( (deleted = 1) AND (junk = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Outbox' WHERE ( (deleted = 1) AND (junk = 1) )] started
DB Operation ended. Time Taken : 0.000020
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Outbox' WHERE ( (deleted = 1) AND (junk = 1) ) [no such table: Outbox]
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (system-flag  "deleted")))]
Equivalent sql SELECT COUNT (*) FROM 'Outbox' WHERE ( (deleted = 1) AND (deleted = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Outbox' WHERE ( (deleted = 1) AND (deleted = 1) )] started
DB Operation ended. Time Taken : 0.000020
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Outbox' WHERE ( (deleted = 1) AND (deleted = 1) ) [no such table: Outbox]
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (not (system-flag  "Seen"))))]
Equivalent sql SELECT COUNT (*) FROM 'Outbox' WHERE ( (deleted = 1) AND (NOT ((read = 1))) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Outbox' WHERE ( (deleted = 1) AND (NOT ((read = 1))) )] started
DB Operation ended. Time Taken : 0.000020
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Outbox' WHERE ( (deleted = 1) AND (NOT ((read = 1))) ) [no such table: Outbox]
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (and (not (system-flag "deleted")) (not (system-flag "junk")))))]
Equivalent sql SELECT COUNT (*) FROM 'Outbox' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Outbox' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )] started
DB Operation ended. Time Taken : 0.000022
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Outbox' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) ) [no such table: Outbox]
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (and (not (system-flag "deleted")) (system-flag "junk"))))]
Equivalent sql SELECT COUNT (*) FROM 'Outbox' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Outbox' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )] started
DB Operation ended. Time Taken : 0.000021
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Outbox' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) ) [no such table: Outbox]
Camel SQL Exec:
BEGIN

===========
DB SQL operation [COMMIT] started
Camel SQL Exec:
COMMIT
DB Operation ended. Time Taken : 0.000011
###########

camel_db_select:
SELECT vuid FROM '.#evolution/Trash' WHERE vuid LIKE 'gklELRFH%' 

===========
DB SQL operation [SELECT vuid FROM '.#evolution/Trash' WHERE vuid LIKE 'gklELRFH%'] started
DB Operation ended. Time Taken : 0.000029
###########
sexp is : [(match-all (system-flag "Deleted"))]
Equivalent sql SELECT uid FROM 'Inbox' WHERE (deleted = 1)

camel_db_select:
SELECT uid FROM 'Inbox' WHERE (deleted = 1) 

===========
DB SQL operation [SELECT uid FROM 'Inbox' WHERE (deleted = 1)] started
DB Operation ended. Time Taken : 0.000037
###########
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (system-flag  "junk")))]
Equivalent sql SELECT COUNT (*) FROM 'Inbox' WHERE ( (deleted = 1) AND (junk = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Inbox' WHERE ( (deleted = 1) AND (junk = 1) )] started
DB Operation ended. Time Taken : 0.000054
###########
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (system-flag  "deleted")))]
Equivalent sql SELECT COUNT (*) FROM 'Inbox' WHERE ( (deleted = 1) AND (deleted = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Inbox' WHERE ( (deleted = 1) AND (deleted = 1) )] started
DB Operation ended. Time Taken : 0.000036
###########
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (not (system-flag  "Seen"))))]
Equivalent sql SELECT COUNT (*) FROM 'Inbox' WHERE ( (deleted = 1) AND (NOT ((read = 1))) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Inbox' WHERE ( (deleted = 1) AND (NOT ((read = 1))) )] started
DB Operation ended. Time Taken : 0.000038
###########
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (and (not (system-flag "deleted")) (not (system-flag "junk")))))]
Equivalent sql SELECT COUNT (*) FROM 'Inbox' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Inbox' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )] started
DB Operation ended. Time Taken : 0.000041
###########
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (and (not (system-flag "deleted")) (system-flag "junk"))))]
Equivalent sql SELECT COUNT (*) FROM 'Inbox' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Inbox' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )] started
DB Operation ended. Time Taken : 0.000041
###########
Camel SQL Exec:
BEGIN

===========
DB SQL operation [COMMIT] started
Camel SQL Exec:
COMMIT
DB Operation ended. Time Taken : 0.000011
###########

camel_db_select:
SELECT vuid FROM '.#evolution/Trash' WHERE vuid LIKE 'f9QHQG8v%' 

===========
DB SQL operation [SELECT vuid FROM '.#evolution/Trash' WHERE vuid LIKE 'f9QHQG8v%'] started
DB Operation ended. Time Taken : 0.000029
###########
sexp is : [(match-all (system-flag "Deleted"))]
Equivalent sql SELECT uid FROM 'Sent' WHERE (deleted = 1)

camel_db_select:
SELECT uid FROM 'Sent' WHERE (deleted = 1) 

===========
DB SQL operation [SELECT uid FROM 'Sent' WHERE (deleted = 1)] started
DB Operation ended. Time Taken : 0.000035
###########
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (system-flag  "junk")))]
Equivalent sql SELECT COUNT (*) FROM 'Sent' WHERE ( (deleted = 1) AND (junk = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Sent' WHERE ( (deleted = 1) AND (junk = 1) )] started
DB Operation ended. Time Taken : 0.000040
###########
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (system-flag  "deleted")))]
Equivalent sql SELECT COUNT (*) FROM 'Sent' WHERE ( (deleted = 1) AND (deleted = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Sent' WHERE ( (deleted = 1) AND (deleted = 1) )] started
DB Operation ended. Time Taken : 0.000035
###########
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (not (system-flag  "Seen"))))]
Equivalent sql SELECT COUNT (*) FROM 'Sent' WHERE ( (deleted = 1) AND (NOT ((read = 1))) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Sent' WHERE ( (deleted = 1) AND (NOT ((read = 1))) )] started
DB Operation ended. Time Taken : 0.000037
###########
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (and (not (system-flag "deleted")) (not (system-flag "junk")))))]
Equivalent sql SELECT COUNT (*) FROM 'Sent' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Sent' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )] started
DB Operation ended. Time Taken : 0.000041
###########
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (and (not (system-flag "deleted")) (system-flag "junk"))))]
Equivalent sql SELECT COUNT (*) FROM 'Sent' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Sent' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )] started
DB Operation ended. Time Taken : 0.000056
###########
Camel SQL Exec:
BEGIN

===========
DB SQL operation [COMMIT] started
Camel SQL Exec:
COMMIT
DB Operation ended. Time Taken : 0.000011
###########
Thread b65d7710 >
CamelStore('mbox:/home/swany/.evolution/mail/local'):get_folder('.#evolution/Trash', 0) = 0x84e8c98
< b65d7710 >

===========
DB SQL operation [CREATE TABLE IF NOT EXISTS '.#evolution/Junk' (  vuid TEXT PRIMARY KEY)] started
Camel SQL Exec:
CREATE TABLE IF NOT EXISTS '.#evolution/Junk' (  vuid TEXT PRIMARY KEY)
DB Operation ended. Time Taken : 0.000017
###########

===========
DB SQL operation [CREATE INDEX IF NOT EXISTS 'VINDEX-.#evolution/Junk' ON '.#evolution/Junk' (vuid)] started
Camel SQL Exec:
CREATE INDEX IF NOT EXISTS 'VINDEX-.#evolution/Junk' ON '.#evolution/Junk' (vuid)
DB Operation ended. Time Taken : 0.000016
###########

camel_db_select:
SELECT * FROM folders WHERE folder_name = '.#evolution/Junk' 

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = '.#evolution/Junk'] started

read_fir_callback called 
DB Operation ended. Time Taken : 0.000062
###########

camel_db_select:
SELECT vuid FROM '.#evolution/Junk' WHERE vuid LIKE 'cbCIvOsn%' 

===========
DB SQL operation [SELECT vuid FROM '.#evolution/Junk' WHERE vuid LIKE 'cbCIvOsn%'] started
DB Operation ended. Time Taken : 0.000032
###########
sexp is : [(match-all (system-flag "Junk"))]
Equivalent sql SELECT uid FROM 'Drafts' WHERE (junk = 1)

camel_db_select:
SELECT uid FROM 'Drafts' WHERE (junk = 1) 

===========
DB SQL operation [SELECT uid FROM 'Drafts' WHERE (junk = 1)] started
DB Operation ended. Time Taken : 0.000019
###########

(evolution:10378): camel-WARNING **: Error in select statement 'SELECT uid FROM 'Drafts' WHERE (junk = 1)' [no such table: Drafts].

sexp is : [and ((match-all (system-flag "Junk")) (match-all (system-flag  "junk")))]
Equivalent sql SELECT COUNT (*) FROM 'Drafts' WHERE ( (junk = 1) AND (junk = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Drafts' WHERE ( (junk = 1) AND (junk = 1) )] started
DB Operation ended. Time Taken : 0.000020
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Drafts' WHERE ( (junk = 1) AND (junk = 1) ) [no such table: Drafts]
sexp is : [and ((match-all (system-flag "Junk")) (match-all (system-flag  "deleted")))]
Equivalent sql SELECT COUNT (*) FROM 'Drafts' WHERE ( (junk = 1) AND (deleted = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Drafts' WHERE ( (junk = 1) AND (deleted = 1) )] started
DB Operation ended. Time Taken : 0.000020
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Drafts' WHERE ( (junk = 1) AND (deleted = 1) ) [no such table: Drafts]
sexp is : [and ((match-all (system-flag "Junk")) (match-all (not (system-flag  "Seen"))))]
Equivalent sql SELECT COUNT (*) FROM 'Drafts' WHERE ( (junk = 1) AND (NOT ((read = 1))) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Drafts' WHERE ( (junk = 1) AND (NOT ((read = 1))) )] started
DB Operation ended. Time Taken : 0.000020
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Drafts' WHERE ( (junk = 1) AND (NOT ((read = 1))) ) [no such table: Drafts]
sexp is : [and ((match-all (system-flag "Junk")) (match-all (and (not (system-flag "deleted")) (not (system-flag "junk")))))]
Equivalent sql SELECT COUNT (*) FROM 'Drafts' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Drafts' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )] started
DB Operation ended. Time Taken : 0.000022
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Drafts' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) ) [no such table: Drafts]
sexp is : [and ((match-all (system-flag "Junk")) (match-all (and (not (system-flag "deleted")) (system-flag "junk"))))]
Equivalent sql SELECT COUNT (*) FROM 'Drafts' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Drafts' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )] started
DB Operation ended. Time Taken : 0.000022
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Drafts' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) ) [no such table: Drafts]
Camel SQL Exec:
BEGIN

===========
DB SQL operation [COMMIT] started
Camel SQL Exec:
COMMIT
DB Operation ended. Time Taken : 0.000011
###########

camel_db_select:
SELECT vuid FROM '.#evolution/Junk' WHERE vuid LIKE '3._rGBK3%' 

===========
DB SQL operation [SELECT vuid FROM '.#evolution/Junk' WHERE vuid LIKE '3._rGBK3%'] started
DB Operation ended. Time Taken : 0.000029
###########
sexp is : [(match-all (system-flag "Junk"))]
Equivalent sql SELECT uid FROM 'Templates' WHERE (junk = 1)

camel_db_select:
SELECT uid FROM 'Templates' WHERE (junk = 1) 

===========
DB SQL operation [SELECT uid FROM 'Templates' WHERE (junk = 1)] started
DB Operation ended. Time Taken : 0.000018
###########

(evolution:10378): camel-WARNING **: Error in select statement 'SELECT uid FROM 'Templates' WHERE (junk = 1)' [no such table: Templates].

sexp is : [and ((match-all (system-flag "Junk")) (match-all (system-flag  "junk")))]
Equivalent sql SELECT COUNT (*) FROM 'Templates' WHERE ( (junk = 1) AND (junk = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Templates' WHERE ( (junk = 1) AND (junk = 1) )] started
DB Operation ended. Time Taken : 0.000020
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Templates' WHERE ( (junk = 1) AND (junk = 1) ) [no such table: Templates]
sexp is : [and ((match-all (system-flag "Junk")) (match-all (system-flag  "deleted")))]
Equivalent sql SELECT COUNT (*) FROM 'Templates' WHERE ( (junk = 1) AND (deleted = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Templates' WHERE ( (junk = 1) AND (deleted = 1) )] started
DB Operation ended. Time Taken : 0.000019
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Templates' WHERE ( (junk = 1) AND (deleted = 1) ) [no such table: Templates]
sexp is : [and ((match-all (system-flag "Junk")) (match-all (not (system-flag  "Seen"))))]
Equivalent sql SELECT COUNT (*) FROM 'Templates' WHERE ( (junk = 1) AND (NOT ((read = 1))) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Templates' WHERE ( (junk = 1) AND (NOT ((read = 1))) )] started
DB Operation ended. Time Taken : 0.000020
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Templates' WHERE ( (junk = 1) AND (NOT ((read = 1))) ) [no such table: Templates]
sexp is : [and ((match-all (system-flag "Junk")) (match-all (and (not (system-flag "deleted")) (not (system-flag "junk")))))]
Equivalent sql SELECT COUNT (*) FROM 'Templates' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Templates' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )] started
DB Operation ended. Time Taken : 0.000022
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Templates' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) ) [no such table: Templates]
sexp is : [and ((match-all (system-flag "Junk")) (match-all (and (not (system-flag "deleted")) (system-flag "junk"))))]
Equivalent sql SELECT COUNT (*) FROM 'Templates' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Templates' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )] started
DB Operation ended. Time Taken : 0.000021
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Templates' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) ) [no such table: Templates]
Camel SQL Exec:
BEGIN

===========
DB SQL operation [COMMIT] started
Camel SQL Exec:
COMMIT
DB Operation ended. Time Taken : 0.000033
###########

camel_db_select:
SELECT vuid FROM '.#evolution/Junk' WHERE vuid LIKE '8.h_pQUK%' 

===========
DB SQL operation [SELECT vuid FROM '.#evolution/Junk' WHERE vuid LIKE '8.h_pQUK%'] started
DB Operation ended. Time Taken : 0.000030
###########
sexp is : [(match-all (system-flag "Junk"))]
Equivalent sql SELECT uid FROM 'Outbox' WHERE (junk = 1)

camel_db_select:
SELECT uid FROM 'Outbox' WHERE (junk = 1) 

===========
DB SQL operation [SELECT uid FROM 'Outbox' WHERE (junk = 1)] started
DB Operation ended. Time Taken : 0.000018
###########

(evolution:10378): camel-WARNING **: Error in select statement 'SELECT uid FROM 'Outbox' WHERE (junk = 1)' [no such table: Outbox].

sexp is : [and ((match-all (system-flag "Junk")) (match-all (system-flag  "junk")))]
Equivalent sql SELECT COUNT (*) FROM 'Outbox' WHERE ( (junk = 1) AND (junk = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Outbox' WHERE ( (junk = 1) AND (junk = 1) )] started
DB Operation ended. Time Taken : 0.000020
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Outbox' WHERE ( (junk = 1) AND (junk = 1) ) [no such table: Outbox]
sexp is : [and ((match-all (system-flag "Junk")) (match-all (system-flag  "deleted")))]
Equivalent sql SELECT COUNT (*) FROM 'Outbox' WHERE ( (junk = 1) AND (deleted = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Outbox' WHERE ( (junk = 1) AND (deleted = 1) )] started
DB Operation ended. Time Taken : 0.000019
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Outbox' WHERE ( (junk = 1) AND (deleted = 1) ) [no such table: Outbox]
sexp is : [and ((match-all (system-flag "Junk")) (match-all (not (system-flag  "Seen"))))]
Equivalent sql SELECT COUNT (*) FROM 'Outbox' WHERE ( (junk = 1) AND (NOT ((read = 1))) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Outbox' WHERE ( (junk = 1) AND (NOT ((read = 1))) )] started
DB Operation ended. Time Taken : 0.000020
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Outbox' WHERE ( (junk = 1) AND (NOT ((read = 1))) ) [no such table: Outbox]
sexp is : [and ((match-all (system-flag "Junk")) (match-all (and (not (system-flag "deleted")) (not (system-flag "junk")))))]
Equivalent sql SELECT COUNT (*) FROM 'Outbox' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Outbox' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )] started
DB Operation ended. Time Taken : 0.000022
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Outbox' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) ) [no such table: Outbox]
sexp is : [and ((match-all (system-flag "Junk")) (match-all (and (not (system-flag "deleted")) (system-flag "junk"))))]
Equivalent sql SELECT COUNT (*) FROM 'Outbox' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Outbox' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )] started
DB Operation ended. Time Taken : 0.000021
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Outbox' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) ) [no such table: Outbox]
Camel SQL Exec:
BEGIN

===========
DB SQL operation [COMMIT] started
Camel SQL Exec:
COMMIT
DB Operation ended. Time Taken : 0.000011
###########

camel_db_select:
SELECT vuid FROM '.#evolution/Junk' WHERE vuid LIKE 'gklELRFH%' 

===========
DB SQL operation [SELECT vuid FROM '.#evolution/Junk' WHERE vuid LIKE 'gklELRFH%'] started
DB Operation ended. Time Taken : 0.000029
###########
sexp is : [(match-all (system-flag "Junk"))]
Equivalent sql SELECT uid FROM 'Inbox' WHERE (junk = 1)

camel_db_select:
SELECT uid FROM 'Inbox' WHERE (junk = 1) 

===========
DB SQL operation [SELECT uid FROM 'Inbox' WHERE (junk = 1)] started
DB Operation ended. Time Taken : 0.000033
###########
sexp is : [and ((match-all (system-flag "Junk")) (match-all (system-flag  "junk")))]
Equivalent sql SELECT COUNT (*) FROM 'Inbox' WHERE ( (junk = 1) AND (junk = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Inbox' WHERE ( (junk = 1) AND (junk = 1) )] started
DB Operation ended. Time Taken : 0.000037
###########
sexp is : [and ((match-all (system-flag "Junk")) (match-all (system-flag  "deleted")))]
Equivalent sql SELECT COUNT (*) FROM 'Inbox' WHERE ( (junk = 1) AND (deleted = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Inbox' WHERE ( (junk = 1) AND (deleted = 1) )] started
DB Operation ended. Time Taken : 0.000037
###########
sexp is : [and ((match-all (system-flag "Junk")) (match-all (not (system-flag  "Seen"))))]
Equivalent sql SELECT COUNT (*) FROM 'Inbox' WHERE ( (junk = 1) AND (NOT ((read = 1))) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Inbox' WHERE ( (junk = 1) AND (NOT ((read = 1))) )] started
DB Operation ended. Time Taken : 0.000038
###########
sexp is : [and ((match-all (system-flag "Junk")) (match-all (and (not (system-flag "deleted")) (not (system-flag "junk")))))]
Equivalent sql SELECT COUNT (*) FROM 'Inbox' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Inbox' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )] started
DB Operation ended. Time Taken : 0.000041
###########
sexp is : [and ((match-all (system-flag "Junk")) (match-all (and (not (system-flag "deleted")) (system-flag "junk"))))]
Equivalent sql SELECT COUNT (*) FROM 'Inbox' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Inbox' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )] started
DB Operation ended. Time Taken : 0.000040
###########
Camel SQL Exec:
BEGIN

===========
DB SQL operation [COMMIT] started
Camel SQL Exec:
COMMIT
DB Operation ended. Time Taken : 0.000011
###########

camel_db_select:
SELECT vuid FROM '.#evolution/Junk' WHERE vuid LIKE 'f9QHQG8v%' 

===========
DB SQL operation [SELECT vuid FROM '.#evolution/Junk' WHERE vuid LIKE 'f9QHQG8v%'] started
DB Operation ended. Time Taken : 0.000029
###########
sexp is : [(match-all (system-flag "Junk"))]
Equivalent sql SELECT uid FROM 'Sent' WHERE (junk = 1)

camel_db_select:
SELECT uid FROM 'Sent' WHERE (junk = 1) 

===========
DB SQL operation [SELECT uid FROM 'Sent' WHERE (junk = 1)] started
DB Operation ended. Time Taken : 0.000031
###########
sexp is : [and ((match-all (system-flag "Junk")) (match-all (system-flag  "junk")))]
Equivalent sql SELECT COUNT (*) FROM 'Sent' WHERE ( (junk = 1) AND (junk = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Sent' WHERE ( (junk = 1) AND (junk = 1) )] started
DB Operation ended. Time Taken : 0.000036
###########
sexp is : [and ((match-all (system-flag "Junk")) (match-all (system-flag  "deleted")))]
Equivalent sql SELECT COUNT (*) FROM 'Sent' WHERE ( (junk = 1) AND (deleted = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Sent' WHERE ( (junk = 1) AND (deleted = 1) )] started
DB Operation ended. Time Taken : 0.000037
###########
sexp is : [and ((match-all (system-flag "Junk")) (match-all (not (system-flag  "Seen"))))]
Equivalent sql SELECT COUNT (*) FROM 'Sent' WHERE ( (junk = 1) AND (NOT ((read = 1))) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Sent' WHERE ( (junk = 1) AND (NOT ((read = 1))) )] started
DB Operation ended. Time Taken : 0.000038
###########
sexp is : [and ((match-all (system-flag "Junk")) (match-all (and (not (system-flag "deleted")) (not (system-flag "junk")))))]
Equivalent sql SELECT COUNT (*) FROM 'Sent' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Sent' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )] started
DB Operation ended. Time Taken : 0.000057
###########
sexp is : [and ((match-all (system-flag "Junk")) (match-all (and (not (system-flag "deleted")) (system-flag "junk"))))]
Equivalent sql SELECT COUNT (*) FROM 'Sent' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'Sent' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )] started
DB Operation ended. Time Taken : 0.000041
###########
Camel SQL Exec:
BEGIN

===========
DB SQL operation [COMMIT] started
Camel SQL Exec:
COMMIT
DB Operation ended. Time Taken : 0.000011
###########
Thread b65d7710 >
CamelStore('mbox:/home/swany/.evolution/mail/local'):get_folder('.#evolution/Junk', 0) = 0x84e8c20
< b65d7710 >

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'nautilus-list' 

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'nautilus-list' 

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'nautilus-list'] started

read_fir_callback called 
DB Operation ended. Time Taken : 0.000072
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'nautilus-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'mesa3d-dev-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000067
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'mesa3d-dev-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'mesa3d-dev-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000065
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'mesa3d-dev-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'nouveau-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000062
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'nouveau-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'nouveau-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000060
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'nouveau-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'cairo-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000065
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'cairo-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'cairo-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000062
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'cairo-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'gentoo-bugzilla' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000061
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'gentoo-bugzilla'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'gentoo-bugzilla' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000060
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'gentoo-bugzilla'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'compiz-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000065
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'compiz-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'compiz-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000059
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'compiz-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'hal-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000060
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'hal-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'hal-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000059
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'hal-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'ftp-release-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000068
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'ftp-release-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'ftp-release-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000059
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'ftp-release-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'gnome-devel-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000064
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'gnome-devel-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'gnome-devel-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000064
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'gnome-devel-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'gtk-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000061
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'gtk-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'gtk-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000058
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'gtk-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'fontconfig-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000060
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'fontconfig-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'fontconfig-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000059
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'fontconfig-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'gtk-devel-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000060
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'gtk-devel-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'gtk-devel-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000062
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'gtk-devel-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'xorg-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000060
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'xorg-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'xorg-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000058
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'xorg-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'dri-devel-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000059
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'dri-devel-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'dri-devel-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000058
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'dri-devel-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'gnome-love-list' 

read_fir_callback called 
sexp is : [(match-all (and (not (system-flag "deleted")) (not (system-flag "junk"))))]
DB Operation ended. Time Taken : 0.027753
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'gnome-love-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'gnome-love-list' 
Equivalent sql SELECT uid FROM 'Inbox' WHERE ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) )

read_fir_callback called 

camel_db_select:
SELECT uid FROM 'Inbox' WHERE ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) 
DB Operation ended. Time Taken : 0.000131
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'gnome-love-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'desktop-devel-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000072
###########

===========
DB SQL operation [SELECT uid FROM 'Inbox' WHERE ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) )] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'desktop-devel-list' 
DB Operation ended. Time Taken : 0.000350
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'desktop-devel-list'] started

read_fir_callback called 
DB Operation ended. Time Taken : 0.000068
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'desktop-devel-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'linux-kernel-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000065
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'linux-kernel-list'] started

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'linux-kernel-list' 

read_fir_callback called 
DB Operation ended. Time Taken : 0.000068
###########

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'linux-kernel-list'] started
Thread b5a73b90 >
Get folder info(0x831c410:mbox:/home/swany/.evolution/mail/local, '<null>') =
  uri: mbox:/home/swany/.evolution/mail/local#Sent
  full_name: Sent
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#Drafts
  full_name: Drafts
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#Inbox
  full_name: Inbox
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#nautilus-list
  full_name: nautilus-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#mesa3d-dev-list
  full_name: mesa3d-dev-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#Outbox
  full_name: Outbox
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#nouveau-list
  full_name: nouveau-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#cairo-list
  full_name: cairo-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#gentoo-bugzilla
  full_name: gentoo-bugzilla
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#compiz-list
  full_name: compiz-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#hal-list
  full_name: hal-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#ftp-release-list
  full_name: ftp-release-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#gnome-devel-list
  full_name: gnome-devel-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#gtk-list
  full_name: gtk-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#fontconfig-list
  full_name: fontconfig-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#Templates
  full_name: Templates
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#gtk-devel-list
  full_name: gtk-devel-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#xorg-list
  full_name: xorg-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#dri-devel-list

read_fir_callback called 
  full_name: dri-devel-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#gnome-love-list
  full_name: gnome-love-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#desktop-devel-list
  full_name: desktop-devel-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#linux-kernel-list
  full_name: linux-kernel-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#.%23evolution/Trash
  full_name: .#evolution/Trash
  flags: 00000cf2
  uri: mbox:/home/swany/.evolution/mail/local#.%23evolution/Junk
  full_name: .#evolution/Junk
  flags: 000010f2
< b5a73b90 >
DB Operation ended. Time Taken : 0.005425
###########
Thread b31fdb90 >
Get folder info(0x831c410:mbox:/home/swany/.evolution/mail/local, '<null>') =
  uri: mbox:/home/swany/.evolution/mail/local#Sent
  full_name: Sent
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#Drafts
  full_name: Drafts
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#Inbox
  full_name: Inbox
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#nautilus-list
  full_name: nautilus-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#mesa3d-dev-list
  full_name: mesa3d-dev-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#Outbox
  full_name: Outbox
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#nouveau-list
  full_name: nouveau-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#cairo-list
  full_name: cairo-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#gentoo-bugzilla
  full_name: gentoo-bugzilla
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#compiz-list
  full_name: compiz-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#hal-list
  full_name: hal-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#ftp-release-list
  full_name: ftp-release-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#gnome-devel-list
  full_name: gnome-devel-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#gtk-list
  full_name: gtk-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#fontconfig-list
  full_name: fontconfig-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#Templates
  full_name: Templates
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#gtk-devel-list
  full_name: gtk-devel-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#xorg-list
  full_name: xorg-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#dri-devel-list
  full_name: dri-devel-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#gnome-love-list
  full_name: gnome-love-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#desktop-devel-list
  full_name: desktop-devel-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#linux-kernel-list
  full_name: linux-kernel-list
  flags: 00000008
  uri: mbox:/home/swany/.evolution/mail/local#.%23evolution/Trash
  full_name: .#evolution/Trash
  flags: 00000cf2
  uri: mbox:/home/swany/.evolution/mail/local#.%23evolution/Junk
  full_name: .#evolution/Junk
  flags: 000010f2
< b31fdb90 >
Thread b414fb90 >
CamelStore('mbox:/home/swany/.evolution/mail/local'):get_folder('Inbox', 0) = 0x830e480
< b414fb90 >
sexp is : [(match-all (and (not (system-flag "deleted")) (not (system-flag "junk"))))]
Equivalent sql SELECT uid FROM 'Inbox' WHERE ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) )

camel_db_select:
SELECT uid FROM 'Inbox' WHERE ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) 

===========
DB SQL operation [SELECT uid FROM 'Inbox' WHERE ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) )] started
DB Operation ended. Time Taken : 0.000306
###########

camel_db_select:
SELECT uid, flags, size, dsent, dreceived, subject, mail_from, mail_to, mail_cc, mlist, part, labels, usertags, cinfo, bdata FROM 'Inbox'  

===========
DB SQL operation [SELECT uid, flags, size, dsent, dreceived, subject, mail_from, mail_to, mail_cc, mlist, part, labels, usertags, cinfo, bdata FROM 'Inbox' ] started
DB Operation ended. Time Taken : 0.004234
###########

Database succesfully opened  

===========
DB SQL operation [PRAGMA cache_size=100] started
Camel SQL Exec:
PRAGMA cache_size=100
DB Operation ended. Time Taken : 0.000138
###########
store_db_path /home/swany/.evolution/mail/pop/peter.henriksson@pop.gmail.com/folders.db

===========
DB SQL operation [CREATE TABLE IF NOT EXISTS folders ( folder_name TEXT PRIMARY KEY, version REAL, flags INTEGER, nextuid INTEGER, time NUMERIC, saved_count INTEGER, unread_count INTEGER, deleted_count INTEGER, junk_count INTEGER, visible_count INTEGER, jnd_count INTEGER, bdata TEXT )] started
Camel SQL Exec:
CREATE TABLE IF NOT EXISTS folders ( folder_name TEXT PRIMARY KEY, version REAL, flags INTEGER, nextuid INTEGER, time NUMERIC, saved_count INTEGER, unread_count INTEGER, deleted_count INTEGER, junk_count INTEGER, visible_count INTEGER, jnd_count INTEGER, bdata TEXT )
DB Operation ended. Time Taken : 0.000025
###########

Database succesfully opened  

===========
DB SQL operation [PRAGMA cache_size=100] started
Camel SQL Exec:
PRAGMA cache_size=100
DB Operation ended. Time Taken : 0.000095
###########
POP3_STREAM_LINE(65): '+OK Gpop ready for requests from 81.170.237.142 c25pf211925ika.15'
POP3_STREAM_WRITE(6):
CAPA

POP3_STREAM_LINE(27): '+OK Capability list follows'
Got + response
cmd_capa
POP3_STREAM_LINE(4): 'USER'
POP3_STREAM_LINE(10): 'RESP-CODES'
POP3_STREAM_LINE(8): 'EXPIRE 0'
POP3_STREAM_LINE(15): 'LOGIN-DELAY 300'
POP3_STREAM_LINE(18): 'X-GOOGLE-VERHOEVEN'
POP3_STREAM_LINE(4): 'UIDL'
POP3_STREAM_LINE(END)
POP3_STREAM_WRITE(23):
USER peter.henriksson

POP3_STREAM_LINE(13): '+OK send PASS'
Got + response
POP3_STREAM_WRITE(13):
PASS xxxxxxxx
POP3_STREAM_LINE(12): '+OK Welcome.'
Got + response
POP3_STREAM_WRITE(6):
CAPA

POP3_STREAM_LINE(27): '+OK Capability list follows'
Got + response
cmd_capa
POP3_STREAM_LINE(4): 'USER'
POP3_STREAM_LINE(10): 'RESP-CODES'
POP3_STREAM_LINE(10): 'PIPELINING'
POP3_STREAM_LINE(8): 'EXPIRE 0'
POP3_STREAM_LINE(15): 'LOGIN-DELAY 300'
POP3_STREAM_LINE(3): 'TOP'
POP3_STREAM_LINE(4): 'UIDL'
POP3_STREAM_LINE(18): 'X-GOOGLE-VERHOEVEN'
POP3_STREAM_LINE(END)
POP3_STREAM_WRITE(6):
LIST

POP3_STREAM_WRITE(6):
UIDL

POP3_STREAM_LINE(28): '+OK 2 messages (26778 bytes)'
Got + response
POP3_STREAM_LINE(7): '1 17732'
POP3_STREAM_LINE(6): '2 9046'
POP3_STREAM_LINE(END)
POP3_STREAM_LINE(3): '+OK'
Got + response
POP3_STREAM_LINE(25): '1 GmailId11ec20a49f1d5e3e'
POP3_STREAM_LINE(25): '2 GmailId11ec20ae902dc372'
POP3_STREAM_LINE(END)
Checking expire cycle time on dir '/home/swany/.evolution/mail/pop/peter.henriksson@pop.gmail.com/cache/0b'
Checking expire cycle time on dir '/home/swany/.evolution/mail/pop/peter.henriksson@pop.gmail.com/cache/0b'
POP3_STREAM_WRITE(8):
RETR 1

Checking expire cycle time on dir '/home/swany/.evolution/mail/pop/peter.henriksson@pop.gmail.com/cache/39'
POP3_STREAM_WRITE(8):
RETR 2

POP3_STREAM_LINE(19): '+OK message follows'
Got + response
POP3_STREAM_READ(2048):
Delivered-To: peter.henriksson@gmail.com
Received: by 10.210.52.14 with SMTP id z14cs1347884ebz;
        Sat, 10 Jan 2009 11:35:01 -0800 (PST)
Received: by 10.214.148.5 with SMTP id v5mr24008713qad.312.1231616100660;
        Sat, 10 Jan 2009 11:35:00 -0800 (PST)
Return-Path: <linux-kernel-owner@vger.kernel.org>
Received: from vger.kernel.org (vger.kernel.org [209.132.176.167])
        by mx.google.com with ESMTP id 4si7848534yxq.36.2009.01.10.11.34.37;
        Sat, 10 Jan 2009 11:35:00 -0800 (PST)
Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 209.132.176.167 as permitted sender) client-ip=209.132.176.167;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 209.132.176.167 as permitted sender) smtp.mail=linux-kernel-owner@vger.kernel.org; dkim=neutral (body hash did not verify) header.i=@gmail.com
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
	id S1753303AbZAJTeX (ORCPT <rfc822;nai.xia@gmail.com> + 49 others);
	Sat, 10 Jan 2009 14:34:23 -0500
Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751684AbZAJTeS
	(ORCPT <rfc822;linux-kernel-outgoing>);
	Sat, 10 Jan 2009 14:34:18 -0500
Received: from fg-out-1718.google.com ([72.14.220.153]:42806 "EHLO
	fg-out-1718.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
	with ESMTP id S1751136AbZAJTeR (ORCPT
	<rfc822;linux-kernel@vger.kernel.org>);
	Sat, 10 Jan 2009 14:34:17 -0500
Received: by fg-out-1718.google.com with SMTP id 19so3663272fgg.17
        for <linux-kernel@vger.kernel.org>; Sat, 10 Jan 2009 11:34:14 -0800 (PST)
DKIM-Signature:	v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=gamma;
        h=domainkey-signature:received:received:message-id:date:received:from
         :to:cc:subject;
        bh=HRuAun8ZTgwVub+6vsgHCskn1+iD/5wyOhTqiEIddf0=;
        b=fVYhxMPv1srdB4OMwVXisTuN6l5dkcL+r1Tsxew5c0IEX2Kps/m9yB+/Dj3nAUeQgo
         yjxREVKCFrFck3ZDIM+Mugq+uvFMFS4NH9hMFA8df9j6YxUideFSZOg8PFD+imVAg5mL
         1T
POP3_STREAM_READ(2048):
iKtTsqYuqIZxvkki2TqIs4siFmT4OCzzcRE=
DomainKey-Signature: a=rsa-sha1; c=nofws;
        d=gmail.com; s=gamma;
        h=message-id:date:from:to:cc:subject;
        b=OfrKOyD1vmAe54/bLmyFAHYtWC+PoOsxdCdolN6zX2Z88uA68gtZJWG0Xe45JGbXGJ
         6LV5pi/An+N2PU3mhzdfhyLFCo4tvpASOJJZOrOITWvB7mv8Iuqbri4VQy6bnv6cepzK
         XbPpICT1Jx4S3ZidVHEw5TN/T8QtXoErm2prk=
Received: by 10.86.86.12 with SMTP id j12mr15595574fgb.64.1231616054342;
        Sat, 10 Jan 2009 11:34:14 -0800 (PST)
Received: from nowhere (4cb54-2-82-236-222-232.fbx.proxad.net [82.236.222.232])
        by mx.google.com with ESMTPS id 4sm7099667fge.35.2009.01.10.11.34.12
        (version=SSLv3 cipher=RC4-MD5);
        Sat, 10 Jan 2009 11:34:13 -0800 (PST)
Message-ID: <4968f835.0405560a.1bf4.2903@mx.google.com>
Date:	Sat, 10 Jan 2009 11:34:13 -0800 (PST)
Received: by nowhere (nbSMTP-1.00) for uid 1000
	(using TLSv1/SSLv3 with cipher RC4-MD5 (128/128 bits))
	fweisbec@gmail.com; Sat, 10 Jan 2009 20:34:13 +0100 (CET)
From:	Frederic Weisbecker <fweisbec@gmail.com>
To:	Steven Rostedt <rostedt@goodmis.org>
Cc:	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@elte.hu>, fweisbec@gmail.com
Subject: [PATCH 1/2] tracing/ftrace: separate events tracing and stats tracing engine
Sender:	linux-kernel-owner@vger.kernel.org
Precedence: bulk
List-ID: <linux-kernel.vger.kernel.org>
X-Mailing-List:	linux-kernel@vger.kernel.org

Impact: tracing's Api change

Currently, the stat tracing depends on the events tracing.
When you switch to a new tracer, the stats files of the previous tracer
will disappear. But it's more scalable to separate those two engines.
This way, we can keep the stat files of one or several tracers when we
want, without bothering of multiple tracer stat files or tracer switching.

To build/destroys its stats files, a tracer just have to call
register_stat_tracer/unregister_stat_tracer everytimes it wants to.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
---
 kernel/trace/trace.c        |    2 -
 kernel/trace/trace.h      
POP3_STREAM_READ(2048):
  |   20 -----
 kernel/trace/trace_branch.c |  108 ++++++++++++++-----------
 kernel/trace/trace_stat.c   |  191 ++++++++++++++++++-------------------------
 kernel/trace/trace_stat.h   |   31 +++++++
 5 files changed, 172 insertions(+), 180 deletions(-)

diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 0418fc3..40217fb 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -2353,7 +2353,6 @@ static int tracing_set_tracer(char *buf)
 		if (ret)
 			goto out;
 	}
-	init_tracer_stat(t);
 
 	trace_branch_enable(tr);
  out:
@@ -3218,7 +3217,6 @@ __init static int tracer_alloc_buffers(void)
 #else
 	current_trace = &nop_trace;
 #endif
-	init_tracer_stat(current_trace);
 	/* All seems OK, enable tracing */
 	tracing_disabled = 0;
 
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
index b3f9ad1..79c8721 100644
--- a/kernel/trace/trace.h
+++ b/kernel/trace/trace.h
@@ -334,24 +334,6 @@ struct tracer_flags {
 /* Makes more easy to define a tracer opt */
 #define TRACER_OPT(s, b)	.name = #s, .bit = b
 
-/*
- * If you want to provide a stat file (one-shot statistics), fill
- * an iterator with stat_start/stat_next and a stat_show callbacks.
- * The others callbacks are optional.
- */
-struct tracer_stat {
-	/* The name of your stat file */
-	const char		*name;
-	/* Iteration over statistic entries */
-	void			*(*stat_start)(void);
-	void			*(*stat_next)(void *prev, int idx);
-	/* Compare two entries for sorting (optional) for stats */
-	int			(*stat_cmp)(void *p1, void *p2);
-	/* Print a stat entry */
-	int			(*stat_show)(struct seq_file *s, void *p);
-	/* Print the headers of your stat entries */
-	int			(*stat_headers)(struct seq_file *s);
-};
 
 /*
  * A specific tracer, represented by methods that operate on a trace array:
@@ -466,8 +448,6 @@ void tracing_start_sched_switch_record(void);
 int register_tracer(struct tracer *type);
 void unregister_tracer(struct tracer *type);
 
-void init_tracer_stat(struct tracer *trace);
-
 extern unsigned long nsecs_to_usecs(unsigned long nsecs);
 
 exter
POP3_STREAM_READ(2048):
n unsigned long tracing_max_latency;
diff --git a/kernel/trace/trace_branch.c b/kernel/trace/trace_branch.c
index da5cf3e..ca017e0 100644
--- a/kernel/trace/trace_branch.c
+++ b/kernel/trace/trace_branch.c
@@ -16,12 +16,12 @@
 #include <asm/local.h>
 
 #include "trace.h"
+#include "trace_stat.h"
 #include "trace_output.h"
 
-static struct tracer branch_trace;
-
 #ifdef CONFIG_BRANCH_TRACER
 
+static struct tracer branch_trace;
 static int branch_tracing_enabled __read_mostly;
 static DEFINE_MUTEX(branch_tracing_mutex);
 
@@ -191,6 +191,30 @@ static struct trace_event trace_branch_event = {
 	.binary		= trace_nop_print,
 };
 
+static struct tracer branch_trace __read_mostly =
+{
+	.name		= "branch",
+	.init		= branch_trace_init,
+	.reset		= branch_trace_reset,
+#ifdef CONFIG_FTRACE_SELFTEST
+	.selftest	= trace_selftest_startup_branch,
+#endif /* CONFIG_FTRACE_SELFTEST */
+};
+
+__init static int init_branch_tracer(void)
+{
+	int ret;
+
+	ret = register_ftrace_event(&trace_branch_event);
+	if (!ret) {
+		printk(KERN_WARNING "Warning: could not register "
+				    "branch events\n");
+		return 1;
+	}
+	return register_tracer(&branch_trace);
+}
+device_initcall(init_branch_tracer);
+
 #else
 static inline
 void trace_likely_condition(struct ftrace_branch_data *f, int val, int expect)
@@ -305,6 +329,29 @@ static int annotated_branch_stat_cmp(void *p1, void *p2)
 		return 0;
 }
 
+static struct tracer_stat annotated_branch_stats = {
+	.name = "branch_annotated",
+	.stat_start = annotated_branch_stat_start,
+	.stat_next = annotated_branch_stat_next,
+	.stat_cmp = annotated_branch_stat_cmp,
+	.stat_headers = annotated_branch_stat_headers,
+	.stat_show = branch_stat_show
+};
+
+__init static int init_annotated_branch_stats(void)
+{
+	int ret;
+
+	ret = register_stat_tracer(&annotated_branch_stats);
+	if (!ret) {
+		printk(KERN_WARNING "Warning: could not register "
+				    "annotated branches stats\n");
+		return 1;
+	}
+	return 0;
+}
+fs_initcall(init_annotated_branch_stats);
+
 #ifdef CONFIG_PROFILE_ALL_BRANCHES
 
 ext
POP3_STREAM_READ(2048):
ern unsigned long __start_branch_profile[];
@@ -339,60 +386,25 @@ all_branch_stat_next(void *v, int idx)
 	return p;
 }
 
-static struct tracer_stat branch_stats[] = {
-	{.name = "annotated",
-	.stat_start = annotated_branch_stat_start,
-	.stat_next = annotated_branch_stat_next,
-	.stat_cmp = annotated_branch_stat_cmp,
-	.stat_headers = annotated_branch_stat_headers,
-	.stat_show = branch_stat_show},
-
-	{.name = "all",
+static struct tracer_stat all_branch_stats = {
+	.name = "branch_all",
 	.stat_start = all_branch_stat_start,
 	.stat_next = all_branch_stat_next,
 	.stat_headers = all_branch_stat_headers,
-	.stat_show = branch_stat_show},
-
-	{ }
-};
-#else
-static struct tracer_stat branch_stats[] = {
-	{.name = "annotated",
-	.stat_start = annotated_branch_stat_start,
-	.stat_next = annotated_branch_stat_next,
-	.stat_cmp = annotated_branch_stat_cmp,
-	.stat_headers = annotated_branch_stat_headers,
-	.stat_show = branch_stat_show},
-
-	{ }
+	.stat_show = branch_stat_show
 };
-#endif /* CONFIG_PROFILE_ALL_BRANCHES */
 
-
-static struct tracer branch_trace __read_mostly =
+__init static int all_annotated_branch_stats(void)
 {
-	.name		= "branch",
-#ifdef CONFIG_BRANCH_TRACER
-	.init		= branch_trace_init,
-	.reset		= branch_trace_reset,
-#ifdef CONFIG_FTRACE_SELFTEST
-	.selftest	= trace_selftest_startup_branch,
-#endif /* CONFIG_FTRACE_SELFTEST */
-#endif
-	.stats		= branch_stats
-};
-
-__init static int init_branch_trace(void)
-{
-#ifdef CONFIG_BRANCH_TRACER
 	int ret;
-	ret = register_ftrace_event(&trace_branch_event);
+
+	ret = register_stat_tracer(&all_branch_stats);
 	if (!ret) {
-		printk(KERN_WARNING "Warning: could not register branch events\n");
+		printk(KERN_WARNING "Warning: could not register "
+				    "all branches stats\n");
 		return 1;
 	}
-#endif
-
-	return register_tracer(&branch_trace);
+	return 0;
 }
-device_initcall(init_branch_trace);
+fs_initcall(all_annotated_branch_stats);
+#endif /* CONFIG_PROFILE_ALL_BRANCHES */
diff --git a/kernel/trace/trace_stat.c b/kernel/trace/trace_stat.c
index
POP3_STREAM_READ(2048):
 1515f9e..cb29282 100644
--- a/kernel/trace/trace_stat.c
+++ b/kernel/trace/trace_stat.c
@@ -10,28 +10,32 @@
 
 
 #include <linux/list.h>
-#include <linux/seq_file.h>
 #include <linux/debugfs.h>
+#include "trace_stat.h"
 #include "trace.h"
 
 
 /* List of stat entries from a tracer */
 struct trace_stat_list {
-	struct list_head list;
-	void *stat;
+	struct list_head 	list;
+	void 			*stat;
 };
 
 /* A stat session is the stats output in one file */
 struct tracer_stat_session {
-	struct tracer_stat *ts;
-	struct list_head stat_list;
-	struct mutex stat_mutex;
+	struct list_head	session_list;
+	struct tracer_stat 	*ts;
+	struct list_head 	stat_list;
+	struct mutex 		stat_mutex;
+	struct dentry		*file;
 };
 
 /* All of the sessions currently in use. Each stat file embeed one session */
-static struct tracer_stat_session **all_stat_sessions;
-static int nb_sessions;
-static struct dentry *stat_dir, **stat_files;
+static LIST_HEAD(all_stat_sessions);
+static DEFINE_MUTEX(all_stat_sessions_mutex);
+
+/* The root directory for all stat files */
+static struct dentry *stat_dir;
 
 
 static void reset_stat_session(struct tracer_stat_session *session)
@@ -44,66 +48,77 @@ static void reset_stat_session(struct tracer_stat_session *session)
 	INIT_LIST_HEAD(&session->stat_list);
 }
 
-/* Called when a tracer is initialized */
-static int init_all_sessions(int nb, struct tracer_stat *ts)
+static void destroy_session(struct tracer_stat_session *session)
 {
-	int i, j;
-	struct tracer_stat_session *session;
+	debugfs_remove(session->file);
+	reset_stat_session(session);
+	mutex_destroy(&session->stat_mutex);
+	kfree(session);
+}
 
-	nb_sessions = 0;
 
-	if (all_stat_sessions) {
-		for (i = 0; i < nb_sessions; i++) {
-			session = all_stat_sessions[i];
-			reset_stat_session(session);
-			mutex_destroy(&session->stat_mutex);
-			kfree(session);
-		}
-	}
-	all_stat_sessions = kmalloc(sizeof(struct tracer_stat_session *) * nb,
-				    GFP_KERNEL);
-	if (!all_stat_sessions)
-		return -ENOMEM;
+static int init_stat_file(struct tra
POP3_STREAM_READ(2048):
cer_stat_session *session);
 
-	for (i = 0; i < nb; i++) {
-		session = kmalloc(sizeof(struct tracer_stat_session) * nb,
-				  GFP_KERNEL);
-		if (!session)
-			goto free_sessions;
+int register_stat_tracer(struct tracer_stat *trace)
+{
+	struct tracer_stat_session *session, *node, *tmp;
+	int ret;
+
+	if (!trace)
+		return -EINVAL;
+
+	if (!trace->stat_start || !trace->stat_next || !trace->stat_show)
+		return -EINVAL;
 
-		INIT_LIST_HEAD(&session->stat_list);
-		mutex_init(&session->stat_mutex);
-		session->ts = &ts[i];
-		all_stat_sessions[i] = session;
+	/* Already registered? */
+	mutex_lock(&all_stat_sessions_mutex);
+	list_for_each_entry_safe(node, tmp, &all_stat_sessions, session_list) {
+		if (node->ts == trace)
+			return -EINVAL;
 	}
-	nb_sessions = nb;
-	return 0;
+	mutex_unlock(&all_stat_sessions_mutex);
+
+	/* Init the session */
+	session = kmalloc(sizeof(struct tracer_stat_session), GFP_KERNEL);
+	if (!session)
+		return -ENOMEM;
 
-free_sessions:
+	session->ts = trace;
+	INIT_LIST_HEAD(&session->session_list);
+	INIT_LIST_HEAD(&session->stat_list);
+	mutex_init(&session->stat_mutex);
+	session->file = NULL;
 
-	for (j = 0; j < i; j++)
-		kfree(all_stat_sessions[i]);
+	ret = init_stat_file(session);
+	if (ret) {
+		destroy_session(session);
+		return ret;
+	}
 
-	kfree(all_stat_sessions);
-	all_stat_sessions = NULL;
+	/* Register */
+	mutex_lock(&all_stat_sessions_mutex);
+	list_add_tail(&session->session_list, &all_stat_sessions);
+	mutex_unlock(&all_stat_sessions_mutex);
 
-	return -ENOMEM;
+	return 0;
 }
 
-static int basic_tracer_stat_checks(struct tracer_stat *ts)
+void unregister_stat_tracer(struct tracer_stat *trace)
 {
-	int i;
+	struct tracer_stat_session *node, *tmp;
 
-	if (!ts)
-		return 0;
-
-	for (i = 0; ts[i].name; i++) {
-		if (!ts[i].stat_start || !ts[i].stat_next || !ts[i].stat_show)
-			return -EBUSY;
+	mutex_lock(&all_stat_sessions_mutex);
+	list_for_each_entry_safe(node, tmp, &all_stat_sessions, session_list) {
+		if (node->ts == trace) {
+			list_del(&node->session_list);
+	
POP3_STREAM_READ(2048):
		destroy_session(node);
+			break;
+		}
 	}
-	return i;
+	mutex_unlock(&all_stat_sessions_mutex);
 }
 
+
 /*
  * For tracers that don't provide a stat_cmp callback.
  * This one will force an immediate insertion on tail of
@@ -280,63 +295,7 @@ static const struct file_operations tracing_stat_fops = {
 	.release	= tracing_stat_release
 };
 
-
-static void destroy_trace_stat_files(void)
-{
-	int i;
-
-	if (stat_files) {
-		for (i = 0; i < nb_sessions; i++)
-			debugfs_remove(stat_files[i]);
-		kfree(stat_files);
-		stat_files = NULL;
-	}
-}
-
-static void init_trace_stat_files(void)
-{
-	int i;
-
-	if (!stat_dir || !nb_sessions)
-		return;
-
-	stat_files = kmalloc(sizeof(struct dentry *) * nb_sessions, GFP_KERNEL);
-
-	if (!stat_files) {
-		pr_warning("trace stat: not enough memory\n");
-		return;
-	}
-
-	for (i = 0; i < nb_sessions; i++) {
-		struct tracer_stat_session *session = all_stat_sessions[i];
-		stat_files[i] = debugfs_create_file(session->ts->name, 0644,
-						stat_dir,
-						session, &tracing_stat_fops);
-		if (!stat_files[i])
-			pr_warning("cannot create %s entry\n",
-				   session->ts->name);
-	}
-}
-
-void init_tracer_stat(struct tracer *trace)
-{
-	int nb = basic_tracer_stat_checks(trace->stats);
-
-	destroy_trace_stat_files();
-
-	if (nb < 0) {
-		pr_warning("stat tracing: missing stat callback on %s\n",
-			   trace->name);
-		return;
-	}
-	if (!nb)
-		return;
-
-	init_all_sessions(nb, trace->stats);
-	init_trace_stat_files();
-}
-
-static int __init tracing_stat_init(void)
+static int tracing_stat_init(void)
 {
 	struct dentry *d_tracing;
 
@@ -348,4 +307,16 @@ static int __init tracing_stat_init(void)
 			   "'trace_stat' entry\n");
 	return 0;
 }
-fs_initcall(tracing_stat_init);
+
+static int init_stat_file(struct tracer_stat_session *session)
+{
+	if (!stat_dir && tracing_stat_init())
+		return -ENODEV;
+
+	session->file = debugfs_create_file(session->ts->name, 0644,
+					    stat_dir,
+					    session, &tracing_stat_fops);
+	if (!session->file)
+		return -ENOMEM;
+	return 0;
+}
diff --
POP3_STREAM_READ(1348):
git a/kernel/trace/trace_stat.h b/kernel/trace/trace_stat.h
new file mode 100644
index 0000000..202274c
--- /dev/null
+++ b/kernel/trace/trace_stat.h
@@ -0,0 +1,31 @@
+#ifndef __TRACE_STAT_H
+#define __TRACE_STAT_H
+
+#include <linux/seq_file.h>
+
+/*
+ * If you want to provide a stat file (one-shot statistics), fill
+ * an iterator with stat_start/stat_next and a stat_show callbacks.
+ * The others callbacks are optional.
+ */
+struct tracer_stat {
+	/* The name of your stat file */
+	const char		*name;
+	/* Iteration over statistic entries */
+	void			*(*stat_start)(void);
+	void			*(*stat_next)(void *prev, int idx);
+	/* Compare two entries for stats sorting */
+	int			(*stat_cmp)(void *p1, void *p2);
+	/* Print a stat entry */
+	int			(*stat_show)(struct seq_file *s, void *p);
+	/* Print the headers of your stat entries */
+	int			(*stat_headers)(struct seq_file *s);
+};
+
+/*
+ * Destroy or create a stat file
+ */
+extern int register_stat_tracer(struct tracer_stat *trace);
+extern void unregister_stat_tracer(struct tracer_stat *trace);
+
+#endif /* __TRACE_STAT_H */
-- 
1.6.0.4


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Thread b414fb90 >
CamelFolder:get_message('inbox', 'GmailId11ec20a49f1d5e3e') =
class: CamelMimeMessage
mime-type: text/plain
content class: CamelDataWrapper
content mime-type: text/plain
< b414fb90 >
filtering '[PATCH 1/2] tracing/ftrace: separate events tracing and stats tracing engine' applying rule linux-kernel-list
Creating Collation mbox_frompos_sort on bdata with 0xb49ebf80

camel_db_select:
SELECT * FROM folders WHERE folder_name = 'linux-kernel-list' 

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'linux-kernel-list'] started

read_fir_callback called 
DB Operation ended. Time Taken : 0.000139
###########

camel_db_select:
SELECT uid,flags FROM 'linux-kernel-list' order by bdata collate mbox_frompos_sort 

===========
DB SQL operation [SELECT uid,flags FROM 'linux-kernel-list' order by bdata collate mbox_frompos_sort] started
DB Operation ended. Time Taken : 25.786432
###########

camel_db_select:
SELECT vuid FROM '.#evolution/Trash' WHERE vuid LIKE 'PLgmdyEY%' 

===========
DB SQL operation [SELECT vuid FROM '.#evolution/Trash' WHERE vuid LIKE 'PLgmdyEY%'] started
DB Operation ended. Time Taken : 0.000068
###########
sexp is : [(match-all (system-flag "Deleted"))]
Equivalent sql SELECT uid FROM 'linux-kernel-list' WHERE (deleted = 1)

camel_db_select:
SELECT uid FROM 'linux-kernel-list' WHERE (deleted = 1) 

===========
DB SQL operation [SELECT uid FROM 'linux-kernel-list' WHERE (deleted = 1)] started
DB Operation ended. Time Taken : 0.007921
###########
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (system-flag  "junk")))]
Equivalent sql SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (deleted = 1) AND (junk = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (deleted = 1) AND (junk = 1) )] started
DB Operation ended. Time Taken : 0.006077
###########
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (system-flag  "deleted")))]
Equivalent sql SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (deleted = 1) AND (deleted = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (deleted = 1) AND (deleted = 1) )] started
DB Operation ended. Time Taken : 0.000060
###########
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (not (system-flag  "Seen"))))]
Equivalent sql SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (deleted = 1) AND (NOT ((read = 1))) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (deleted = 1) AND (NOT ((read = 1))) )] started
DB Operation ended. Time Taken : 0.000041
###########
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (and (not (system-flag "deleted")) (not (system-flag "junk")))))]
Equivalent sql SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )] started
DB Operation ended. Time Taken : 0.000048
###########
sexp is : [and ((match-all (system-flag "Deleted")) (match-all (and (not (system-flag "deleted")) (system-flag "junk"))))]
Equivalent sql SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (deleted = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )] started
DB Operation ended. Time Taken : 0.000043
###########
Camel SQL Exec:
BEGIN

===========
DB SQL operation [COMMIT] started
Camel SQL Exec:
COMMIT
DB Operation ended. Time Taken : 0.000012
###########

camel_db_select:
SELECT vuid FROM '.#evolution/Junk' WHERE vuid LIKE 'PLgmdyEY%' 

===========
DB SQL operation [SELECT vuid FROM '.#evolution/Junk' WHERE vuid LIKE 'PLgmdyEY%'] started
DB Operation ended. Time Taken : 0.000034
###########
sexp is : [(match-all (system-flag "Junk"))]
Equivalent sql SELECT uid FROM 'linux-kernel-list' WHERE (junk = 1)

camel_db_select:
SELECT uid FROM 'linux-kernel-list' WHERE (junk = 1) 

===========
DB SQL operation [SELECT uid FROM 'linux-kernel-list' WHERE (junk = 1)] started
DB Operation ended. Time Taken : 0.000036
###########
sexp is : [and ((match-all (system-flag "Junk")) (match-all (system-flag  "junk")))]
Equivalent sql SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (junk = 1) AND (junk = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (junk = 1) AND (junk = 1) )] started
DB Operation ended. Time Taken : 0.000038
###########
sexp is : [and ((match-all (system-flag "Junk")) (match-all (system-flag  "deleted")))]
Equivalent sql SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (junk = 1) AND (deleted = 1) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (junk = 1) AND (deleted = 1) )] started
DB Operation ended. Time Taken : 0.000038
###########
sexp is : [and ((match-all (system-flag "Junk")) (match-all (not (system-flag  "Seen"))))]
Equivalent sql SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (junk = 1) AND (NOT ((read = 1))) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (junk = 1) AND (NOT ((read = 1))) )] started
DB Operation ended. Time Taken : 0.000039
###########
sexp is : [and ((match-all (system-flag "Junk")) (match-all (and (not (system-flag "deleted")) (not (system-flag "junk")))))]
Equivalent sql SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) )] started
DB Operation ended. Time Taken : 0.000043
###########
sexp is : [and ((match-all (system-flag "Junk")) (match-all (and (not (system-flag "deleted")) (system-flag "junk"))))]
Equivalent sql SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )

===========
DB SQL operation [SELECT COUNT (*) FROM 'linux-kernel-list' WHERE ( (junk = 1) AND ( (NOT ((deleted = 1))) AND (junk = 1) ) )] started
DB Operation ended. Time Taken : 0.000042
###########
Camel SQL Exec:
BEGIN

===========
DB SQL operation [COMMIT] started
Camel SQL Exec:
COMMIT
DB Operation ended. Time Taken : 0.000012
###########
Thread b414fb90 >
CamelStore('mbox:/home/swany/.evolution/mail/local'):get_folder('linux-kernel-list', 0) = 0x84e8f68
< b414fb90 >
0x86f6af8: 1 0 0 | 0 14723 14723 
0x86f6af8: 1 0 0 | 1 14724 14724
POP3_STREAM_LINE(19): '+OK message follows'
Got + response
POP3_STREAM_READ(2048):
Delivered-To: peter.henriksson@gmail.com
Received: by 10.210.52.14 with SMTP id z14cs1347918ebz;
        Sat, 10 Jan 2009 11:35:42 -0800 (PST)
Received: by 10.214.244.12 with SMTP id r12mr24032011qah.126.1231616141382;
        Sat, 10 Jan 2009 11:35:41 -0800 (PST)
Return-Path: <linux-kernel-owner@vger.kernel.org>
Received: from vger.kernel.org (vger.kernel.org [209.132.176.167])
        by mx.google.com with ESMTP id 30si5746211yxk.27.2009.01.10.11.35.19;
        Sat, 10 Jan 2009 11:35:41 -0800 (PST)
Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 209.132.176.167 as permitted sender) client-ip=209.132.176.167;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 209.132.176.167 as permitted sender) smtp.mail=linux-kernel-owner@vger.kernel.org; dkim=neutral (body hash did not verify) header.i=@gmail.com
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
	id S1754128AbZAJTej (ORCPT <rfc822;nai.xia@gmail.com> + 49 others);
	Sat, 10 Jan 2009 14:34:39 -0500
Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751684AbZAJTed
	(ORCPT <rfc822;linux-kernel-outgoing>);
	Sat, 10 Jan 2009 14:34:33 -0500
Received: from mail-bw0-f21.google.com ([209.85.218.21]:58757 "EHLO
	mail-bw0-f21.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
	with ESMTP id S1753556AbZAJTeb (ORCPT
	<rfc822;linux-kernel@vger.kernel.org>);
	Sat, 10 Jan 2009 14:34:31 -0500
Received: by bwz14 with SMTP id 14so30423662bwz.13
        for <linux-kernel@vger.kernel.org>; Sat, 10 Jan 2009 11:34:28 -0800 (PST)
DKIM-Signature:	v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=gamma;
        h=domainkey-signature:received:received:message-id:date:received:from
         :to:cc:subject;
        bh=cu4DeYuwDyJFRXGnTg9js42uLj0XfhWB7DOyDPPJ/aU=;
        b=Rh+nKyIAPoBVqLaCdBD2tRgiidgJCybEWV7YDB2CiZ+lOGD0n6zUOCwu3p4/vGNlvW
         ap1ow/W3XyQDNeRHwKNRuvC+rFFrXZCyf1p44dxQBRUhmrJN2f4ezu1zmJiFhuItJhIp
         ci5H9ebqpemrL
POP3_STREAM_READ(2048):
UngYI63te9jI3HxeWs95YlYg=
DomainKey-Signature: a=rsa-sha1; c=nofws;
        d=gmail.com; s=gamma;
        h=message-id:date:from:to:cc:subject;
        b=mAGFNaswAhw/AGSV1JMnIsnjHEKo6ICCHFHZYZGJOUpIF+BxgnQqydVoy9+xddz3Ex
         tiMcebqqqWswKBaGpROHbw7wY6cY81Iq0qtMSR22QeqLyL+YmjVm32hdtUJmOfqzSWeH
         BkzGiRviz4K0tiGuYpjPkJJBaPygYpvCxTnUs=
Received: by 10.223.112.201 with SMTP id x9mr19663763fap.69.1231616068563;
        Sat, 10 Jan 2009 11:34:28 -0800 (PST)
Received: from nowhere (4cb54-2-82-236-222-232.fbx.proxad.net [82.236.222.232])
        by mx.google.com with ESMTPS id 13sm21700594fks.12.2009.01.10.11.34.26
        (version=SSLv3 cipher=RC4-MD5);
        Sat, 10 Jan 2009 11:34:27 -0800 (PST)
Message-ID: <4968f843.0d135e0a.4a26.3652@mx.google.com>
Date:	Sat, 10 Jan 2009 11:34:27 -0800 (PST)
Received: by nowhere (nbSMTP-1.00) for uid 1000
	(using TLSv1/SSLv3 with cipher RC4-MD5 (128/128 bits))
	fweisbec@gmail.com; Sat, 10 Jan 2009 20:34:27 +0100 (CET)
From:	Frederic Weisbecker <fweisbec@gmail.com>
To:	Steven Rostedt <rostedt@goodmis.org>
Cc:	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@elte.hu>, fweisbec@gmail.com
Subject: [PATCH 2/2] tracing: Add a new workqueue tracer
Sender:	linux-kernel-owner@vger.kernel.org
Precedence: bulk
List-ID: <linux-kernel.vger.kernel.org>
X-Mailing-List:	linux-kernel@vger.kernel.org

The workqueue tracer provides some statistical informations
about each cpu workqueue thread such as the number of the
works inserted and executed since their creation. It can help
to evaluate the amount of work each of them have to perform.
For example it can help a developer to decide whether he should
choose a per cpu workqueue instead of a singlethreaded one.

It only traces statistical informations for now but it will probably later
provide event tracing too.

Such a tracer could help too, and be improved, to help rt priority sorted
workqueue development.

To have a snapshot of the workqueues state at any time, just do

cat /debugfs/tracing/trace_stat/workqu
POP3_STREAM_READ(2048):
eues

Ie:

# CPU  INSERTED  EXECUTED   NAME
# |      |         |          |

  1    125        125       reiserfs/1
  1      0          0       scsi_tgtd/1
  1      0          0       aio/1
  1      0          0       ata/1
  1    114        114       kblockd/1
  1      0          0       kintegrityd/1
  1   2144       2147       events/1

  0      0          0       kpsmoused
  0    105        105       reiserfs/0
  0      0          0       scsi_tgtd/0
  0      0          0       aio/0
  0      0          0       ata_aux
  0      0          0       ata/0
  0      0          0       cqueue
  0      0          0       kacpi_notify
  0      0          0       kacpid
  0    149        149       kblockd/0
  0      0          0       kintegrityd/0
  0   1000       1000       khelper
  0   2258       2270       events/0

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
---
 kernel/trace/Kconfig  |   11 +++++++++++
 kernel/trace/Makefile |    1 +
 kernel/workqueue.c    |   16 +++++++++++++++-
 3 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
index 1c0b750..9ba1c68 100644
--- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig
@@ -284,6 +284,17 @@ config KMEMTRACE
 
 	  If unsure, say N.
 
+config WORKQUEUE_TRACER
+	bool "Trace workqueues"
+	select TRACING
+	help
+	  The workqueue tracer provides some statistical informations
+          about each cpu workqueue thread such as the number of the
+          works inserted and executed since their creation. It can help
+          to evaluate the amount of work each of them have to perform.
+          For example it can help a developer to decide whether he should
+          choose a per cpu workqueue instead of a singlethreaded one.
+ 
 
 config DYNAMIC_FTRACE
 	bool "enable/disable ftrace tracepoints dynamically"
diff --git a/kernel/trace/Makefile b/kernel/trace/Makefile
index 05c9182..f76d48f 100644
--- a/kernel/trace/Makefile
+++ b/kernel/trace/Makefile
@@ -36,5 +36,6 @@ obj-$(CONFIG_TRACE_BRANCH_PROFILING) 
POP3_STREAM_READ(2048):
+= trace_branch.o
 obj-$(CONFIG_HW_BRANCH_TRACER) += trace_hw_branches.o
 obj-$(CONFIG_POWER_TRACER) += trace_power.o
 obj-$(CONFIG_KMEMTRACE) += kmemtrace.o
+obj-$(CONFIG_WORKQUEUE_TRACER) += trace_workqueue.o
 
 libftrace-y := ftrace.o
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 2f44583..71145f8 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -33,6 +33,7 @@
 #include <linux/kallsyms.h>
 #include <linux/debug_locks.h>
 #include <linux/lockdep.h>
+#include <trace/workqueue.h>
 
 /*
  * The per-CPU workqueue (if single thread, we always use the first
@@ -138,11 +139,15 @@ static void insert_work(struct cpu_workqueue_struct *cwq,
 	wake_up(&cwq->more_work);
 }
 
+DEFINE_TRACE(workqueue_insertion);
+
 static void __queue_work(struct cpu_workqueue_struct *cwq,
 			 struct work_struct *work)
 {
 	unsigned long flags;
 
+	trace_workqueue_insertion(cwq->thread, work);
+
 	spin_lock_irqsave(&cwq->lock, flags);
 	insert_work(cwq, work, &cwq->worklist);
 	spin_unlock_irqrestore(&cwq->lock, flags);
@@ -259,6 +264,8 @@ int queue_delayed_work_on(int cpu, struct workqueue_struct *wq,
 }
 EXPORT_SYMBOL_GPL(queue_delayed_work_on);
 
+DEFINE_TRACE(workqueue_execution);
+
 static void run_workqueue(struct cpu_workqueue_struct *cwq)
 {
 	spin_lock_irq(&cwq->lock);
@@ -284,7 +291,7 @@ static void run_workqueue(struct cpu_workqueue_struct *cwq)
 		 */
 		struct lockdep_map lockdep_map = work->lockdep_map;
 #endif
-
+		trace_workqueue_execution(cwq->thread, work);
 		cwq->current_work = work;
 		list_del_init(cwq->worklist.next);
 		spin_unlock_irq(&cwq->lock);
@@ -765,6 +772,8 @@ init_cpu_workqueue(struct workqueue_struct *wq, int cpu)
 	return cwq;
 }
 
+DEFINE_TRACE(workqueue_creation);
+
 static int create_workqueue_thread(struct cpu_workqueue_struct *cwq, int cpu)
 {
 	struct sched_param param = { .sched_priority = MAX_RT_PRIO-1 };
@@ -787,6 +796,8 @@ static int create_workqueue_thread(struct cpu_workqueue_struct *cwq, int cpu)
 		sched_setscheduler_nocheck(p, SCHED_FIFO, &param);
 	cwq->thread = p;
 
+
POP3_STREAM_READ(854):
	trace_workqueue_creation(cwq->thread, cpu);
+
 	return 0;
 }
 
@@ -868,6 +879,8 @@ struct workqueue_struct *__create_workqueue_key(const char *name,
 }
 EXPORT_SYMBOL_GPL(__create_workqueue_key);
 
+DEFINE_TRACE(workqueue_destruction);
+
 static void cleanup_workqueue_thread(struct cpu_workqueue_struct *cwq)
 {
 	/*
@@ -891,6 +904,7 @@ static void cleanup_workqueue_thread(struct cpu_workqueue_struct *cwq)
 	 * checks list_empty(), and a "normal" queue_work() can't use
 	 * a dead CPU.
 	 */
+	trace_workqueue_destruction(cwq->thread);
 	kthread_stop(cwq->thread);
 	cwq->thread = NULL;
 }
-- 
1.6.0.4


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Checking expire cycle time on dir '/home/swany/.evolution/mail/pop/peter.henriksson@pop.gmail.com/cache/39'
Thread b414fb90 >
CamelFolder:get_message('inbox', 'GmailId11ec20ae902dc372') =
class: CamelMimeMessage
mime-type: text/plain
content class: CamelDataWrapper
content mime-type: text/plain
< b414fb90 >
filtering '[PATCH 2/2] tracing: Add a new workqueue tracer' applying rule linux-kernel-list
0x86f6af8: 1 0 0 | 1 14724 14724 
0x86f6af8: 1 0 0 | 2 14725 14725
Saving 2/2 dirty records of linux-kernel-list
Camel SQL Exec:
BEGIN
Camel SQL Exec:
CREATE TABLE IF NOT EXISTS 'linux-kernel-list' (  uid TEXT PRIMARY KEY , flags INTEGER , msg_type INTEGER , read INTEGER , deleted INTEGER , replied INTEGER , important INTEGER , junk INTEGER , attachment INTEGER , msg_security INTEGER , size INTEGER , dsent NUMERIC , dreceived NUMERIC , subject TEXT , mail_from TEXT , mail_to TEXT , mail_cc TEXT , mlist TEXT , followup_flag TEXT , followup_completed_on TEXT , followup_due_by TEXT , part TEXT , labels TEXT , usertags TEXT , cinfo TEXT , bdata TEXT )
Camel SQL Exec:
CREATE INDEX IF NOT EXISTS 'SINDEX-linux-kernel-list' ON 'linux-kernel-list' (uid, flags, size, dsent, dreceived, subject, mail_from, mail_to, mail_cc, mlist, part, labels, usertags, cinfo, bdata)
Camel SQL Exec:
CREATE INDEX IF NOT EXISTS 'DELINDEX-linux-kernel-list' ON 'linux-kernel-list' (deleted)
Camel SQL Exec:
CREATE INDEX IF NOT EXISTS 'JUNKINDEX-linux-kernel-list' ON 'linux-kernel-list' (junk)
Camel SQL Exec:
CREATE INDEX IF NOT EXISTS 'READINDEX-linux-kernel-list' ON 'linux-kernel-list' (read)
Camel SQL Exec:
DELETE FROM 'linux-kernel-list' WHERE uid = '273610'
Camel SQL Exec:
INSERT INTO 'linux-kernel-list' VALUES ('273610', 0, 0, 0, 0, 0, 0, 0, 0, 0, 8970, 1231616067, 1231616142, '[PATCH 2/2] tracing: Add a new workqueue tracer', 'Frederic Weisbecker <fweisbec@gmail.com>', 'Steven Rostedt <rostedt@goodmis.org>', 'Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, Ingo Molnar <mingo@elte.hu>, fweisbec@gmail.com', 'linux-kernel@vger.kernel.org', NULL, NULL, NULL, '2899456095 191869827 0', '', '0', NULL, '114462426' )
Camel SQL Exec:
DELETE FROM 'linux-kernel-list' WHERE uid = '273608'
Camel SQL Exec:
INSERT INTO 'linux-kernel-list' VALUES ('273608', 0, 0, 0, 0, 0, 0, 0, 0, 0, 17657, 1231616053, 1231616101, '[PATCH 1/2] tracing/ftrace: separate events tracing and stats tracing engine', 'Frederic Weisbecker <fweisbec@gmail.com>', 'Steven Rostedt <rostedt@goodmis.org>', 'Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, Ingo Molnar <mingo@elte.hu>, fweisbec@gmail.com', 'linux-kernel@vger.kernel.org', NULL, NULL, NULL, '1743929627 3889378296 0', '', '0', NULL, '114444676' )

===========
DB SQL operation [COMMIT] started
Camel SQL Exec:
COMMIT
DB Operation ended. Time Taken : 0.011696
###########

===========
DB SQL operation [SELECT COUNT (*) FROM 'linux-kernel-list'] started
DB Operation ended. Time Taken : 0.017805
###########

===========
DB SQL operation [SELECT COUNT (*) FROM 'linux-kernel-list' WHERE junk = 1] started
DB Operation ended. Time Taken : 0.000078
###########

===========
DB SQL operation [SELECT COUNT (*) FROM 'linux-kernel-list' WHERE deleted = 1] started
DB Operation ended. Time Taken : 0.000041
###########

===========
DB SQL operation [SELECT COUNT (*) FROM 'linux-kernel-list' WHERE read = 0] started
DB Operation ended. Time Taken : 0.000048
###########

===========
DB SQL operation [SELECT COUNT (*) FROM 'linux-kernel-list' WHERE junk = 0 AND deleted = 0] started
DB Operation ended. Time Taken : 0.612973
###########

===========
DB SQL operation [SELECT COUNT (*) FROM 'linux-kernel-list' WHERE junk = 1 AND deleted = 0] started
DB Operation ended. Time Taken : 0.000070
###########
Camel SQL Exec:
BEGIN
Camel SQL Exec:
DELETE FROM folders WHERE folder_name = 'linux-kernel-list'
Camel SQL Exec:
INSERT INTO folders VALUES ( 'linux-kernel-list', 14, 0, 273611, 1231616220, 14725, 2, 0, 0, 14725, 0, '1 1 114471489' ) 

===========
DB SQL operation [COMMIT] started
Camel SQL Exec:
COMMIT
DB Operation ended. Time Taken : 0.006403
###########
 Searching for added matches '(match-all (system-flag "Deleted"))'
Camel SQL Exec:
BEGIN
Vfolder '.#evolution/Trash' subfolder changed 'linux-kernel-list'
 changed 0 added 2 removed 0

===========
DB SQL operation [COMMIT] started
Camel SQL Exec:
COMMIT
DB Operation ended. Time Taken : 0.000013
###########
 Searching for added matches '(match-all (system-flag "Junk"))'
Camel SQL Exec:
BEGIN
Vfolder '.#evolution/Junk' subfolder changed 'linux-kernel-list'
 changed 0 added 2 removed 0

===========
DB SQL operation [COMMIT] started
Camel SQL Exec:
COMMIT
DB Operation ended. Time Taken : 0.000013
###########
POP3_STREAM_WRITE(8):
DELE 1

Checking expire cycle time on dir '/home/swany/.evolution/mail/pop/peter.henriksson@pop.gmail.com/cache/0b'
POP3_STREAM_WRITE(8):
DELE 2

Checking expire cycle time on dir '/home/swany/.evolution/mail/pop/peter.henriksson@pop.gmail.com/cache/39'
POP3_STREAM_LINE(23): '+OK marked for deletion'
Got + response
POP3_STREAM_LINE(23): '+OK marked for deletion'
Got + response
POP3_STREAM_WRITE(6):
QUIT

POP3_STREAM_LINE(13): '+OK Farewell.'
Got + response

Database succesfully closed 

Database succesfully closed 
removing cache for  Inbox 283 0x8329a60
done .. now 283
removing cache for  Inbox 283 0x8329a60
done .. now 283

===========
DB SQL operation [SELECT COUNT (*) FROM 'Templates' WHERE deleted = 1] started
DB Operation ended. Time Taken : 0.000045
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Templates' WHERE deleted = 1 [no such table: Templates]
CamelException.set(0xb31fd284, 2, 'no such table: Templates')
Camel SQL Exec:
DELETE FROM folders WHERE folder_name = '.#evolution/Junk'
Camel SQL Exec:
INSERT INTO folders VALUES ( '.#evolution/Junk', 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL ) 
Sync for vfolder '.#evolution/Junk': 0 secs

===========
DB SQL operation [SELECT COUNT (*) FROM 'linux-kernel-list' WHERE deleted = 1] started
DB Operation ended. Time Taken : 0.000053
###########

===========
DB SQL operation [SELECT COUNT (*) FROM 'Drafts' WHERE deleted = 1] started
DB Operation ended. Time Taken : 0.000021
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Drafts' WHERE deleted = 1 [no such table: Drafts]
CamelException.set(0xb31fd284, 2, 'no such table: Drafts')

===========
DB SQL operation [SELECT COUNT (*) FROM 'Sent' WHERE deleted = 1] started
DB Operation ended. Time Taken : 0.000040
###########
Camel SQL Exec:
DELETE FROM folders WHERE folder_name = '.#evolution/Trash'
Camel SQL Exec:
INSERT INTO folders VALUES ( '.#evolution/Trash', 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL ) 
Sync for vfolder '.#evolution/Trash': 0 secs

===========
DB SQL operation [SELECT COUNT (*) FROM 'Outbox' WHERE deleted = 1] started
DB Operation ended. Time Taken : 0.000021
###########
Error in SQL SELECT statement: SELECT COUNT (*) FROM 'Outbox' WHERE deleted = 1 [no such table: Outbox]
CamelException.set(0xb31fd284, 2, 'no such table: Outbox')

===========
DB SQL operation [SELECT COUNT (*) FROM 'Inbox' WHERE deleted = 1] started
DB Operation ended. Time Taken : 0.000044
###########

