* This file is licenced under the 3-clause BSD Licence. See the file
* COPYING for full details.
*/
+#include <inttypes.h>
#include <stdlib.h>
#include <limits.h>
#include <stdio.h>
sqlite3_free(errmsg);
return 1;
}
+
+ Log_Info("SQLite database rebuilt");
}
else
{
// Build Query
query = mkstr(
- "SELECT acct_is_disabled,acct_is_coke,acct_is_wheel,acct_is_door,acct_is_internal"
+ "SELECT acct_is_disabled,acct_is_coke,acct_is_admin,acct_is_door,acct_is_internal"
" FROM accounts WHERE acct_id=%i LIMIT 1",
UserID
);
const char *revSort;
sqlite3_stmt *ret;
+ // Balance condtion
if( Flags & BANK_ITFLAG_MINBALANCE )
balanceClause = " AND acct_balance>=";
else if( Flags & BANK_ITFLAG_MAXBALANCE )
MinMaxBalance = 0;
}
+ // Last seen condition
if( Flags & BANK_ITFLAG_SEENAFTER )
lastSeenClause = " AND acct_last_seen>=";
else if( Flags & BANK_ITFLAG_SEENBEFORE )
lastSeenClause = " AND datetime(-1,'unixepoch')!=";
}
+ // Sorting clause
switch( Flags & BANK_ITFLAG_SORTMASK )
{
case BANK_ITFLAG_SORT_NONE:
query = mkstr("SELECT acct_id FROM accounts WHERE 1=1"
"%s%s%s%s%s" // Flags
"%s%i" // Balance
- "%sdatetime(%lli,'unixepoch')" // Last seen
+ "%sdatetime(%"PRIu64",'unixepoch')" // Last seen
"%s%s" // Sort and direction
,
MAP_FLAG("acct_is_coke", USER_FLAG_COKE),
MAP_FLAG("acct_is_internal", USER_FLAG_INTERNAL),
MAP_FLAG("acct_is_disabled", USER_FLAG_DISABLED),
balanceClause, MinMaxBalance,
- lastSeenClause, LastSeen,
+ lastSeenClause, (uint64_t)LastSeen,
orderClause, revSort
);
//printf("query = \"%s\"\n", query);