#sqlite_debug_dll off ; For testing your own Compiled Version alias -l SQLite return $shortfn($+($scriptdir,src\Debug\sqlite.dll)) #sqlite_debug_dll end alias -l SQLite return $shortfn($+($scriptdir,sqlite.dll)) #sqlite_debug off ; To Make debugging Clearer :D alias SQLiteDll { var %x = $dll($SQLite,$1,$iif($2- != $null,$2-,_)) if (E_* iswm %x) { echo -a SQLiteDll:7 $+($1,:6) $+($2,:12) $3- $+(:4,%x) return %x } echo -a SQLiteDll:7 $+($1,:6) $+($2,:12) $3- $+(:3,%x) return %x } #sqlite_debug end alias SQLiteDLL return $dll($SQLite,$1,$iif($2- != $null,$2-,_)) on *:load:{ .disable #sqlite_debug_dll .disable #sqlite_debug echo $color(info) -a * Loaded $SQLiteDLL(DllInfo) } alias sqlite { var %dll_old if ($1 == debug) %dll_old = $group(#sqlite_debug_dll) var %old = $group(#sqlite_debug) if (%dll_old && %dll_old != on) .enable #sqlite_debug_dll if (%old != on) .enable #sqlite_debug testdb if (%old != on) .disable #sqlite_debug if (%dll_old && %dll_old != on) .disable #sqlite_debug_dll } ;________________________________________________ ; ; Auto Debug Calling Code... ;________________________________________________ ; on *:start:if (SQLITE_AUTO_*_TEST iswm $cmdline) .timersqlite_test 1 3 sqlite_auto_test alias -l sqlite_auto_test { var %old_dll = $group(#sqlite_debug_dll) var %old = $group(#sqlite_debug ) if (RELEASE isin $cmdline) .disable #sqlite_debug_dll if (DEBUG isin $cmdline) .enable #sqlite_debug_dll if (%old != on) .enable #sqlite_debug sqlite_test if (%old != on) .disable #sqlite_debug $iif(%old_dll == on,.enable,.disable) #sqlite_debug_dll } alias addpre { var %section = $1 var %release = $2 var %pretime = $ctime var %group = $gettok(%release, -1, 45) if ($rowexists(%release) = 1) { halt } SQLiteDLL Open dupedb dupedb.db SQLiteDLL Query dupedb INSERT INTO dupedb (release, time, section, group) VALUES (' $+ %release $+ ', ' $+ %pretime $+ ', ' $+ %section $+ ', ' $+ %group $+ ') SQLiteDLL Close dupedb } alias rowexists { var %release = $1- var %query = SELECT * FROM dupedb WHERE release=' $+ %release $+ ' LIMIT 1 SQLiteDLL Open dupedb dupedb.db SQLiteDLL Query dupedb %query var %rows = $gettok($SQLiteDLL(Rows, dupedb), -1, 32) SQLiteDLL Close dupedb if (%rows > 0) { return 1 } return 0 } alias pt { var %release = $replace($1-,$chr(32),$chr(37)) var %query = SELECT * FROM dupedb WHERE release LIKE ' $+ $chr(37) $+ %release $+ $chr(37) $+ ' ORDER BY id DESC SQLiteDLL Open dupedb dupedb.db SQLiteDLL Query dupedb %query var %rows = $SQLiteDLL(Rows, dupedb) if (%rows > 0) { var %rowdata = $SQLiteDLL(Fetch, dupedb, 1) var %rlstime = $gettok(%rowdata,3,9) var %preage = $calc($ctime - %rlstime) return %preage } SQLiteDLL Close dupedb } alias find { if ($chr(33) !isin $1-) { var %query = SELECT * FROM dupedb WHERE release LIKE $+($chr(39),$chr(37),$replace($1-,$chr(32),$chr(37)),$chr(37),$chr(39)) ORDER BY time DESC } else { set -u0 %pre.test.search.string.base SELECT * FROM dupedb WHERE release LIKE $+($chr(39),$chr(37),$replace($deltok($1-,-1,32),$chr(32),$chr(37)),$chr(37),$chr(39)) set -u0 %pre.test.filter.string $replace($gettok($1-,-1,32),$chr(33),$chr(32)) set -u0 %pre.test.filter.string.total $numtok(%pre.test.filter.string,32) set -u0 %pre.test.filter.string.counter 1 while (%pre.test.filter.string.counter <= %pre.test.filter.string.total) { set -u0 %pre.test.filter.output %pre.test.filter.output AND release NOT LIKE $+($chr(39),$chr(37),$gettok(%pre.test.filter.string,%pre.test.filter.string.counter,32),$chr(37),$chr(39)) inc %pre.test.filter.string.counter 1 } var %query = %pre.test.search.string.base %pre.test.filter.output ORDER BY time DESC } sqlitedll Open dupedb dupedb.db sqlitedll Query predb %query var %rows = $gettok($SQLiteDLL(Rows, dupedb), -1, 32) if (%rows > 0) { var %i = 1 var %maxrows = 10 if (%rows < 10) { %maxrows = %rows } echo -a %rows match(s) found. Sending the last %maxrows $+ . while (%i <= %maxrows) { var %rowdata = $sqlitedll(Fetch, dupedb, %i) var %release = $gettok(%rowdata,2,9) var %matches = $gettok(%rowdata,2,32) var %pretime = $duration($calc($ctime - $gettok(%rowdata,3,9))) echo -a [4Pretime1] %release  %pretime inc %i } SQLiteDLL Close dupedb } }