360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
|
** against the various user categories.
*/
void capability_summary(void){
Stmt q;
db_prepare(&q,
"WITH t(id,seq) AS (VALUES('nobody',1),('anonymous',2),('reader',3),"
"('developer',4))"
" SELECT id, fullcap(user.cap),seq,1"
" FROM t LEFT JOIN user ON t.id=user.login"
" UNION ALL"
" SELECT 'New User Default', fullcap(%Q), 10, 1"
" UNION ALL"
" SELECT 'Regular User', fullcap(capunion(cap)), 20, count(*) FROM user"
" WHERE cap NOT GLOB '*[as]*' AND login NOT IN (SELECT id FROM t)"
" UNION ALL"
|
>
|
|
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
|
** against the various user categories.
*/
void capability_summary(void){
Stmt q;
db_prepare(&q,
"WITH t(id,seq) AS (VALUES('nobody',1),('anonymous',2),('reader',3),"
"('developer',4))"
" SELECT id, CASE WHEN user.login='nobody' THEN user.cap"
" ELSE fullcap(user.cap) END,seq,1"
" FROM t LEFT JOIN user ON t.id=user.login"
" UNION ALL"
" SELECT 'New User Default', fullcap(%Q), 10, 1"
" UNION ALL"
" SELECT 'Regular User', fullcap(capunion(cap)), 20, count(*) FROM user"
" WHERE cap NOT GLOB '*[as]*' AND login NOT IN (SELECT id FROM t)"
" UNION ALL"
|