]> andersk Git - moira.git/blame - server/queries2.c
Add an option to show lists that are neither groups nor mailing lists.
[moira.git] / server / queries2.c
CommitLineData
7ac48069 1/* $Id$
d33e787c 2 *
c44ddfa7 3 * This file defines the query dispatch table
d33e787c 4 *
7ac48069 5 * Copyright (C) 1987-1998 by the Massachusetts Institute of Technology.
c801de4c 6 * For copying and distribution information, please see the file
7 * <mit-copyright.h>.
d33e787c 8 */
9
c801de4c 10#include <mit-copyright.h>
03c05291 11#include "mr_server.h"
d33e787c 12#include "query.h"
d33e787c 13
7ac48069 14#include "mr_et.h"
d33e787c 15
d33e787c 16/* VALOBJS
17 * These are commonly used validation objects, defined here so that they
18 * can be shared.
19 */
20
d33e787c 21static struct valobj VOuser0[] = {
e2b8245f 22 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
d33e787c 23};
24
25static struct valobj VOmach0[] = {
e2b8245f 26 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
d33e787c 27};
28
29static struct valobj VOclu0[] = {
e2b8245f 30 {V_ID, 0, CLUSTERS_TABLE, "name", "clu_id", MR_CLUSTER},
d33e787c 31};
32
d1b3a4bf 33static struct valobj VOsnet0[] = {
34 {V_ID, 0, SUBNET_TABLE, "name", "snet_id", MR_SUBNET},
35};
36
d33e787c 37static struct valobj VOlist0[] = {
e2b8245f 38 {V_ID, 0, LIST_TABLE, "name", "list_id", MR_LIST},
d33e787c 39};
40
d1b3a4bf 41static struct valobj VOfilesys0[] = {
42 {V_ID, 0, FILESYS_TABLE, "label", "filsys_id", MR_FILESYS},
43};
44
f802fd0d 45static struct valobj VOnum0[] = {
46 {V_NUM, 0},
d33e787c 47};
48
d33e787c 49/* Validations
50 * Commonly used validation records defined here so that they may
51 * be shared.
52 */
53
54static struct validate VDmach = { VOmach0, 1 };
263a36d4 55
29028043 56static struct validate VDfix_modby = {
57 0,
58 0,
0c345c78 59 0,
60 0,
61 0,
62 0,
63 0,
64 0,
65 followup_fix_modby,
d33e787c 66};
67
d33e787c 68/* Query data */
69
186dd63b 70static char *galo2_fields[] = {
e2b8245f 71 "login", "unix_uid", "shell", "last", "first", "middle",
d33e787c 72};
73
186dd63b 74static char *galo_fields[] = {
75 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
76};
77
78static char *gual2_fields[] = {
e2b8245f 79 "login",
80 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 81 "clearid", "class", "comments", "signature", "secure",
82 "modtime", "modby", "modwith",
4ffa124a 83};
0c345c78 84
186dd63b 85static char *gual_fields[] = {
86 "login",
87 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
88 "status", "clearid", "class", "comments", "signature", "secure",
89 "modtime", "modby", "modwith",
90};
91
92static char *gubl2_fields[] = {
e2b8245f 93 "login",
94 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 95 "clearid", "class", "modtime", "modby", "modwith",
d33e787c 96};
97
186dd63b 98static char *gubl_fields[] = {
99 "login",
100 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
101 "status", "clearid", "class", "modtime", "modby", "modwith",
102};
103
5eaef520 104static struct validate gubl_validate =
d33e787c 105{
263a36d4 106 0,
107 0,
d33e787c 108 0,
109 0,
110 0,
111 0,
112 access_login,
113 0,
d55429b2 114 followup_fix_modby,
d33e787c 115};
116
186dd63b 117static char *guau2_fields[] = {
e2b8245f 118 "unix_uid",
119 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 120 "clearid", "class", "comments", "signature", "secure",
121 "modtime", "modby", "modwith",
4ffa124a 122};
0c345c78 123
186dd63b 124static char *guau_fields[] = {
125 "unix_uid",
126 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
127 "status", "clearid", "class", "comments", "signature", "secure",
128 "modtime", "modby", "modwith",
129};
130
131static char *guan2_fields[] = {
e2b8245f 132 "first", "last",
133 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 134 "clearid", "class", "comments", "signature", "secure",
135 "modtime", "modby", "modwith",
4ffa124a 136};
0c345c78 137
186dd63b 138static char *guan_fields[] = {
139 "first", "last",
140 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
141 "status", "clearid", "class", "comments", "signature", "secure",
142 "modtime", "modby", "modwith",
143};
144
5eaef520 145static struct validate guan_validate =
60452f41 146{
263a36d4 147 0,
148 0,
60452f41 149 0,
150 0,
151 0,
152 0,
153 0,
154 0,
d55429b2 155 followup_fix_modby,
60452f41 156};
157
186dd63b 158static char *guac2_fields[] = {
e2b8245f 159 "class",
160 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 161 "clearid", "class", "comments", "signature", "secure",
162 "modtime", "modby", "modwith",
4ffa124a 163};
0c345c78 164
186dd63b 165static char *guac_fields[] = {
166 "class",
167 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
168 "status", "clearid", "class", "comments", "signature", "secure",
169 "modtime", "modby", "modwith",
170};
171
172static char *guam2_fields[] = {
e2b8245f 173 "clearid",
174 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 175 "clearid", "class", "comments", "signature", "secure",
176 "modtime", "modby", "modwith",
4ffa124a 177};
0c345c78 178
186dd63b 179static char *guam_fields[] = {
180 "clearid",
181 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
182 "status", "clearid", "class", "comments", "signature", "secure",
183 "modtime", "modby", "modwith",
184};
185
186static char *gubu2_fields[] = {
e2b8245f 187 "unix_uid",
188 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 189 "clearid", "class", "modtime", "modby", "modwith",
d33e787c 190};
191
186dd63b 192static char *gubu_fields[] = {
193 "unix_uid",
194 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
195 "status", "clearid", "class", "modtime", "modby", "modwith",
196};
197
5eaef520 198static struct validate gubu_validate =
f9f5c199 199{
f802fd0d 200 VOnum0,
201 1,
f9f5c199 202 0,
203 0,
204 0,
205 0,
206 access_login,
207 0,
208 followup_fix_modby,
209};
210
186dd63b 211static char *gubn2_fields[] = {
e2b8245f 212 "first", "last",
213 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 214 "clearid", "class", "modtime", "modby", "modwith",
d33e787c 215};
216
186dd63b 217static char *gubn_fields[] = {
218 "first", "last",
219 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
220 "status", "clearid", "class", "modtime", "modby", "modwith",
221};
222
99e09b48 223static struct validate gubn_validate =
224{
263a36d4 225 0,
226 0,
0c345c78 227 0,
228 0,
229 0,
230 0,
231 0,
232 0,
233 followup_fix_modby,
99e09b48 234};
235
186dd63b 236static char *gubc2_fields[] = {
e2b8245f 237 "class",
238 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 239 "clearid", "class", "modtime", "modby", "modwith",
d33e787c 240};
241
186dd63b 242static char *gubc_fields[] = {
243 "class",
244 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
245 "status", "clearid", "class", "modtime", "modby", "modwith",
246};
247
248static char *gubm2_fields[] = {
e2b8245f 249 "clearid",
250 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 251 "clearid", "class", "modtime", "modby", "modwith",
d33e787c 252};
253
186dd63b 254static char *gubm_fields[] = {
255 "clearid",
256 "login", "unix_uid", "shell", "winconsoleshell", "last", "first",
257 "middle", "status", "clearid", "class", "modtime", "modby", "modwith",
258};
259
260static char *auac2_fields[] = {
e2b8245f 261 "login", "unix_uid", "shell", "last", "first", "middle", "status",
262 "clearid", "class", "comments", "signature", "secure",
d33e787c 263};
264
186dd63b 265static char *auac_fields[] = {
266 "login", "unix_uid", "shell", "winconsoleshell", "last", "first",
267 "middle", "status", "clearid", "class", "comments", "signature", "secure",
268};
269
270static struct valobj auac2_valobj[] = {
e2b8245f 271 {V_CHAR, 0, USERS_TABLE, "login"},
f802fd0d 272 {V_NUM, 1},
e2b8245f 273 {V_CHAR, 2, USERS_TABLE, "shell"},
274 {V_CHAR, 3, USERS_TABLE, "last"},
275 {V_CHAR, 4, USERS_TABLE, "first"},
276 {V_CHAR, 5, USERS_TABLE, "middle"},
f802fd0d 277 {V_NUM, 6},
e2b8245f 278 {V_CHAR, 7, USERS_TABLE, "clearid"},
279 {V_TYPE, 8, 0, "class", 0, MR_BAD_CLASS},
03c05291 280 {V_ID, 9, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
9c45837e 281 {V_NUM, 11},
d33e787c 282};
283
186dd63b 284static struct valobj auac_valobj[] = {
285 {V_CHAR, 0, USERS_TABLE, "login"},
286 {V_NUM, 1},
287 {V_CHAR, 2, USERS_TABLE, "shell"},
288 {V_CHAR, 3, USERS_TABLE, "winconsoleshell"},
289 {V_CHAR, 4, USERS_TABLE, "last"},
290 {V_CHAR, 5, USERS_TABLE, "first"},
291 {V_CHAR, 6, USERS_TABLE, "middle"},
292 {V_NUM, 7},
293 {V_CHAR, 8, USERS_TABLE, "clearid"},
294 {V_TYPE, 9, 0, "class", 0, MR_BAD_CLASS},
295 {V_ID, 10, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
296 {V_NUM, 12},
297};
298
299static struct validate auac2_validate = {
300 auac2_valobj,
301 11,
302 "login",
303 "login = '%s'",
304 1,
305 "users_id",
306 0,
307 setup_ausr,
308 followup_ausr,
309};
310
4ffa124a 311static struct validate auac_validate = {
312 auac_valobj,
186dd63b 313 12,
314 "login",
315 "login = '%s'",
316 1,
317 "users_id",
318 0,
319 setup_ausr,
320 followup_ausr,
321};
322
323static struct validate ausr2_validate = {
324 auac2_valobj,
325 9,
e2b8245f 326 "login",
03c05291 327 "login = '%s'",
4ffa124a 328 1,
e2b8245f 329 "users_id",
4ffa124a 330 0,
331 setup_ausr,
332 followup_ausr,
333};
0c345c78 334
d33e787c 335static struct validate ausr_validate = {
4ffa124a 336 auac_valobj,
186dd63b 337 10,
e2b8245f 338 "login",
03c05291 339 "login = '%s'",
d33e787c 340 1,
e2b8245f 341 "users_id",
d33e787c 342 0,
343 setup_ausr,
344 followup_ausr,
345};
346
347static char *rusr_fields[] = {
b4bfb4d1 348 "unix_uid", "login", "pobox_type"
03c05291 349};
d33e787c 350
ba408d23 351static struct valobj rusr_valobj[] = {
f802fd0d 352 {V_NUM, 0},
8bf97744 353 {V_CHAR, 1, USERS_TABLE, "login"},
ba408d23 354};
355
d33e787c 356static struct validate rusr_validate = {
ba408d23 357 rusr_valobj,
b4bfb4d1 358 2,
d33e787c 359 0,
360 0,
361 0,
362 0,
363 0,
364 register_user,
365 0,
366};
367
186dd63b 368static char *uuac2_fields[] = {
e2b8245f 369 "login",
370 "newlogin", "unix_uid", "shell", "last", "first", "middle", "status",
371 "clearid", "class", "comments", "signature", "secure",
d33e787c 372};
373
186dd63b 374static char *uuac_fields[] = {
375 "login",
376 "newlogin", "unix_uid", "shell", "winconsoleshell", "last", "first",
377 "middle", "status", "clearid", "class", "comments", "signature", "secure",
378};
379
380static struct valobj uuac2_valobj[] = {
e2b8245f 381 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
382 {V_RENAME, 1, USERS_TABLE, "login", "users_id", MR_NOT_UNIQUE},
f802fd0d 383 {V_NUM, 2},
e2b8245f 384 {V_CHAR, 3, USERS_TABLE, "shell"},
385 {V_CHAR, 4, USERS_TABLE, "first"},
386 {V_CHAR, 5, USERS_TABLE, "last"},
387 {V_CHAR, 6, USERS_TABLE, "middle"},
f802fd0d 388 {V_NUM, 7},
e2b8245f 389 {V_CHAR, 8, USERS_TABLE, "clearid"},
390 {V_TYPE, 9, 0, "class", 0, MR_BAD_CLASS},
03c05291 391 {V_ID, 10, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
f802fd0d 392 {V_NUM, 12},
d33e787c 393};
186dd63b 394
395static struct valobj uuac_valobj[] = {
396 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
397 {V_RENAME, 1, USERS_TABLE, "login", "users_id", MR_NOT_UNIQUE},
398 {V_NUM, 2},
399 {V_CHAR, 3, USERS_TABLE, "shell"},
400 {V_CHAR, 4, USERS_TABLE, "winconsoleshell"},
401 {V_CHAR, 5, USERS_TABLE, "first"},
402 {V_CHAR, 6, USERS_TABLE, "last"},
403 {V_CHAR, 7, USERS_TABLE, "middle"},
404 {V_NUM, 8},
405 {V_CHAR, 9, USERS_TABLE, "clearid"},
406 {V_TYPE, 10, 0, "class", 0, MR_BAD_CLASS},
407 {V_ID, 11, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
408 {V_NUM, 13},
409};
410
411static struct validate uuac2_validate = {
412 uuac2_valobj,
413 12,
414 0,
415 0,
416 0,
417 "users_id",
418 0,
419 setup_ausr,
420 set_modtime_by_id,
421};
d33e787c 422
4ffa124a 423static struct validate uuac_validate = {
0c345c78 424 uuac_valobj,
186dd63b 425 13,
426 0,
427 0,
428 0,
429 "users_id",
430 0,
431 setup_ausr,
432 set_modtime_by_id,
433};
434
435static struct validate uusr2_validate = {
436 uuac2_valobj,
437 10,
0c345c78 438 0,
439 0,
440 0,
e2b8245f 441 "users_id",
0c345c78 442 0,
443 setup_ausr,
d55429b2 444 set_modtime_by_id,
4ffa124a 445};
0c345c78 446
d33e787c 447static struct validate uusr_validate = {
4ffa124a 448 uuac_valobj,
d1b3a4bf 449 11,
d33e787c 450 0,
451 0,
452 0,
e2b8245f 453 "users_id",
d33e787c 454 0,
4ffa124a 455 setup_ausr,
d33e787c 456 set_modtime_by_id,
457};
458
459static char *uush_fields[] = {
e2b8245f 460 "login",
461 "shell",
d33e787c 462};
463
03c05291 464static struct valobj uush_valobj[] = {
e2b8245f 465 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
466 {V_CHAR, 1, USERS_TABLE, "shell"},
03c05291 467};
468
d33e787c 469static struct validate uush_validate = {
03c05291 470 uush_valobj,
d1b3a4bf 471 2,
d33e787c 472 0,
473 0,
474 0,
e2b8245f 475 "users_id",
d33e787c 476 access_user,
477 0,
a39342a9 478 set_finger_modtime,
d33e787c 479};
480
29dbfca4 481static char *uuws_fields[] = {
482 "login",
483 "winconsoleshell",
484};
485
486static struct valobj uuws_valobj[] = {
487 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
488 {V_CHAR, 1, USERS_TABLE, "winconsoleshell"},
489};
490
491static struct validate uuws_validate = {
492 uuws_valobj,
493 2,
494 0,
495 0,
496 0,
497 "users_id",
498 access_user,
499 0,
500 set_finger_modtime,
501};
502
d33e787c 503static char *uust_fields[] = {
e2b8245f 504 "login",
505 "status",
d33e787c 506};
507
4ffa124a 508static char *uuss_fields[] = {
e2b8245f 509 "login",
510 "secure",
4ffa124a 511};
0c345c78 512
f802fd0d 513static struct valobj uust_valobj[] = {
f802fd0d 514 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
515 {V_NUM, 1},
516 {V_NUM, 2},
517};
518
d33e787c 519static struct validate uust_validate = {
f802fd0d 520 uust_valobj,
d1b3a4bf 521 2,
d33e787c 522 0,
523 0,
524 0,
e2b8245f 525 "users_id",
d33e787c 526 0,
527 0,
528 set_modtime_by_id,
529};
530
531static char *dusr_fields[] = {
e2b8245f 532 "login",
d33e787c 533};
534
535static struct validate dusr_validate = {
d1b3a4bf 536 VOuser0,
537 1,
d33e787c 538 0,
539 0,
540 0,
541 0,
542 0,
543 setup_dusr,
544 0,
545};
546
77eb4bdf 547static char *aurv_fields[] = {
548 "login", "reservation",
549};
550
551static struct validate aurv_validate = {
552 VOuser0,
553 1,
554 0,
555 0,
556 0,
557 "users_id",
558 0,
559 0,
560 do_user_reservation,
561};
562
563static char *gurv_fields[] = {
564 "login",
565 "reservation",
566};
567
568static struct validate gurv_validate = {
569 VOuser0,
570 1,
571 0,
572 0,
573 0,
574 0,
575 0,
576 0,
577 get_user_reservations,
578};
579
580static char *gubr_fields[] = {
581 "reservation",
582 "login",
583};
584
585static struct validate gubr_validate = {
586 0,
587 0,
588 0,
589 0,
590 0,
591 0,
592 0,
593 0,
594 get_user_by_reservation,
595};
596
e2b8245f 597static char *gkum_fields[] = { "login", "kerberos",
598 "login", "kerberos" };
012fc215 599
e2b8245f 600static char *akum_fields[] = { "login", "kerberos" };
012fc215 601
602static struct valobj akum_valobj[] =
603{
e2b8245f 604 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
03c05291 605 {V_ID, 1, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
012fc215 606};
607
608static struct validate akum_validate =
609{
0c345c78 610 akum_valobj,
d1b3a4bf 611 2,
e2b8245f 612 "users_id",
3e8c655c 613 "users_id = %d or string_id = %d",
0c345c78 614 2,
e2b8245f 615 "users_id",
0c345c78 616 access_user,
996ffd1d 617 0,
135dcb80 618 0,
619};
012fc215 620
621static struct validate dkum_validate =
622{
0c345c78 623 akum_valobj,
d1b3a4bf 624 2,
e2b8245f 625 "users_id",
3e8c655c 626 "users_id = %d and string_id = %d",
0c345c78 627 2,
e2b8245f 628 "users_id",
0c345c78 629 access_user,
630 0,
135dcb80 631 0,
632};
012fc215 633
d33e787c 634static char *gfbl_fields[] = {
e2b8245f 635 "login",
636 "login", "fullname", "nickname", "home_addr",
5eaef520 637 "home_phone", "office_addr", "office_phone", "department",
8db06f75 638 "affiliation", "modtime", "modby", "modwith",
d33e787c 639};
640
641static struct validate gfbl_validate = {
642 VOuser0,
643 1,
644 0,
645 0,
646 0,
647 0,
648 access_user,
649 0,
650 followup_fix_modby,
651};
652
653static char *ufbl_fields[] = {
e2b8245f 654 "login",
d33e787c 655 "fullname", "nickname", "home_addr",
5eaef520 656 "home_phone", "office_addr", "office_phone", "department",
4e5ec77f 657 "affiliation",
d33e787c 658};
659
03c05291 660static struct valobj ufbl_valobj[] = {
e2b8245f 661 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
03c05291 662 {V_LEN, 1, USERS_TABLE, "fullname"},
663 {V_LEN, 2, USERS_TABLE, "nickname"},
664 {V_LEN, 3, USERS_TABLE, "home_addr"},
665 {V_LEN, 4, USERS_TABLE, "home_phone"},
666 {V_LEN, 5, USERS_TABLE, "office_addr"},
667 {V_LEN, 6, USERS_TABLE, "office_phone"},
668 {V_LEN, 7, USERS_TABLE, "department"},
669 {V_LEN, 8, USERS_TABLE, "affiliation"},
670};
671
d33e787c 672static struct validate ufbl_validate = {
03c05291 673 ufbl_valobj,
d1b3a4bf 674 9,
d33e787c 675 0,
676 0,
677 0,
678 0,
679 access_user,
680 0,
681 set_finger_modtime,
682};
683
684static char *gpob_fields[] = {
e2b8245f 685 "login",
d6d830a1 686 "login", "type", "box", "address", "modtime", "modby", "modwith",
d33e787c 687};
688
689static struct validate gpob_validate = {
690 VOuser0,
691 1,
692 "potype",
5eaef520 693 "potype != 'NONE' and users_id = %d",
d33e787c 694 1,
695 0,
696 access_user,
697 0,
698 followup_gpob,
699};
700
701static char *gpox_fields[] = {
e2b8245f 702 "login", "type", "box",
d33e787c 703};
704
705static struct validate gpox_validate = {
d1b3a4bf 706 0,
707 0,
d33e787c 708 0,
709 0,
710 0,
711 0,
712 0,
713 0,
714 followup_gpob,
715};
716
717static char *spob_fields[] = {
e2b8245f 718 "login", "type", "box",
d33e787c 719};
720
721static struct valobj spob_valobj[] = {
e2b8245f 722 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
03c05291 723 {V_TYPE, 1, 0, "pobox", 0, MR_TYPE},
d33e787c 724};
725
726static struct validate spob_validate = /* SET_POBOX */
727{
728 spob_valobj,
d1b3a4bf 729 2,
d33e787c 730 0,
731 0,
732 0,
733 0,
f659afb2 734 access_spob,
d33e787c 735 0,
736 set_pobox,
737};
738
739static struct validate spop_validate = /* SET_POBOX_POP */
740{
d1b3a4bf 741 VOuser0,
742 1,
d33e787c 743 0,
744 0,
745 0,
746 0,
747 access_user,
17cb3de8 748 0,
749 set_pobox_pop,
d33e787c 750};
751
752static struct validate dpob_validate = /* DELETE_POBOX */
753{
d1b3a4bf 754 VOuser0,
755 1,
d33e787c 756 0,
757 0,
758 0,
759 0,
760 access_user,
761 setup_dpob,
762 set_pobox_modtime,
763};
764
765static char *gmac_fields[] = {
e2b8245f 766 "name",
8db06f75 767 "name", "type", "modtime", "modby", "modwith",
d33e787c 768};
769
a66a2204 770static char *ghst_fields[] = {
e2b8245f 771 "name", "address", "location", "network",
8db06f75 772 "name", "vendor", "model", "os", "location", "contact", "use",
773 "status", "status_change", "network", "address", "ace_type",
774 "ace_name", "admin_comment", "ops_comment", "created", "creator",
775 "inuse", "modtime", "modby", "modwith",
d33e787c 776};
777
5eaef520 778static struct validate ghst_validate = {
263a36d4 779 0,
780 0,
a66a2204 781 0,
782 0,
783 0,
784 0,
785 access_host,
786 0,
787 followup_ghst,
788};
789
2884200f 790static char *ghha_fields[] = {
791 "name",
792 "hwaddr",
793};
794
a66a2204 795static char *ahst_fields[] = {
8db06f75 796 "name", "vendor", "model", "os", "location", "contact", "use",
797 "status", "subnet", "address", "ace_type", "ace_name",
798 "admin_comment", "ops_comment",
a66a2204 799};
800
801static struct valobj ahst_valobj[] = {
e2b8245f 802 {V_CHAR, 0, MACHINE_TABLE, "name"},
03c05291 803 {V_CHAR, 1, MACHINE_TABLE, "vendor"},
804 {V_CHAR, 2, MACHINE_TABLE, "model"},
805 {V_CHAR, 3, MACHINE_TABLE, "os"},
806 {V_CHAR, 4, MACHINE_TABLE, "location"},
807 {V_CHAR, 5, MACHINE_TABLE, "contact"},
f802fd0d 808 {V_NUM, 6},
809 {V_NUM, 7},
e2b8245f 810 {V_ID, 8, SUBNET_TABLE, "name", "snet_id", MR_SUBNET},
811 {V_TYPE, 10, 0, "ace_type", 0, MR_ACE},
a66a2204 812 {V_TYPEDATA, 11, 0, 0, 0, MR_ACE},
03c05291 813 {V_ID, 12, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
814 {V_ID, 13, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
d33e787c 815};
816
a66a2204 817static struct validate ahst_validate = {
818 ahst_valobj,
d1b3a4bf 819 13,
e2b8245f 820 "name",
03c05291 821 "name = UPPER('%s')",
d33e787c 822 1,
e2b8245f 823 "mach_id",
a66a2204 824 access_host,
825 setup_ahst,
0ec43029 826 set_uppercase_modtime,
d33e787c 827};
828
a66a2204 829static char *uhst_fields[] = {
e2b8245f 830 "name",
8db06f75 831 "newname", "vendor", "model", "os", "location", "contact", "use",
832 "status", "subnet", "address", "ace_type", "ace_name",
833 "admin_comment", "ops_comment",
d33e787c 834};
835
a66a2204 836static struct valobj uhst_valobj[] = {
03c05291 837 {V_CHAR, 0, MACHINE_TABLE, "name"},
e2b8245f 838 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
839 {V_RENAME, 1, MACHINE_TABLE, "name", "mach_id", MR_NOT_UNIQUE},
03c05291 840 {V_CHAR, 2, MACHINE_TABLE, "vendor"},
841 {V_CHAR, 3, MACHINE_TABLE, "model"},
842 {V_CHAR, 4, MACHINE_TABLE, "os"},
843 {V_CHAR, 5, MACHINE_TABLE, "location"},
f802fd0d 844 {V_CHAR, 6, MACHINE_TABLE, "contact"},
845 {V_NUM, 7},
846 {V_NUM, 8},
e2b8245f 847 {V_ID, 9, SUBNET_TABLE, "name", "snet_id", MR_SUBNET},
848 {V_TYPE, 11, 0, "ace_type", 0, MR_ACE},
a66a2204 849 {V_TYPEDATA, 12, 0, 0, 0, MR_ACE},
03c05291 850 {V_ID, 13, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
851 {V_ID, 14, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
d33e787c 852};
853
a66a2204 854static struct validate uhst_validate = {
855 uhst_valobj,
d1b3a4bf 856 15,
d33e787c 857 0,
858 0,
859 0,
e2b8245f 860 "mach_id",
a66a2204 861 access_host,
862 setup_ahst,
d33e787c 863 set_modtime_by_id,
864};
865
2884200f 866static char *uhha_fields[] = {
867 "name",
868 "hwaddr"
869};
870
871static struct valobj uhha_valobj[] = {
872 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
873 {V_CHAR, 1, MACHINE_TABLE, "hwaddr"},
874};
875
876static struct validate uhha_validate = {
877 uhha_valobj,
878 2,
879 0,
880 0,
881 0,
882 "mach_id",
883 0,
884 setup_uhha,
885 set_modtime_by_id,
886};
887
a66a2204 888static char *dhst_fields[] = {
e2b8245f 889 "name",
d33e787c 890};
891
a66a2204 892static struct validate dhst_validate = {
d1b3a4bf 893 VOmach0,
894 1,
d33e787c 895 0,
896 0,
897 0,
898 0,
899 0,
900 setup_dmac,
901 0,
902};
903
a66a2204 904static char *ghal_fields[] = {
e2b8245f 905 "alias", "canonical_hostname",
906 "alias", "canonical_hostname"
a66a2204 907};
908
a66a2204 909static struct validate ghal_validate = {
263a36d4 910 0,
911 0,
a66a2204 912 0,
913 0,
914 0,
915 0,
65adfb53 916 access_ahal,
a66a2204 917 0,
03c05291 918 0,
a66a2204 919};
920
921static struct valobj ahal_valobj[] = {
e2b8245f 922 {V_CHAR, 0, HOSTALIAS_TABLE, "name"},
e2b8245f 923 {V_ID, 1, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
a66a2204 924};
925
926static struct validate ahal_validate = {
927 ahal_valobj,
263a36d4 928 2,
e2b8245f 929 "name",
996ffd1d 930 "name = UPPER('%s')",
a66a2204 931 1,
e2b8245f 932 "mach_id",
a66a2204 933 access_ahal,
934 setup_ahal,
935 0,
936};
937
938static struct valobj dhal_valobj[] = {
e2b8245f 939 {V_ID, 1, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
a66a2204 940};
941
942static struct validate dhal_validate = {
943 dhal_valobj,
263a36d4 944 1,
e2b8245f 945 "name",
996ffd1d 946 "name = UPPER('%s') AND mach_id = %d",
a66a2204 947 2,
e2b8245f 948 "mach_id",
a66a2204 949 access_ahal,
950 0,
951 0,
952};
953
3c1d412c 954static char *gsnt_fields[] = {
e2b8245f 955 "name",
8db06f75 956 "name", "description", "address", "mask", "low", "high", "prefix",
957 "ace_type", "ace_name", "modtime", "modby", "modwith"
3c1d412c 958};
959
3c1d412c 960static struct validate gsnt_validate = {
263a36d4 961 0,
962 0,
3c1d412c 963 0,
964 0,
965 0,
966 0,
a70337e7 967 access_snt,
3c1d412c 968 0,
969 followup_gsnt,
970};
971
972static char *asnt_fields[] = {
8db06f75 973 "name", "description", "address", "mask", "low", "high", "prefix",
974 "ace_type", "ace_name",
3c1d412c 975};
976
977static struct valobj asnt_valobj[] = {
e2b8245f 978 {V_CHAR, 0, SUBNET_TABLE, "name"},
979 {V_LEN, 1, SUBNET_TABLE, "description"},
f802fd0d 980 {V_NUM, 2},
981 {V_NUM, 3},
982 {V_NUM, 4},
983 {V_NUM, 5},
03c05291 984 {V_LEN, 6, SUBNET_TABLE, "prefix"},
e2b8245f 985 {V_TYPE, 7, 0, "ace_type", 0, MR_ACE},
bd8c26ff 986 {V_TYPEDATA, 8, 0, 0, 0, MR_ACE},
3c1d412c 987};
988
5eaef520 989static struct validate asnt_validate =
3c1d412c 990{
5eaef520 991 asnt_valobj,
d1b3a4bf 992 9,
e2b8245f 993 "name",
5eaef520 994 "name = UPPER('%s')",
995 1,
e2b8245f 996 "snet_id",
5eaef520 997 0,
998 prefetch_value,
999 set_uppercase_modtime,
3c1d412c 1000};
1001
1002static char *usnt_fields[] = {
e2b8245f 1003 "name",
8db06f75 1004 "newname", "description", "address", "mask", "low", "high", "prefix",
1005 "ace_type", "ace_name",
3c1d412c 1006};
1007
1008static struct valobj usnt_valobj[] = {
e2b8245f 1009 {V_ID, 0, SUBNET_TABLE, "name", "snet_id", MR_NO_MATCH},
1010 {V_RENAME, 1, SUBNET_TABLE, "name", "snet_id", MR_NOT_UNIQUE},
1011 {V_LEN, 2, SUBNET_TABLE, "description"},
f802fd0d 1012 {V_NUM, 3},
1013 {V_NUM, 4},
1014 {V_NUM, 5},
1015 {V_NUM, 6},
03c05291 1016 {V_LEN, 7, SUBNET_TABLE, "prefix"},
e2b8245f 1017 {V_TYPE, 8, 0, "ace_type", 0, MR_ACE},
bd8c26ff 1018 {V_TYPEDATA, 9, 0, 0, 0, MR_ACE},
3c1d412c 1019};
1020
5eaef520 1021static struct validate usnt_validate =
3c1d412c 1022{
5eaef520 1023 usnt_valobj,
d1b3a4bf 1024 10,
e2b8245f 1025 "name",
5eaef520 1026 "snet_id = %d",
1027 1,
e2b8245f 1028 "snet_id",
5eaef520 1029 0,
1030 0,
1031 set_modtime_by_id,
3c1d412c 1032};
1033
1034static char *dsnt_fields[] = {
e2b8245f 1035 "name",
3c1d412c 1036};
1037
3c1d412c 1038static struct validate dsnt_validate = {
d1b3a4bf 1039 VOsnet0,
1040 1,
3c1d412c 1041 0,
1042 0,
1043 0,
1044 0,
1045 0,
1046 setup_dsnt,
1047 0,
1048};
1049
d33e787c 1050static char *gclu_fields[] = {
e2b8245f 1051 "name",
8db06f75 1052 "name", "description", "location", "modtime", "modby", "modwith",
d33e787c 1053};
1054
1055static char *aclu_fields[] = {
e2b8245f 1056 "name", "description", "location",
d33e787c 1057};
0c345c78 1058
339a00a3 1059static struct valobj aclu_valobj[] = {
e2b8245f 1060 {V_CHAR, 0, CLUSTERS_TABLE, "name"},
1061 {V_LEN, 1, CLUSTERS_TABLE, "description"},
1062 {V_LEN, 2, CLUSTERS_TABLE, "location"},
339a00a3 1063};
1064
5eaef520 1065static struct validate aclu_validate =
d33e787c 1066{
339a00a3 1067 aclu_valobj,
d1b3a4bf 1068 3,
e2b8245f 1069 "name",
03c05291 1070 "name = '%s'",
d33e787c 1071 1,
e2b8245f 1072 "clu_id",
d33e787c 1073 0,
45bf7573 1074 prefetch_value,
d33e787c 1075 set_modtime,
1076};
1077
1078static char *uclu_fields[] = {
e2b8245f 1079 "name",
1080 "newname", "description", "location",
d33e787c 1081};
1082
1083static struct valobj uclu_valobj[] = {
e2b8245f 1084 {V_ID, 0, CLUSTERS_TABLE, "name", "clu_id", MR_CLUSTER},
1085 {V_RENAME, 1, CLUSTERS_TABLE, "name", "clu_id", MR_NOT_UNIQUE},
1086 {V_LEN, 2, CLUSTERS_TABLE, "description"},
1087 {V_LEN, 3, CLUSTERS_TABLE, "location"},
d33e787c 1088};
1089
1090static struct validate uclu_validate = {
1091 uclu_valobj,
d1b3a4bf 1092 4,
d33e787c 1093 0,
1094 0,
1095 0,
e2b8245f 1096 "clu_id",
d33e787c 1097 0,
1098 0,
1099 set_modtime_by_id,
1100};
1101
1102static char *dclu_fields[] = {
e2b8245f 1103 "name",
d33e787c 1104};
1105
1106static struct validate dclu_validate = {
0c345c78 1107 VOclu0,
1108 1,
1109 0,
1110 0,
1111 0,
1112 0,
1113 0,
1114 setup_dclu,
1115 0,
d33e787c 1116};
1117
1118static char *gmcm_fields[] = {
e2b8245f 1119 "machine", "cluster",
1120 "machine", "cluster",
d33e787c 1121};
1122
1123static struct valobj amtc_valobj[] = /* ADD_MACHINE_TO_CLUSTER */
1124{ /* DELETE_MACHINE_FROM_CLUSTER */
e2b8245f 1125 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
1126 {V_ID, 1, CLUSTERS_TABLE, "name", "clu_id", MR_CLUSTER},
d33e787c 1127};
1128
1129static struct validate amtc_validate = /* for amtc and dmfc */
1130{
1131 amtc_valobj,
1132 2,
e2b8245f 1133 "mach_id",
3e8c655c 1134 "mach_id = %d and clu_id = %d",
d33e787c 1135 2,
1136 0,
1137 0,
1138 0,
1139 set_mach_modtime_by_id,
1140};
1141
1142static char *gcld_fields[] = {
e2b8245f 1143 "cluster", "serv_label",
1144 "cluster", "serv_label", "serv_cluster",
88343c5e 1145};
1146
1147static char *acld_fields[] = {
e2b8245f 1148 "cluster", "serv_label", "serv_cluster",
d33e787c 1149};
1150
1151static struct valobj acld_valobj[] =
1152{
e2b8245f 1153 {V_ID, 0, CLUSTERS_TABLE, "name", "clu_id", MR_CLUSTER},
03c05291 1154 {V_CHAR, 1, SVC_TABLE, "serv_label"},
1155 {V_CHAR, 2, SVC_TABLE, "serv_cluster"}
d33e787c 1156};
1157
5eaef520 1158static struct validate acld_validate =
1159{
d33e787c 1160 acld_valobj,
99e09b48 1161 3,
e2b8245f 1162 "clu_id",
03c05291 1163 "clu_id = %d AND serv_label = '%s' AND serv_cluster = '%s'",
99e09b48 1164 3,
1165 0,
1166 0,
1167 0,
1168 set_cluster_modtime_by_id,
1169};
1170
5eaef520 1171static struct validate dcld_validate =
1172{
d1b3a4bf 1173 VOclu0,
03c05291 1174 1,
e2b8245f 1175 "clu_id",
3e8c655c 1176 "clu_id = %d AND serv_label = '%s' AND serv_cluster = '%s'",
d33e787c 1177 3,
1178 0,
1179 0,
1180 0,
1181 set_cluster_modtime_by_id,
1182};
1183
44da57b2 1184static char *glin2_fields[] = {
e2b8245f 1185 "name",
1186 "name", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
8db06f75 1187 "ace_type", "ace_name", "description", "modtime", "modby", "modwith",
99e09b48 1188};
1189
44da57b2 1190static char *glin_fields[] = {
1191 "name",
1192 "name", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1193 "nfsgroup", "ace_type", "ace_name", "description", "modtime", "modby",
1194 "modwith",
1195};
1196
03c05291 1197static struct validate glin_validate = {
0c345c78 1198 0,
0c345c78 1199 0,
1200 0,
1201 0,
1202 0,
1203 0,
03c05291 1204 access_vis_list_by_name,
0c345c78 1205 0,
263a36d4 1206 followup_glin,
d33e787c 1207};
1208
44da57b2 1209static char *alis2_fields[] = {
e2b8245f 1210 "name", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1211 "ace_type", "ace_name", "description",
d33e787c 1212};
1213
44da57b2 1214static struct valobj alis2_valobj[] = {
e2b8245f 1215 {V_CHAR, 0, LIST_TABLE, "name"},
f802fd0d 1216 {V_NUM, 1},
1217 {V_NUM, 2},
1218 {V_NUM, 3},
1219 {V_NUM, 4},
1220 {V_NUM, 5},
1221 {V_NUM, 6},
e2b8245f 1222 {V_TYPE, 7, 0, "ace_type", 0, MR_ACE},
1223 {V_TYPEDATA, 8, 0, 0, "list_id", MR_ACE},
1224 {V_LEN, 9, LIST_TABLE, "description"},
d33e787c 1225};
1226
44da57b2 1227static struct validate alis2_validate = {
1228 alis2_valobj,
1229 10,
1230 "name",
1231 "name = '%s'",
1232 1,
1233 "list_id",
1234 0,
1235 setup_alis,
1236 set_modtime,
1237};
1238
1239static char *alis_fields[] = {
1240 "name", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1241 "nfsgroup", "ace_type", "ace_name", "description",
1242};
1243
1244static struct valobj alis_valobj[] = {
1245 {V_CHAR, 0, LIST_TABLE, "name"},
1246 {V_NUM, 1},
1247 {V_NUM, 2},
1248 {V_NUM, 3},
1249 {V_NUM, 4},
1250 {V_NUM, 5},
1251 {V_NUM, 6},
1252 {V_NUM, 7},
1253 {V_TYPE, 8, 0, "ace_type", 0, MR_ACE},
1254 {V_TYPEDATA, 9, 0, 0, "list_id", MR_ACE},
1255 {V_LEN, 10, LIST_TABLE, "description"},
1256};
1257
03c05291 1258static struct validate alis_validate = {
1259 alis_valobj,
44da57b2 1260 11,
e2b8245f 1261 "name",
03c05291 1262 "name = '%s'",
d33e787c 1263 1,
e2b8245f 1264 "list_id",
d33e787c 1265 0,
03c05291 1266 setup_alis,
1267 set_modtime,
d33e787c 1268};
1269
44da57b2 1270static char *ulis2_fields[] = {
e2b8245f 1271 "name",
03c05291 1272 "newname", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
e2b8245f 1273 "ace_type", "ace_name", "description",
d33e787c 1274};
1275
44da57b2 1276static struct valobj ulis2_valobj[] = {
e2b8245f 1277 {V_ID, 0, LIST_TABLE, "name", "list_id", MR_LIST},
1278 {V_RENAME, 1, LIST_TABLE, "name", "list_id", MR_NOT_UNIQUE},
f802fd0d 1279 {V_NUM, 2},
1280 {V_NUM, 3},
1281 {V_NUM, 4},
1282 {V_NUM, 5},
1283 {V_NUM, 6},
1284 {V_NUM, 7},
1285 {V_TYPE, 8, 0, "ace_type", 0, MR_ACE},
e2b8245f 1286 {V_TYPEDATA, 9, 0, 0, "list_id", MR_ACE},
e2b8245f 1287 {V_LEN, 10, LIST_TABLE, "description"},
d33e787c 1288};
1289
44da57b2 1290static struct validate ulis2_validate = {
1291 ulis2_valobj,
d1b3a4bf 1292 11,
e2b8245f 1293 "name",
03c05291 1294 "list_id = %d",
d33e787c 1295 1,
e2b8245f 1296 "list_id",
03c05291 1297 access_list,
1298 setup_alis,
1299 set_modtime_by_id,
d33e787c 1300};
1301
44da57b2 1302static char *ulis_fields[] = {
1303 "name",
1304 "newname", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1305 "nfsgroup", "ace_type", "ace_name", "description",
1306};
1307
1308static struct valobj ulis_valobj[] = {
1309 {V_ID, 0, LIST_TABLE, "name", "list_id", MR_LIST},
1310 {V_RENAME, 1, LIST_TABLE, "name", "list_id", MR_NOT_UNIQUE},
1311 {V_NUM, 2},
1312 {V_NUM, 3},
1313 {V_NUM, 4},
1314 {V_NUM, 5},
1315 {V_NUM, 6},
1316 {V_NUM, 7},
1317 {V_NUM, 8},
1318 {V_TYPE, 9, 0, "ace_type", 0, MR_ACE},
1319 {V_TYPEDATA, 10, 0, 0, "list_id", MR_ACE},
1320 {V_LEN, 11, LIST_TABLE, "description"},
1321};
1322
1323static struct validate ulis_validate = {
1324 ulis_valobj,
1325 12,
1326 "name",
1327 "list_id = %d",
1328 1,
1329 "list_id",
1330 access_list,
1331 setup_alis,
1332 set_modtime_by_id,
1333};
1334
03c05291 1335static char *dlis_fields[] = {
e2b8245f 1336 "name",
d33e787c 1337};
1338
03c05291 1339static struct validate dlis_validate = {
d1b3a4bf 1340 VOlist0,
1341 1,
e2b8245f 1342 "name",
03c05291 1343 "list_id = %d",
d33e787c 1344 1,
1345 0,
03c05291 1346 access_list,
1347 setup_dlis,
d33e787c 1348 0,
1349};
1350
03c05291 1351static char *amtl_fields[] = {
1352 "list_name", "member_type", "member_name",
d33e787c 1353};
1354
46b6f1f6 1355static char *atml_fields[] = {
1356 "list_name", "member_type", "member_name", "tag",
1357};
1358
03c05291 1359static struct valobj amtl_valobj[] = {
e2b8245f 1360 {V_ID, 0, LIST_TABLE, "name", "list_id", MR_LIST},
03c05291 1361 {V_TYPE, 1, 0, "member", 0, MR_TYPE},
1362 {V_TYPEDATA, 2, 0, 0, 0, MR_NO_MATCH},
46b6f1f6 1363 {V_ID, 3, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
99e09b48 1364};
1365
03c05291 1366static struct validate amtl_validate =
1367{
1368 amtl_valobj,
d1b3a4bf 1369 3,
d33e787c 1370 0,
1371 0,
1372 0,
1373 0,
03c05291 1374 access_list,
d33e787c 1375 0,
03c05291 1376 add_member_to_list,
d33e787c 1377};
1378
46b6f1f6 1379static struct validate atml_validate =
1380{
1381 amtl_valobj,
1382 4,
1383 0,
1384 0,
1385 0,
1386 0,
1387 access_list,
1388 0,
1389 add_member_to_list,
1390};
1391
1392static struct validate tmol_validate =
1393{
1394 amtl_valobj,
1395 4,
46b6f1f6 1396 0,
46b6f1f6 1397 0,
1398 0,
20541c25 1399 0,
1400 access_list,
1401 0,
1402 tag_member_of_list,
46b6f1f6 1403};
1404
03c05291 1405static struct validate dmfl_validate =
1406{
1407 amtl_valobj,
d1b3a4bf 1408 3,
0c345c78 1409 0,
1410 0,
1411 0,
1412 0,
03c05291 1413 access_list,
0c345c78 1414 0,
03c05291 1415 delete_member_from_list,
d33e787c 1416};
1417
03c05291 1418static char *gaus_fields[] = {
e2b8245f 1419 "ace_type", "ace_name",
03c05291 1420 "use_type", "use_name",
d33e787c 1421};
1422
03c05291 1423static struct valobj gaus_valobj[] = {
03c05291 1424 {V_TYPE, 0, 0, "gaus", 0, MR_TYPE},
1425 {V_TYPEDATA, 1, 0, 0, 0, MR_NO_MATCH},
d33e787c 1426};
1427
03c05291 1428static struct validate gaus_validate = {
1429 gaus_valobj,
d1b3a4bf 1430 2,
d33e787c 1431 0,
d33e787c 1432 0,
d33e787c 1433 0,
d33e787c 1434 0,
03c05291 1435 access_member,
d33e787c 1436 0,
03c05291 1437 get_ace_use,
d33e787c 1438};
1439
d3051625 1440static char *ghbo_fields[] = {
1441 "ace_type", "ace_name",
1442 "name",
1443};
1444
1445static struct valobj ghbo_valobj[] = {
1446 {V_TYPE, 0, 0, "gaus", 0, MR_TYPE},
1447 {V_TYPEDATA, 1, 0, 0, 0, MR_NO_MATCH},
1448};
1449
1450static struct validate ghbo_validate = {
1451 ghbo_valobj,
1452 2,
1453 0,
1454 0,
1455 0,
1456 0,
1457 access_member,
1458 0,
1459 get_host_by_owner,
1460};
1461
03c05291 1462static char *qgli_fields[] = {
1463 "active", "publicflg", "hidden", "maillist", "grouplist",
1464 "list",
3e8c655c 1465};
d33e787c 1466
03c05291 1467static struct valobj qgli_valobj[] = {
1468 {V_TYPE, 0, 0, "boolean", 0, MR_TYPE},
1469 {V_TYPE, 1, 0, "boolean", 0, MR_TYPE},
1470 {V_TYPE, 2, 0, "boolean", 0, MR_TYPE},
1471 {V_TYPE, 3, 0, "boolean", 0, MR_TYPE},
1472 {V_TYPE, 4, 0, "boolean", 0, MR_TYPE},
d33e787c 1473};
1474
03c05291 1475static struct validate qgli_validate = {
1476 qgli_valobj,
1477 5,
647daf33 1478 0,
d33e787c 1479 0,
1480 0,
87167924 1481 0,
03c05291 1482 access_qgli,
d33e787c 1483 0,
03c05291 1484 qualified_get_lists,
d33e787c 1485};
1486
03c05291 1487static char *gmol_fields[] = {
1488 "list_name",
1489 "member_type", "member_name",
d33e787c 1490};
1491
46b6f1f6 1492static char *gtml_fields[] = {
1493 "list_name",
1494 "member_type", "member_name", "tag",
d33e787c 1495};
1496
46b6f1f6 1497static struct validate gmol_validate = {
d1b3a4bf 1498 VOlist0,
1499 1,
d33e787c 1500 0,
1501 0,
1502 0,
1503 0,
03c05291 1504 access_visible_list,
d33e787c 1505 0,
46b6f1f6 1506 get_members_of_list,
d33e787c 1507};
1508
03c05291 1509static char *glom_fields[] = {
1510 "member_type", "member_name",
1511 "list_name", "active", "publicflg", "hidden", "maillist", "grouplist",
d33e787c 1512};
1513
03c05291 1514static struct valobj glom_valobj[] = {
5eaef520 1515 {V_TYPE, 0, 0, "rmember", 0, MR_TYPE},
1516 {V_TYPEDATA, 1, 0, 0, 0, MR_NO_MATCH},
d33e787c 1517};
1518
03c05291 1519static struct validate glom_validate = {
1520 glom_valobj,
d1b3a4bf 1521 2,
d33e787c 1522 0,
1523 0,
03c05291 1524 0,
1525 0,
1526 access_member,
1527 0,
1528 get_lists_of_member,
d33e787c 1529};
1530
03c05291 1531static char *cmol_fields[] = {
1532 "list_name",
1533 "count",
d33e787c 1534};
1535
03c05291 1536static struct validate cmol_validate = {
1537 VOlist0,
d33e787c 1538 1,
1539 0,
1540 0,
1541 0,
1542 0,
03c05291 1543 access_visible_list,
d33e787c 1544 0,
03c05291 1545 count_members_of_list,
d33e787c 1546};
1547
03c05291 1548static char *gsin_fields[] = {
e2b8245f 1549 "service",
1550 "service", "update_int", "target_file", "script", "dfgen", "dfcheck",
1551 "type", "enable", "inprogress", "harderror", "errmsg",
8db06f75 1552 "ace_type", "ace_name", "modtime", "modby", "modwith",
88343c5e 1553};
1554
5eaef520 1555static struct validate gsin_validate =
03c05291 1556{
263a36d4 1557 0,
1558 0,
99e09b48 1559 0,
1560 0,
1561 0,
1562 0,
03c05291 1563 access_service,
99e09b48 1564 0,
03c05291 1565 followup_glin,
99e09b48 1566};
1567
03c05291 1568static char *qgsv_fields[] = {
1569 "enable", "inprogress", "harderror",
1570 "service",
4ffa124a 1571};
0c345c78 1572
03c05291 1573static struct valobj qgsv_valobj[] = {
1574 {V_TYPE, 0, 0, "boolean", 0, MR_TYPE},
1575 {V_TYPE, 1, 0, "boolean", 0, MR_TYPE},
1576 {V_TYPE, 2, 0, "boolean", 0, MR_TYPE},
d33e787c 1577};
1578
03c05291 1579static struct validate qgsv_validate = {
1580 qgsv_valobj,
1581 3,
d33e787c 1582 0,
1583 0,
1584 0,
1585 0,
d33e787c 1586 0,
03c05291 1587 0,
1588 qualified_get_server,
d33e787c 1589};
1590
03c05291 1591static char *asin_fields[] = {
e2b8245f 1592 "service", "update_int", "target_file", "script", "type", "enable",
1593 "ace_type", "ace_name",
d33e787c 1594};
1595
03c05291 1596static struct valobj asin_valobj[] = {
e2b8245f 1597 {V_CHAR, 0, SERVERS_TABLE, "name"},
f802fd0d 1598 {V_NUM, 1},
03c05291 1599 {V_LEN, 2, SERVERS_TABLE, "target_file"},
1600 {V_LEN, 3, SERVERS_TABLE, "script"},
1601 {V_TYPE, 4, 0, "service", 0, MR_TYPE},
f802fd0d 1602 {V_NUM, 5},
e2b8245f 1603 {V_TYPE, 6, 0, "ace_type", 0, MR_ACE},
03c05291 1604 {V_TYPEDATA, 7, 0, 0, 0, MR_ACE},
d33e787c 1605};
1606
03c05291 1607static struct validate asin_validate = /* for asin, usin */
1608{
1609 asin_valobj,
d1b3a4bf 1610 8,
e2b8245f 1611 "name",
03c05291 1612 "name = UPPER('%s')",
d33e787c 1613 1,
d33e787c 1614 0,
03c05291 1615 0,
1616 0,
1617 set_uppercase_modtime,
d33e787c 1618};
1619
03c05291 1620static struct validate rsve_validate = {
1621 asin_valobj,
d1b3a4bf 1622 1,
e2b8245f 1623 "name",
03c05291 1624 "name = UPPER('%s')",
d33e787c 1625 1,
d33e787c 1626 0,
03c05291 1627 access_service,
1628 0,
1629 set_uppercase_modtime,
d33e787c 1630};
1631
03c05291 1632static char *ssif_fields[] = {
e2b8245f 1633 "service", "dfgen", "dfcheck", "inprogress", "harderror", "errmsg",
d33e787c 1634};
1635
03c05291 1636static struct valobj ssif_valobj[] = {
d1b3a4bf 1637 {V_NAME, 0, SERVERS_TABLE, "name", 0, MR_SERVICE},
f802fd0d 1638 {V_NUM, 1},
1639 {V_NUM, 2},
1640 {V_NUM, 3},
1641 {V_NUM, 4},
03c05291 1642 {V_LEN, 5, SERVERS_TABLE, "errmsg"},
d33e787c 1643};
1644
03c05291 1645static struct validate ssif_validate = {
1646 ssif_valobj,
d1b3a4bf 1647 6,
e2b8245f 1648 "name",
03c05291 1649 "name = UPPER('%s')",
d33e787c 1650 1,
1651 0,
1652 0,
03c05291 1653 0,
d33e787c 1654 0,
1655};
1656
03c05291 1657static char *dsin_fields[] = {
e2b8245f 1658 "service",
95127ba8 1659};
1660
03c05291 1661static struct validate dsin_validate = {
1662 asin_valobj,
d1b3a4bf 1663 1,
e2b8245f 1664 "name",
03c05291 1665 "name = UPPER('%s')",
1666 1,
0c345c78 1667 0,
1668 0,
03c05291 1669 setup_dsin,
0c345c78 1670 0,
95127ba8 1671};
1672
03c05291 1673static char *gshi_fields[] = {
e2b8245f 1674 "service", "machine",
1675 "service", "machine", "enable", "override", "success", "inprogress",
03c05291 1676 "hosterror", "hosterrormsg", "ltt", "lts", "value1", "value2",
8db06f75 1677 "value3", "modtime", "modby", "modwith",
95127ba8 1678};
1679
03c05291 1680static struct validate gshi_validate = {
263a36d4 1681 0,
1682 0,
0c345c78 1683 0,
1684 0,
1685 0,
1686 0,
03c05291 1687 access_service,
1688 0,
1689 followup_fix_modby,
95127ba8 1690};
1691
03c05291 1692static char *qgsh_fields[] = {
1693 "service", "enable", "override", "success", "inprogress", "hosterror",
e2b8245f 1694 "service", "machine",
d33e787c 1695};
1696
03c05291 1697static struct valobj qgsh_valobj[] = {
1698 {V_TYPE, 1, 0, "boolean", 0, MR_TYPE},
1699 {V_TYPE, 2, 0, "boolean", 0, MR_TYPE},
1700 {V_TYPE, 3, 0, "boolean", 0, MR_TYPE},
1701 {V_TYPE, 4, 0, "boolean", 0, MR_TYPE},
1702 {V_TYPE, 5, 0, "boolean", 0, MR_TYPE},
99e09b48 1703};
1704
03c05291 1705static struct validate qgsh_validate = {
1706 qgsh_valobj,
1707 5,
d33e787c 1708 0,
1709 0,
1710 0,
1711 0,
1712 0,
1713 0,
03c05291 1714 qualified_get_serverhost,
d33e787c 1715};
1716
03c05291 1717static char *ashi_fields[] = {
e2b8245f 1718 "service", "machine", "enable", "value1", "value2", "value3",
d33e787c 1719};
1720
03c05291 1721static struct valobj ashi_valobj[] = {
e2b8245f 1722 {V_NAME, 0, SERVERS_TABLE, "name", 0, MR_SERVICE},
e2b8245f 1723 {V_ID, 1, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
f802fd0d 1724 {V_NUM, 2},
1725 {V_NUM, 3},
1726 {V_NUM, 4},
03c05291 1727 {V_LEN, 5, SERVERHOSTS_TABLE, "value3"},
45bf7573 1728};
1729
03c05291 1730static struct validate ashi_validate = /* ashi & ushi */
1731{
1732 ashi_valobj,
d1b3a4bf 1733 6,
e2b8245f 1734 "service",
03c05291 1735 "service = UPPER('%s') AND mach_id = %d",
d33e787c 1736 2,
d33e787c 1737 0,
03c05291 1738 access_service,
d33e787c 1739 0,
03c05291 1740 set_serverhost_modtime,
99e09b48 1741};
1742
5eaef520 1743static struct validate rshe_validate =
03c05291 1744{
1745 ashi_valobj,
d1b3a4bf 1746 2,
e2b8245f 1747 "service",
03c05291 1748 "service = UPPER('%s') AND mach_id = %d",
1749 2,
1750 0,
1751 access_service,
1752 0,
1753 set_serverhost_modtime,
d33e787c 1754};
1755
5eaef520 1756static struct validate ssho_validate =
03c05291 1757{
1758 ashi_valobj,
d1b3a4bf 1759 2,
e2b8245f 1760 "service",
03c05291 1761 "service = UPPER('%s') AND mach_id = %d",
d33e787c 1762 2,
d33e787c 1763 0,
03c05291 1764 access_service,
1765 0,
1766 trigger_dcm,
d33e787c 1767};
1768
03c05291 1769static char *sshi_fields[] = {
e2b8245f 1770 "service", "machine", "override", "success", "inprogress",
03c05291 1771 "hosterror", "errmsg", "ltt", "lts",
368be132 1772};
1773
03c05291 1774static struct valobj sshi_valobj[] = {
e2b8245f 1775 {V_NAME, 0, SERVERS_TABLE, "name", 0, MR_SERVICE},
f802fd0d 1776 {V_ID, 1, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
1777 {V_NUM, 2},
1778 {V_NUM, 3},
1779 {V_NUM, 4},
1780 {V_NUM, 5},
1781 {V_LEN, 6, SERVERHOSTS_TABLE, "hosterrmsg"},
1782 {V_NUM, 7},
1783 {V_NUM, 8},
368be132 1784};
1785
5eaef520 1786static struct validate sshi_validate =
03c05291 1787{
1788 sshi_valobj,
d1b3a4bf 1789 9,
368be132 1790 0,
1791 0,
1792 0,
1793 0,
1794 0,
1795 0,
03c05291 1796 0,
368be132 1797};
1798
03c05291 1799static char *dshi_fields[] = {
e2b8245f 1800 "service", "machine",
368be132 1801};
1802
5eaef520 1803static struct validate dshi_validate =
03c05291 1804{
1805 ashi_valobj,
d1b3a4bf 1806 2,
e2b8245f 1807 "service",
03c05291 1808 "service = UPPER('%s') AND mach_id = %d",
135dcb80 1809 2,
368be132 1810 0,
03c05291 1811 access_service,
1812 setup_dshi,
368be132 1813 0,
03c05291 1814};
1815
1816static char *gslo_fields[] = {
1817 "server",
e2b8245f 1818 "server", "machine",
03c05291 1819};
1820
1821static char *gfsl_fields[] = {
e2b8245f 1822 "label",
8db06f75 1823 "label", "type", "machine", "name", "mount", "access", "comments",
1824 "owner", "owners", "create", "lockertype", "modtime", "modby", "modwith",
03c05291 1825};
1826
5a8887d8 1827static struct validate gfsl_validate = {
1828 0,
1829 0,
1830 0,
1831 0,
1832 0,
1833 0,
1834 access_filesys,
1835 0,
1836 followup_fix_modby,
1837};
1838
03c05291 1839static char *gfsm_fields[] = {
e2b8245f 1840 "machine",
8db06f75 1841 "label", "type", "machine", "name", "mount", "access", "comments",
1842 "owner", "owners", "create", "lockertype", "modtime", "modby", "modwith",
03c05291 1843};
1844
03c05291 1845static struct validate gfsm_validate = {
d1b3a4bf 1846 VOmach0,
1847 1,
368be132 1848 0,
1849 0,
368be132 1850 0,
03c05291 1851 0,
1852 0,
1853 0,
1854 followup_fix_modby,
368be132 1855};
1856
03c05291 1857static char *gfsn_fields[] = {
cc1bca5c 1858 "machine", "partition",
8db06f75 1859 "label", "type", "machine", "name", "mount", "access", "comments",
1860 "owner", "owners", "create", "lockertype", "modtime", "modby", "modwith",
368be132 1861};
1862
03c05291 1863static struct validate gfsn_validate = {
263a36d4 1864 VOmach0,
1865 1,
368be132 1866 0,
1867 0,
368be132 1868 0,
1869 0,
368be132 1870 0,
1871 0,
03c05291 1872 followup_fix_modby,
368be132 1873};
1874
03c05291 1875static char *gfsp_fields[] = {
1876 "path",
8db06f75 1877 "label", "type", "machine", "name", "mount", "access", "comments",
1878 "owner", "owners", "create", "lockertype", "modtime", "modby", "modwith",
d33e787c 1879};
1880
03c05291 1881static char *gfsg_fields[] = {
e2b8245f 1882 "list",
8db06f75 1883 "label", "type", "machine", "name", "mount", "access", "comments",
1884 "owner", "owners", "create", "lockertype", "modtime", "modby", "modwith",
03c05291 1885};
1886
03c05291 1887static struct validate gfsg_validate = {
d1b3a4bf 1888 VOlist0,
1889 1,
d33e787c 1890 0,
1891 0,
1892 0,
1893 0,
03c05291 1894 access_list,
d33e787c 1895 0,
03c05291 1896 followup_fix_modby,
d33e787c 1897};
1898
03c05291 1899static char *afil_fields[] = {
8db06f75 1900 "label", "type", "machine", "name", "mount", "access", "comments",
1901 "owner", "owners", "create", "lockertype",
d33e787c 1902};
1903
03c05291 1904static struct valobj afil_valobj[] = {
e2b8245f 1905 {V_CHAR, 0, FILESYS_TABLE, "label"},
03c05291 1906 {V_TYPE, 1, 0, "filesys", 0, MR_FSTYPE},
e2b8245f 1907 {V_ID, 2, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
1908 {V_CHAR, 3, FILESYS_TABLE, "name"},
03c05291 1909 {V_LEN, 4, FILESYS_TABLE, "mount"},
f802fd0d 1910 {V_LEN, 5, FILESYS_TABLE, "rwaccess"},
e2b8245f 1911 {V_LEN, 6, FILESYS_TABLE, "comments"},
1912 {V_ID, 7, USERS_TABLE, "login", "users_id", MR_USER},
1913 {V_ID, 8, LIST_TABLE, "name", "list_id", MR_LIST},
f802fd0d 1914 {V_NUM, 9},
03c05291 1915 {V_TYPE, 10, 0, "lockertype", 0, MR_TYPE},
99e09b48 1916};
1917
03c05291 1918static struct validate afil_validate = {
1919 afil_valobj,
d1b3a4bf 1920 11,
e2b8245f 1921 "label",
03c05291 1922 "label = '%s'",
1923 1,
e2b8245f 1924 "filsys_id",
03c05291 1925 0,
1926 setup_afil,
1927 set_filesys_modtime,
1928};
99e09b48 1929
03c05291 1930static char *ufil_fields[] = {
8db06f75 1931 "label", "newlabel", "type", "machine", "name", "mount", "access",
1932 "comments", "owner", "owners", "create", "lockertype",
d33e787c 1933};
1934
03c05291 1935static struct valobj ufil_valobj[] = {
e2b8245f 1936 {V_ID, 0, FILESYS_TABLE, "label", "filsys_id", MR_FILESYS},
1937 {V_RENAME, 1, FILESYS_TABLE, "label", "filsys_id", MR_NOT_UNIQUE},
03c05291 1938 {V_TYPE, 2, 0, "filesys", 0, MR_FSTYPE},
e2b8245f 1939 {V_ID, 3, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
1940 {V_CHAR, 4, FILESYS_TABLE, "name"},
03c05291 1941 {V_LEN, 5, FILESYS_TABLE, "mount"},
f802fd0d 1942 {V_LEN, 6, FILESYS_TABLE, "rwaccess"},
e2b8245f 1943 {V_LEN, 7, FILESYS_TABLE, "comments"},
1944 {V_ID, 8, USERS_TABLE, "login", "users_id", MR_USER},
1945 {V_ID, 9, LIST_TABLE, "name", "list_id", MR_LIST},
f802fd0d 1946 {V_NUM, 10},
03c05291 1947 {V_TYPE, 11, 0, "lockertype", 0, MR_TYPE},
d33e787c 1948};
1949
03c05291 1950static struct validate ufil_validate = {
1951 ufil_valobj,
d1b3a4bf 1952 12,
e2b8245f 1953 "label",
03c05291 1954 "filsys_id = %d",
1955 1,
e2b8245f 1956 "filsys_id",
d33e787c 1957 0,
03c05291 1958 setup_ufil,
1959 set_filesys_modtime,
d33e787c 1960};
1961
03c05291 1962static char *dfil_fields[] = {
e2b8245f 1963 "label",
03c05291 1964};
1965
03c05291 1966static struct validate dfil_validate = {
d1b3a4bf 1967 VOfilesys0,
1968 1,
03c05291 1969 "label",
1970 "filsys_id = %d",
1971 1,
d33e787c 1972 0,
1973 0,
03c05291 1974 setup_dfil,
1975 0,
d33e787c 1976};
1977
03c05291 1978static char *gfgm_fields[] = {
e2b8245f 1979 "fsgroup", "filesys", "sortkey"
5eaef520 1980};
03c05291 1981
03c05291 1982static struct validate gfgm_validate = {
d1b3a4bf 1983 VOfilesys0,
29028043 1984 1,
d33e787c 1985 0,
1986 0,
1987 0,
1988 0,
1989 0,
1990 0,
d33e787c 1991 0,
d33e787c 1992};
1993
03c05291 1994static struct valobj aftg_valobj[] = {
e2b8245f 1995 {V_ID, 0, FILESYS_TABLE, "label", "filsys_id", MR_FILESYS},
1996 {V_ID, 1, FILESYS_TABLE, "label", "filsys_id", MR_FILESYS},
d33e787c 1997};
1998
03c05291 1999static struct validate aftg_validate = {
2000 aftg_valobj,
d1b3a4bf 2001 2,
03c05291 2002 "group_id",
2003 "group_id = %d and filsys_id = %d",
2004 2,
2005 0,
2006 0,
2007 0,
d33e787c 2008 0,
d33e787c 2009};
2010
03c05291 2011static char *ganf_fields[] = {
8db06f75 2012 "machine", "dir", "device", "status", "allocated", "size",
2013 "modtime", "modby", "modwith",
d33e787c 2014};
2015
03c05291 2016static char *gnfp_fields[] = {
e2b8245f 2017 "machine", "dir",
8db06f75 2018 "machine", "dir", "device", "status", "allocated", "size",
2019 "modtime", "modby", "modwith",
d33e787c 2020};
2021
03c05291 2022static struct validate gnfp_validate = {
263a36d4 2023 VOmach0,
2024 1,
03c05291 2025 0,
2026 0,
2027 0,
2028 0,
2029 0,
2030 0,
2031 followup_fix_modby,
d33e787c 2032};
2033
03c05291 2034static struct valobj anfp_valobj[] = {
e2b8245f 2035 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
03c05291 2036 {V_CHAR, 1, NFSPHYS_TABLE, "dir"},
2037 {V_LEN, 2, NFSPHYS_TABLE, "device"},
f802fd0d 2038 {V_NUM, 3},
2039 {V_NUM, 4},
2040 {V_NUM, 5},
03c05291 2041};
2042
2043static struct validate anfp_validate = {
2044 anfp_valobj,
d1b3a4bf 2045 6,
e2b8245f 2046 "dir",
03c05291 2047 "mach_id = %d and dir = '%s'",
2048 2,
2049 "nfsphys_id",
d33e787c 2050 0,
03c05291 2051 prefetch_value,
2052 set_nfsphys_modtime,
2053};
2054
2055static struct validate unfp_validate = {
2056 anfp_valobj,
d1b3a4bf 2057 6,
e2b8245f 2058 "dir",
03c05291 2059 "mach_id = %d and dir = '%s'",
2060 2,
2061 "nfsphys_id",
d33e787c 2062 0,
03c05291 2063 0,
2064 set_nfsphys_modtime,
d33e787c 2065};
2066
03c05291 2067static char *ajnf_fields[] = {
e2b8245f 2068 "machine", "dir", "adjustment",
d33e787c 2069};
2070
f802fd0d 2071static struct valobj ajnf_valobj[] = {
f802fd0d 2072 {V_ID, 0, MACHINE_TABLE, NAME, "mach_id", MR_MACHINE},
2073 {V_CHAR, 1, NFSPHYS_TABLE, "dir"},
2074 {V_NUM, 2},
2075};
2076
2077static struct validate ajnf_validate = {
2078 ajnf_valobj,
d1b3a4bf 2079 3,
f802fd0d 2080 "dir",
2081 "mach_id = %d and dir = '%s'",
2082 2,
2083 "nfsphys_id",
2084 0,
2085 0,
2086 set_nfsphys_modtime,
2087};
2088
03c05291 2089static char *dnfp_fields[] = {
e2b8245f 2090 "machine", "dir",
d33e787c 2091};
2092
03c05291 2093static struct validate dnfp_validate = {
d1b3a4bf 2094 anfp_valobj,
2095 2,
e2b8245f 2096 "dir",
03c05291 2097 "mach_id = %d and dir = '%s'",
2098 2,
2099 "nfsphys_id",
66f4a35b 2100 0,
03c05291 2101 setup_dnfp,
2102 set_nfsphys_modtime,
2103};
2104
2105static char *gqot_fields[] = {
e2b8245f 2106 "filesys", "type", "name",
8db06f75 2107 "filesys", "type", "name", "quota", "dir", "machine",
2108 "modtime", "modby", "modwith",
66f4a35b 2109};
2110
03c05291 2111static struct valobj gqot_valobj[] = {
e2b8245f 2112 {V_TYPE, 1, 0, "quota_type", 0, MR_TYPE},
03c05291 2113 {V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
03c05291 2114};
2115
2116static struct validate gqot_validate = {
2117 gqot_valobj,
263a36d4 2118 2,
66f4a35b 2119 0,
2120 0,
2121 0,
d33e787c 2122 0,
d33e787c 2123 0,
03c05291 2124 0,
2125 followup_gqot,
d33e787c 2126};
2127
03c05291 2128static char *gqbf_fields[] = {
e2b8245f 2129 "filesys",
8db06f75 2130 "filesys", "type", "name", "quota", "dir", "machine",
2131 "modtime", "modby", "modwith",
d33e787c 2132};
2133
03c05291 2134static struct validate gqbf_validate = {
263a36d4 2135 0,
2136 0,
0c345c78 2137 0,
2138 0,
2139 0,
2140 0,
03c05291 2141 access_filesys,
0c345c78 2142 0,
03c05291 2143 followup_gqot,
d33e787c 2144};
2145
03c05291 2146static char *aqot_fields[] = {
e2b8245f 2147 "filesys", "type", "name", "quota",
d33e787c 2148};
2149
03c05291 2150static struct valobj aqot_valobj[] = {
e2b8245f 2151 {V_ID, 0, FILESYS_TABLE, "label", "filsys_id", MR_FILESYS},
2152 {V_TYPE, 1, 0, "quota_type", 0, MR_TYPE},
03c05291 2153 {V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
f802fd0d 2154 {V_NUM, 3},
d33e787c 2155};
2156
03c05291 2157static struct validate aqot_validate = {
2158 aqot_valobj,
d1b3a4bf 2159 4,
e2b8245f 2160 "filsys_id",
03c05291 2161 "filsys_id = %d and type = '%s' and entity_id = %d",
2162 3,
0c345c78 2163 0,
2164 0,
03c05291 2165 prefetch_filesys,
2166 followup_aqot,
2167};
2168
2169static struct validate uqot_validate = {
2170 aqot_valobj,
d1b3a4bf 2171 4,
e2b8245f 2172 "filsys_id",
03c05291 2173 "filsys_id = %d AND type = '%s' AND entity_id = %d",
2174 3,
2175 0,
0c345c78 2176 0,
03c05291 2177 setup_dqot,
2178 followup_aqot,
2179};
2180
2181static struct validate dqot_validate = {
2182 aqot_valobj,
d1b3a4bf 2183 3,
e2b8245f 2184 "filsys_id",
03c05291 2185 "filsys_id = %d AND type = '%s' AND entity_id = %d",
2186 3,
0c345c78 2187 0,
0c345c78 2188 0,
03c05291 2189 setup_dqot,
2190 followup_dqot,
d33e787c 2191};
2192
03c05291 2193static char *gnfq_fields[] = {
e2b8245f 2194 "filesys", "login",
8db06f75 2195 "filesys", "login", "quota", "dir", "machine",
2196 "modtime", "modby", "modwith",
d33e787c 2197};
2198
03c05291 2199static struct validate gnfq_validate = {
263a36d4 2200 0,
2201 0,
d33e787c 2202 0,
2203 0,
2204 0,
2205 0,
03c05291 2206 access_filesys,
d33e787c 2207 0,
03c05291 2208 followup_gqot,
d33e787c 2209};
2210
03c05291 2211static char *gnqp_fields[] = {
e2b8245f 2212 "machine", "dir",
8db06f75 2213 "filesys", "login", "quota", "dir", "machine",
2214 "modtime", "modby", "modwith",
4ffa124a 2215};
0c345c78 2216
03c05291 2217static char *anfq_fields[] = {
e2b8245f 2218 "filesys", "login", "quota",
d33e787c 2219};
2220
f802fd0d 2221static struct valobj anfq_valobj[] = {
f802fd0d 2222 {V_ID, 0, FILESYS_TABLE, "label", "filsys_id", MR_FILESYS},
2223 {V_ID, 1, USERS_TABLE, "login", "users_id", MR_USER},
2224 {V_NUM, 2},
2225};
2226
03c05291 2227static struct validate anfq_validate = {
f802fd0d 2228 anfq_valobj,
d1b3a4bf 2229 3,
e2b8245f 2230 "filsys_id",
03c05291 2231 "filsys_id = %d AND type = 'USER' AND entity_id = %d",
2232 2,
2233 0, /* object ? */
d33e787c 2234 0,
03c05291 2235 prefetch_filesys,
2236 followup_aqot,
d33e787c 2237};
2238
03c05291 2239static struct validate unfq_validate = {
f802fd0d 2240 anfq_valobj,
d1b3a4bf 2241 3,
e2b8245f 2242 "filsys_id",
03c05291 2243 "filsys_id = %d AND type = 'USER' AND entity_id = %d",
2244 2,
d33e787c 2245 0,
2246 0,
03c05291 2247 setup_dqot,
2248 followup_aqot,
2249};
2250
2251static struct validate dnfq_validate = {
f802fd0d 2252 anfq_valobj,
d1b3a4bf 2253 3,
e2b8245f 2254 "filsys_id",
03c05291 2255 "filsys_id = %d AND entity_id = %d",
2256 2,
d33e787c 2257 0,
d33e787c 2258 0,
03c05291 2259 setup_dqot,
2260 followup_dqot,
d33e787c 2261};
2262
d33e787c 2263static char *gzcl_fields[] = {
e2b8245f 2264 "class",
2265 "class", "xmt_type", "xmt_name", "sub_type", "sub_name",
8db06f75 2266 "iws_type", "iws_name", "iui_type", "iui_name",
2267 "modtime", "modby", "modwith",
d33e787c 2268};
2269
2270static struct validate gzcl_validate = {
263a36d4 2271 0,
2272 0,
d33e787c 2273 0,
2274 0,
2275 0,
2276 0,
2277 0,
2278 0,
2279 followup_gzcl,
2280};
2281
2282static char *azcl_fields[] = {
e2b8245f 2283 "class", "xmt_type", "xmt_name", "sub_type", "sub_name",
0c345c78 2284 "iws_type", "iws_name", "iui_type", "iui_name",
d33e787c 2285};
2286
2287static struct valobj azcl_valobj[] = {
e2b8245f 2288 {V_CHAR, 0, ZEPHYR_TABLE, "class"},
46b6f1f6 2289 {V_TYPE, 1, 0, "zace_type", 0, MR_ACE},
e2b8245f 2290 {V_TYPEDATA, 2, 0, 0, "list_id", MR_ACE},
46b6f1f6 2291 {V_TYPE, 3, 0, "zace_type", 0, MR_ACE},
e2b8245f 2292 {V_TYPEDATA, 4, 0, 0, "list_id", MR_ACE},
46b6f1f6 2293 {V_TYPE, 5, 0, "zace_type", 0, MR_ACE},
e2b8245f 2294 {V_TYPEDATA, 6, 0, 0, "list_id", MR_ACE},
46b6f1f6 2295 {V_TYPE, 7, 0, "zace_type", 0, MR_ACE},
e2b8245f 2296 {V_TYPEDATA, 8, 0, 0, "list_id", MR_ACE},
d33e787c 2297};
2298
2299static struct validate azcl_validate = {
2300 azcl_valobj,
d1b3a4bf 2301 9,
e2b8245f 2302 "class",
03c05291 2303 "class = '%s'",
d33e787c 2304 1,
2305 0,
2306 0,
2307 0,
2308 set_zephyr_modtime,
2309};
2310
2311static char *uzcl_fields[] = {
e2b8245f 2312 "class", "newclass", "xmt_type", "xmt_name", "sub_type", "sub_name",
0c345c78 2313 "iws_type", "iws_name", "iui_type", "iui_name",
d33e787c 2314};
2315
2316static struct valobj uzcl_valobj[] = {
d1b3a4bf 2317 {V_NAME, 0, ZEPHYR_TABLE, "class", 0, MR_BAD_CLASS},
e2b8245f 2318 {V_RENAME, 1, ZEPHYR_TABLE, "class", 0, MR_NOT_UNIQUE},
46b6f1f6 2319 {V_TYPE, 2, 0, "zace_type", 0, MR_ACE},
e2b8245f 2320 {V_TYPEDATA, 3, 0, 0, "list_id", MR_ACE},
46b6f1f6 2321 {V_TYPE, 4, 0, "zace_type", 0, MR_ACE},
e2b8245f 2322 {V_TYPEDATA, 5, 0, 0, "list_id", MR_ACE},
46b6f1f6 2323 {V_TYPE, 6, 0, "zace_type", 0, MR_ACE},
e2b8245f 2324 {V_TYPEDATA, 7, 0, 0, "list_id", MR_ACE},
46b6f1f6 2325 {V_TYPE, 8, 0, "zace_type", 0, MR_ACE},
e2b8245f 2326 {V_TYPEDATA, 9, 0, 0, "list_id", MR_ACE},
d33e787c 2327};
2328
2329static struct validate uzcl_validate = {
2330 uzcl_valobj,
d1b3a4bf 2331 10,
e2b8245f 2332 "class",
3e8c655c 2333 "class = '%s'",
d33e787c 2334 1,
2335 0,
2336 0,
2337 0,
2338 set_zephyr_modtime,
2339};
2340
2341static struct validate dzcl_validate = {
2342 0,
2343 0,
e2b8245f 2344 "class",
73043086 2345 "class = '%s'",
d33e787c 2346 1,
2347 0,
2348 0,
2349 0,
2350 0,
2351};
2352
03c05291 2353static char *gsha_fields[] = {
e2b8245f 2354 "machine",
8db06f75 2355 "machine", "ace_type", "ace_name", "modtime", "modby", "modwith",
03c05291 2356};
2357
5eaef520 2358static struct validate gsha_validate =
03c05291 2359{
263a36d4 2360 0,
2361 0,
03c05291 2362 0,
2363 0,
2364 0,
2365 0,
2366 0,
2367 0,
2368 followup_gsha,
2369};
2370
2371static char *asha_fields[] = {
e2b8245f 2372 "machine", "ace_type", "ace_name",
03c05291 2373};
2374
2375static struct valobj asha_valobj[] = {
e2b8245f 2376 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
e2b8245f 2377 {V_TYPE, 1, 0, "ace_type", 0, MR_ACE},
03c05291 2378 {V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
2379};
2380
5eaef520 2381static struct validate asha_validate =
03c05291 2382{
2383 asha_valobj,
d1b3a4bf 2384 3,
e2b8245f 2385 "mach_id",
03c05291 2386 "mach_id = %d",
2387 1,
e2b8245f 2388 "mach_id",
03c05291 2389 0,
2390 0,
2391 set_modtime_by_id,
2392};
2393
46b6f1f6 2394static char *gacl_fields[] = {
2395 "machine", "target",
2396 "machine", "target", "kind", "list",
2397};
2398
2399static char *aacl_fields[] = {
2400 "machine", "target", "kind", "list",
2401};
2402
2403static char *dacl_fields[] = {
2404 "machine", "target",
2405};
2406
2407static struct valobj aacl_valobj[] = {
2408 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2409 {V_CHAR, 1, ACL_TABLE, "target"},
2410 {V_TYPE, 2, 0, "acl_kind", 0, MR_TYPE},
2411 {V_ID, 3, LIST_TABLE, "name", "list_id", MR_LIST},
2412};
2413
2414static struct validate gacl_validate =
2415{
2416 aacl_valobj,
2417 1,
2418 NULL,
2419 NULL,
2420 0,
2421 "mach_id",
2422 /* access_acl */ 0,
2423 0,
2424 0,
2425};
2426
2427static struct validate aacl_validate =
2428{
2429 aacl_valobj,
2430 4,
2431 "mach_id",
2432 "mach_id = %d AND target = '%s'",
2433 2,
2434 "mach_id",
2435 /* access_acl */ 0,
2436 0,
2437 0,
2438};
2439
fd5b2340 2440static char *gsvc_fields[] = {
e2b8245f 2441 "service",
8db06f75 2442 "service", "protocol", "port", "description", "modtime", "modby", "modwith",
d33e787c 2443};
2444
fd5b2340 2445static char *asvc_fields[] = {
e2b8245f 2446 "service", "protocol", "port", "description",
fd5b2340 2447};
2448
03c05291 2449static struct valobj asvc_valobj[] = {
e2b8245f 2450 {V_CHAR, 0, SERVICES_TABLE, "name"},
03c05291 2451 {V_CHAR, 1, SERVICES_TABLE, "protocol"},
f802fd0d 2452 {V_NUM, 2},
e2b8245f 2453 {V_CHAR, 3, SERVICES_TABLE, "description"},
03c05291 2454};
2455
fd5b2340 2456static struct validate asvc_validate = {
03c05291 2457 asvc_valobj,
f802fd0d 2458 4,
e2b8245f 2459 "name",
03c05291 2460 "name = '%s'",
fd5b2340 2461 1,
2462 0,
2463 0,
2464 0,
2465 set_modtime,
2466};
2467
2884200f 2468static char *gprn_fields[] = {
2469 "name",
2470 "name", "type", "hwtype", "duplexname", "hostname",
2471 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2472 "banner", "location", "contact", "modtime", "modby", "modwith"
d33e787c 2473};
2474
2884200f 2475static char *gpbd_fields[] = {
2476 "duplexname",
2477 "name", "type", "hwtype", "duplexname", "hostname",
2478 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2479 "banner", "location", "contact", "modtime", "modby", "modwith"
d4462d4f 2480};
2481
2884200f 2482static char *gpbe_fields[] = {
2483 "hwaddr",
2484 "name", "type", "hwtype", "duplexname", "hostname",
2485 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2486 "banner", "location", "contact", "modtime", "modby", "modwith"
fad88070 2487};
2488
2884200f 2489static char *gpbh_fields[] = {
2490 "hostname",
2491 "name", "type", "hwtype", "duplexname", "hostname",
2492 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2493 "banner", "location", "contact", "modtime", "modby", "modwith"
d33e787c 2494};
2495
2884200f 2496static char *gpbr_fields[] = {
2497 "rm",
2498 "name", "type", "hwtype", "duplexname", "hostname",
2499 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2500 "banner", "location", "contact", "modtime", "modby", "modwith"
d33e787c 2501};
2502
2884200f 2503static char *gpbl_fields[] = {
2504 "location",
2505 "name", "type", "hwtype", "duplexname", "hostname",
2506 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2507 "banner", "location", "contact", "modtime", "modby", "modwith"
fd5b2340 2508};
2509
2884200f 2510static char *gpbc_fields[] = {
2511 "contact",
2512 "name", "type", "hwtype", "duplexname", "hostname",
2513 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2514 "banner", "location", "contact", "modtime", "modby", "modwith"
012fc215 2515};
2516
2884200f 2517static char *aprn_fields[] = {
2518 "printer", "type", "hwtype", "duplexname", "hostname",
2519 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2520 "banner", "location", "contact",
03c05291 2521};
012fc215 2522
2884200f 2523static struct valobj aprn_valobj[] = {
2524 {V_CHAR, 0, PRINTERS_TABLE, "name"},
2525 {V_TYPE, 1, 0, "printertype", 0, MR_TYPE},
2526 {V_TYPE, 2, 0, "printerhwtype", 0, MR_TYPE},
2527 {V_CHAR, 3, PRINTERS_TABLE, "duplexname"},
2528 {V_ID, 4, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2529 {V_ID, 5, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2530 {V_ID, 6, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2531 {V_CHAR, 7, PRINTERS_TABLE, "rp"},
2532 {V_ID, 8, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2533 {V_NUM, 9},
2534 {V_NUM, 10},
2535 {V_ID, 11, LIST_TABLE, "name", "list_id", MR_LIST},
2536 {V_ID, 12, LIST_TABLE, "name", "list_id", MR_LIST},
e5a63571 2537 {V_NUM, 13},
2538 {V_CHAR, 14, PRINTERS_TABLE, "location"},
2539 {V_CHAR, 15, PRINTERS_TABLE, "contact"},
012fc215 2540};
2541
2884200f 2542static struct validate aprn_validate = {
2543 aprn_valobj,
e5a63571 2544 16,
e2b8245f 2545 "name",
03c05291 2546 "name = '%s'",
012fc215 2547 1,
2548 0,
1a9a0a59 2549 access_printer,
2550 setup_aprn,
2551 set_modtime,
2552};
2553
2554static char *uprn_fields[] = {
2555 "printer",
2556 "printer", "type", "hwtype", "duplexname", "hostname",
2557 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
2558 "banner", "location", "contact",
2559};
2560
2561static struct valobj uprn_valobj[] = {
2562 {V_CHAR, 0, PRINTERS_TABLE, "name"},
2563 {V_CHAR, 1, PRINTERS_TABLE, "name"},
2564 {V_TYPE, 2, 0, "printertype", 0, MR_TYPE},
2565 {V_TYPE, 3, 0, "printerhwtype", 0, MR_TYPE},
2566 {V_CHAR, 4, PRINTERS_TABLE, "duplexname"},
2567 {V_ID, 5, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2568 {V_ID, 6, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2569 {V_ID, 7, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2570 {V_CHAR, 8, PRINTERS_TABLE, "rp"},
2571 {V_ID, 9, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2572 {V_NUM, 10},
2573 {V_NUM, 11},
2574 {V_ID, 12, LIST_TABLE, "name", "list_id", MR_LIST},
2575 {V_ID, 13, LIST_TABLE, "name", "list_id", MR_LIST},
2576 {V_NUM, 14},
2577 {V_CHAR, 15, PRINTERS_TABLE, "location"},
2578 {V_CHAR, 16, PRINTERS_TABLE, "contact"},
2579};
2580
2581static struct validate uprn_validate = {
2582 uprn_valobj,
2583 16,
2584 "name",
2585 "name = '%s'",
2586 1,
012fc215 2587 0,
1a9a0a59 2588 access_printer,
2884200f 2589 setup_aprn,
1a9a0a59 2590 set_modtime,
012fc215 2591};
2592
2884200f 2593static struct validate dprn_validate = {
012fc215 2594 0,
2595 0,
e2b8245f 2596 "name",
3e8c655c 2597 "name = '%s'",
012fc215 2598 1,
2599 0,
1a9a0a59 2600 access_printer,
2601 0,
2602 0,
2603};
2604
2605static char *gpsv_fields[] = {
2606 "host",
2607 "host", "kind", "printer_types", "owner_type", "owner_name",
2608 "lpc_acl", "modtime", "modby", "modwith"
2609};
2610
2611static struct valobj gpsv_valobj[] = {
2612 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2613};
2614
2615static struct validate gpsv_validate = {
2616 gpsv_valobj,
2617 1,
2618 0,
2619 0,
2620 0,
2621 0,
2622 0,
2623 0,
2624 followup_gpsv,
2625};
2626
2627static char *apsv_fields[] = {
2628 "host", "kind", "printer_types", "owner_type", "owner_name", "lpc_acl"
2629};
2630
2631static struct valobj apsv_valobj[] = {
2632 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2633 {V_TYPE, 1, 0, "lpd_kind", 0, MR_TYPE},
2634 {V_ID, 2, STRINGS_TABLE, "string", "string_id", MR_STRING},
2635 {V_TYPE, 3, 0, "ace_type", 0, MR_ACE},
2636 {V_TYPEDATA, 4, 0, 0, 0, MR_ACE},
2637 {V_ID, 5, LIST_TABLE, "name", "list_id", MR_LIST},
2638};
2639
2640static struct validate apsv_validate = {
2641 apsv_valobj,
2642 6,
2643 "mach_id",
2644 "mach_id = %d",
2645 1,
2646 "mach_id",
012fc215 2647 0,
2648 0,
1a9a0a59 2649 set_modtime_by_id,
012fc215 2650};
2651
1a9a0a59 2652static char *dpsv_fields[] = {
2653 "host",
2654};
2655
2656static struct validate dpsv_validate = {
2657 gpsv_valobj,
2658 1,
2659 "mach_id",
2660 "mach_id = %d",
2661 1,
2662 0,
2663 0,
2664 setup_dpsv,
2665 0,
2666};
2667
d33e787c 2668static char *gali_fields[] = {
e2b8245f 2669 "name", "type", "trans",
2670 "name", "type", "trans",
d33e787c 2671};
2672
2673static char *aali_fields[] = {
e2b8245f 2674 "name", "type", "trans",
d33e787c 2675};
2676
2677static struct valobj aali_valobj[] = {
e2b8245f 2678 {V_CHAR, 0, ALIAS_TABLE, "name"},
2679 {V_TYPE, 1, 0, "alias", 0, MR_TYPE},
03c05291 2680 {V_CHAR, 2, ALIAS_TABLE, "trans"},
d33e787c 2681};
2682
2683static struct validate aali_validate = {
2684 aali_valobj,
2685 3,
2686 "trans",
03c05291 2687 "name = '%s' and type = '%s' and trans = '%s'",
d33e787c 2688 3,
2689 0,
2690 0,
2691 0,
2692 0,
2693};
2694
2695static struct validate dali_validate = /* DELETE_ALIAS */
2696{
2697 0,
2698 0,
2699 "trans",
73043086 2700 "name = '%s' and type = '%s' and trans = '%s'",
d33e787c 2701 3,
2702 0,
2703 0,
2704 0,
2705 0,
2706};
2707
2708static char *gval_fields[] = {
e2b8245f 2709 "name", "value",
d33e787c 2710};
2711
2712static struct valobj gval_valobj[] = {
e2b8245f 2713 {V_NAME, 0, NUMVALUES_TABLE, "name", 0, MR_NO_MATCH},
d33e787c 2714};
2715
2716static struct validate gval_validate = {
2717 gval_valobj,
2718 1,
2719 0,
2720 0,
2721 0,
2722 0,
2723 0,
2724 0,
2725 0,
2726};
2727
2728static char *aval_fields[] = {
e2b8245f 2729 "name", "value",
d33e787c 2730};
2731
03c05291 2732static struct valobj aval_valobj[] = {
e2b8245f 2733 {V_CHAR, 0, NUMVALUES_TABLE, "name"},
f802fd0d 2734 {V_NUM, 1},
03c05291 2735};
2736
d33e787c 2737static struct validate aval_validate = /* for aval, uval, and dval */
2738{
03c05291 2739 aval_valobj,
f802fd0d 2740 2,
e2b8245f 2741 "name",
03c05291 2742 "name = '%s'",
d33e787c 2743 1,
2744 0,
2745 0,
2746 0,
2747 0,
2748};
2749
2750static char *dval_fields[] = {
e2b8245f 2751 "name",
d33e787c 2752};
2753
2754static char *gats_fields[] = {
8db06f75 2755 "table_name", "appends", "updates", "deletes",
2756 "modtime", "modby", "modwith",
d33e787c 2757};
2758
2962e9ec 2759static char *_sdl_fields[] = {
5eaef520 2760 "level",
2962e9ec 2761};
2762
5eaef520 2763static struct validate _sdl_validate =
2962e9ec 2764{
f802fd0d 2765 VOnum0,
2766 1,
7ac48069 2767 NULL,
2768 NULL,
5eaef520 2769 0,
2770 0,
2771 0,
2772 0,
2773 _sdl_followup,
2962e9ec 2774};
2775
d33e787c 2776
2777\f
2778/* Generalized Query Definitions */
2779
c44ddfa7 2780/* Multiple versions of the same query MUST be listed in ascending
2781 * order.
2782 */
2783
e41960ac 2784/* Note: For any query which uses prefetch_value, the vcnt should be
2785 * one less than the number of %-format specifiers in the tlist.
2786 */
2787
c44ddfa7 2788struct query Queries[] = {
d33e787c 2789 {
186dd63b 2790 /* Q_GALO - GET_ALL_LOGINS, v2 */
d33e787c 2791 "get_all_logins",
2792 "galo",
c44ddfa7 2793 2,
d33e787c 2794 RETRIEVE,
2795 "u",
03c05291 2796 USERS_TABLE,
2797 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle FROM users u",
186dd63b 2798 galo2_fields,
d33e787c 2799 6,
0c345c78 2800 "u.users_id != 0",
d33e787c 2801 0,
29028043 2802 "u.login",
2803 0,
d33e787c 2804 },
5eaef520 2805
d33e787c 2806 {
186dd63b 2807 /* Q_GALO - GET_ALL_LOGINS, v3 */
2808 "get_all_logins",
2809 "galo",
2810 3,
2811 RETRIEVE,
2812 "u",
2813 USERS_TABLE,
2814 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle FROM users u",
2815 galo_fields,
2816 7,
2817 "u.users_id != 0",
2818 0,
2819 "u.login",
2820 0,
2821 },
2822
2823 {
2824 /* Q_GAAL - GET_ALL_ACTIVE_LOGINS, v2 */
d33e787c 2825 "get_all_active_logins",
2826 "gaal",
c44ddfa7 2827 2,
d33e787c 2828 RETRIEVE,
2829 "u",
03c05291 2830 USERS_TABLE,
2831 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle FROM users u",
186dd63b 2832 galo2_fields,
d33e787c 2833 6,
0c345c78 2834 "u.status = 1",
d33e787c 2835 0,
29028043 2836 "u.login",
2837 0,
d33e787c 2838 },
5eaef520 2839
4ffa124a 2840 {
186dd63b 2841 /* Q_GAAL - GET_ALL_ACTIVE_LOGINS, v3 */
2842 "get_all_active_logins",
2843 "gaal",
2844 3,
2845 RETRIEVE,
2846 "u",
2847 USERS_TABLE,
2848 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle FROM users u",
2849 galo_fields,
2850 7,
2851 "u.status = 1",
2852 0,
2853 "u.login",
2854 0,
2855 },
2856
2857 {
2858 /* Q_GUAL - GET_USER_ACCOUNT_BY_LOGIN, v2 */
0c345c78 2859 "get_user_account_by_login",
2860 "gual",
c44ddfa7 2861 2,
0c345c78 2862 RETRIEVE,
2863 "u",
03c05291 2864 USERS_TABLE,
d55429b2 2865 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
186dd63b 2866 gual2_fields,
0c345c78 2867 15,
263a36d4 2868 "u.login LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
0c345c78 2869 1,
29028043 2870 "u.login",
0c345c78 2871 &gubl_validate,
4ffa124a 2872 },
5eaef520 2873
4ffa124a 2874 {
186dd63b 2875 /* Q_GUAL - GET_USER_ACCOUNT_BY_LOGIN, v3 */
2876 "get_user_account_by_login",
2877 "gual",
2878 3,
2879 RETRIEVE,
2880 "u",
2881 USERS_TABLE,
2882 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
2883 gual_fields,
2884 16,
2885 "u.login LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
2886 1,
2887 "u.login",
2888 &gubl_validate,
2889 },
2890
2891 {
2892 /* Q_GUAU - GET_USER_ACCOUNT_BY_UID, v2 */
0c345c78 2893 "get_user_account_by_uid",
2894 "guau",
c44ddfa7 2895 2,
0c345c78 2896 RETRIEVE,
2897 "u",
03c05291 2898 USERS_TABLE,
d55429b2 2899 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
186dd63b 2900 guau2_fields,
0c345c78 2901 15,
03c05291 2902 "u.unix_uid = %s AND u.users_id != 0 AND u.comments = str.string_id",
0c345c78 2903 1,
29028043 2904 "u.login",
0c345c78 2905 &gubu_validate,
4ffa124a 2906 },
5eaef520 2907
4ffa124a 2908 {
186dd63b 2909 /* Q_GUAU - GET_USER_ACCOUNT_BY_UID, v3 */
2910 "get_user_account_by_uid",
2911 "guau",
2912 3,
2913 RETRIEVE,
2914 "u",
2915 USERS_TABLE,
2916 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
2917 guau_fields,
2918 16,
2919 "u.unix_uid = %s AND u.users_id != 0 AND u.comments = str.string_id",
2920 1,
2921 "u.login",
2922 &gubu_validate,
2923 },
2924
2925 {
2926 /* Q_GUAN - GET_USER_ACCOUNT_BY_NAME, v2 */
0c345c78 2927 "get_user_account_by_name",
2928 "guan",
c44ddfa7 2929 2,
0c345c78 2930 RETRIEVE,
2931 "u",
03c05291 2932 USERS_TABLE,
d55429b2 2933 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
186dd63b 2934 guan2_fields,
0c345c78 2935 15,
263a36d4 2936 "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0 and u.comments = str.string_id",
0c345c78 2937 2,
29028043 2938 "u.login",
60452f41 2939 &guan_validate,
4ffa124a 2940 },
5eaef520 2941
4ffa124a 2942 {
186dd63b 2943 /* Q_GUAN - GET_USER_ACCOUNT_BY_NAME, v3 */
2944 "get_user_account_by_name",
2945 "guan",
2946 3,
2947 RETRIEVE,
2948 "u",
2949 USERS_TABLE,
2950 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
2951 guan_fields,
2952 16,
2953 "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0 and u.comments = str.string_id",
2954 2,
2955 "u.login",
2956 &guan_validate,
2957 },
2958
2959 {
2960 /* Q_GUAC - GET_USER_ACCOUNT_BY_CLASS, v2 */
0c345c78 2961 "get_user_account_by_class",
2962 "guac",
c44ddfa7 2963 2,
0c345c78 2964 RETRIEVE,
2965 "u",
03c05291 2966 USERS_TABLE,
d55429b2 2967 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
186dd63b 2968 guac2_fields,
0c345c78 2969 15,
03c05291 2970 "u.type = UPPER('%s') AND u.users_id != 0 AND u.comments = str.string_id",
0c345c78 2971 1,
29028043 2972 "u.login",
2973 &VDfix_modby,
4ffa124a 2974 },
5eaef520 2975
4ffa124a 2976 {
186dd63b 2977 /* Q_GUAC - GET_USER_ACCOUNT_BY_CLASS, v3 */
2978 "get_user_account_by_class",
2979 "guac",
2980 3,
2981 RETRIEVE,
2982 "u",
2983 USERS_TABLE,
2984 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
2985 guac_fields,
2986 16,
2987 "u.type = UPPER('%s') AND u.users_id != 0 AND u.comments = str.string_id",
2988 1,
2989 "u.login",
2990 &VDfix_modby,
2991 },
2992
2993 {
2994 /* Q_GUAM - GET_USER_ACCOUNT_BY_MITID, v2 */
0c345c78 2995 "get_user_account_by_id",
2996 "guai",
c44ddfa7 2997 2,
0c345c78 2998 RETRIEVE,
2999 "u",
03c05291 3000 USERS_TABLE,
d55429b2 3001 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
186dd63b 3002 guam2_fields,
0c345c78 3003 15,
263a36d4 3004 "u.clearid LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
0c345c78 3005 1,
29028043 3006 "u.login",
263a36d4 3007 &VDfix_modby,
4ffa124a 3008 },
5eaef520 3009
d33e787c 3010 {
186dd63b 3011 /* Q_GUAM - GET_USER_ACCOUNT_BY_MITID, v3 */
3012 "get_user_account_by_id",
3013 "guai",
3014 3,
3015 RETRIEVE,
3016 "u",
3017 USERS_TABLE,
3018 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
3019 guam_fields,
3020 16,
3021 "u.clearid LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
3022 1,
3023 "u.login",
3024 &VDfix_modby,
3025 },
3026
3027 {
3028 /* Q_GUBL - GET_USER_BY_LOGIN, v2 */
d33e787c 3029 "get_user_by_login",
3030 "gubl",
c44ddfa7 3031 2,
d33e787c 3032 RETRIEVE,
3033 "u",
5eaef520 3034 USERS_TABLE,
03c05291 3035 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
186dd63b 3036 gubl2_fields,
d33e787c 3037 12,
263a36d4 3038 "u.login LIKE '%s' AND u.users_id != 0",
d33e787c 3039 1,
29028043 3040 "u.login",
f9f5c199 3041 &gubl_validate,
d33e787c 3042 },
5eaef520 3043
d33e787c 3044 {
186dd63b 3045 /* Q_GUBL - GET_USER_BY_LOGIN, v3 */
3046 "get_user_by_login",
3047 "gubl",
3048 3,
3049 RETRIEVE,
3050 "u",
3051 USERS_TABLE,
3052 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
3053 gubl_fields,
3054 13,
3055 "u.login LIKE '%s' AND u.users_id != 0",
3056 1,
3057 "u.login",
3058 &gubl_validate,
3059 },
3060
3061 {
3062 /* Q_GUBU - GET_USER_BY_UID, v2 */
d33e787c 3063 "get_user_by_uid",
3064 "gubu",
c44ddfa7 3065 2,
d33e787c 3066 RETRIEVE,
3067 "u",
03c05291 3068 USERS_TABLE,
3069 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
186dd63b 3070 gubu2_fields,
d33e787c 3071 12,
03c05291 3072 "u.unix_uid = %s AND u.users_id != 0",
d33e787c 3073 1,
29028043 3074 "u.login",
f9f5c199 3075 &gubu_validate,
d33e787c 3076 },
5eaef520 3077
d33e787c 3078 {
186dd63b 3079 /* Q_GUBU - GET_USER_BY_UID, v3 */
3080 "get_user_by_uid",
3081 "gubu",
3082 3,
3083 RETRIEVE,
3084 "u",
3085 USERS_TABLE,
3086 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
3087 gubu_fields,
3088 13,
3089 "u.unix_uid = %s AND u.users_id != 0",
3090 1,
3091 "u.login",
3092 &gubu_validate,
3093 },
3094
3095 {
3096 /* Q_GUBN - GET_USER_BY_NAME, v2 */
d33e787c 3097 "get_user_by_name",
3098 "gubn",
c44ddfa7 3099 2,
d33e787c 3100 RETRIEVE,
3101 "u",
03c05291 3102 USERS_TABLE,
3103 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
186dd63b 3104 gubn2_fields,
d33e787c 3105 12,
263a36d4 3106 "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0",
d33e787c 3107 2,
29028043 3108 "u.login",
99e09b48 3109 &gubn_validate,
d33e787c 3110 },
5eaef520 3111
d33e787c 3112 {
186dd63b 3113 /* Q_GUBN - GET_USER_BY_NAME, v3 */
3114 "get_user_by_name",
3115 "gubn",
3116 3,
3117 RETRIEVE,
3118 "u",
3119 USERS_TABLE,
3120 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
3121 gubn_fields,
3122 13,
3123 "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0",
3124 2,
3125 "u.login",
3126 &gubn_validate,
3127 },
3128
3129 {
3130 /* Q_GUBC - GET_USER_BY_CLASS, v2 */
d33e787c 3131 "get_user_by_class",
3132 "gubc",
c44ddfa7 3133 2,
d33e787c 3134 RETRIEVE,
3135 "u",
03c05291 3136 USERS_TABLE,
3137 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
186dd63b 3138 gubc2_fields,
d33e787c 3139 12,
03c05291 3140 "u.type = UPPER('%s') AND u.users_id != 0",
d33e787c 3141 1,
29028043 3142 "u.login",
3143 &VDfix_modby,
d33e787c 3144 },
5eaef520 3145
d33e787c 3146 {
186dd63b 3147 /* Q_GUBC - GET_USER_BY_CLASS, v3 */
3148 "get_user_by_class",
3149 "gubc",
3150 3,
3151 RETRIEVE,
3152 "u",
3153 USERS_TABLE,
3154 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
3155 gubc_fields,
3156 13,
3157 "u.type = UPPER('%s') AND u.users_id != 0",
3158 1,
3159 "u.login",
3160 &VDfix_modby,
3161 },
3162
3163 {
3164 /* Q_GUBM - GET_USER_BY_MITID, v2 */
d33e787c 3165 "get_user_by_mitid",
3166 "gubm",
c44ddfa7 3167 2,
d33e787c 3168 RETRIEVE,
3169 "u",
03c05291 3170 USERS_TABLE,
3171 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
186dd63b 3172 gubm2_fields,
d33e787c 3173 12,
263a36d4 3174 "u.clearid LIKE '%s' AND u.users_id != 0",
d33e787c 3175 1,
29028043 3176 "u.login",
263a36d4 3177 &VDfix_modby,
d33e787c 3178 },
5eaef520 3179
4ffa124a 3180 {
186dd63b 3181 /* Q_GUBM - GET_USER_BY_MITID, v3 */
3182 "get_user_by_mitid",
3183 "gubm",
3184 3,
3185 RETRIEVE,
3186 "u",
3187 USERS_TABLE,
3188 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
3189 gubm_fields,
3190 13,
3191 "u.clearid LIKE '%s' AND u.users_id != 0",
3192 1,
3193 "u.login",
3194 &VDfix_modby,
3195 },
3196
3197 {
3198 /* Q_AUAC - ADD_USER_ACCOUNT, v2 */ /* uses prefetch_value() for users_id */
4ffa124a 3199 "add_user_account",
3200 "auac",
c44ddfa7 3201 2,
4ffa124a 3202 APPEND,
3203 "u",
03c05291 3204 USERS_TABLE,
d55429b2 3205 /* We set signature to "NVL(CHR(0), '%s')", which is to say, "CHR(0)",
3206 * but using up one argv element.
3207 */
3208 "INTO users (login, unix_uid, shell, last, first, middle, status, clearid, type, comments, signature, secure, users_id) VALUES ('%s', %s, '%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, NVL('%s', CHR(0)), '%s', %d, NVL(CHR(0), '%s'), %s, %s)",
186dd63b 3209 auac2_fields,
4ffa124a 3210 12,
7ac48069 3211 NULL,
4ffa124a 3212 0,
29028043 3213 NULL,
186dd63b 3214 &auac2_validate,
3215 },
3216
3217 {
3218 /* Q_AUAC - ADD_USER_ACCOUNT, v3 */ /* uses prefetch_value() for users_id */
3219 "add_user_account",
3220 "auac",
3221 3,
3222 APPEND,
3223 "u",
3224 USERS_TABLE,
3225 /* We set signature to "NVL(CHR(0), '%s')", which is to say, "CHR(0)",
3226 * but using up one argv element.
3227 */
3228 "INTO users (login, unix_uid, shell, winconsoleshell, last, first, middle, status, clearid, type, comments, signature, secure, users_id) VALUES ('%s', %s, '%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, NVL('%s', CHR(0)), '%s', %d, NVL(CHR(0), '%s'), %s, %s)",
3229 auac_fields,
3230 13,
3231 NULL,
3232 0,
3233 NULL,
4ffa124a 3234 &auac_validate,
3235 },
5eaef520 3236
d33e787c 3237 {
186dd63b 3238 /* Q_AUSR - ADD_USER, v2 */ /* uses prefetch_value() for users_id */
d33e787c 3239 "add_user",
3240 "ausr",
c44ddfa7 3241 2,
d33e787c 3242 APPEND,
3243 "u",
03c05291 3244 USERS_TABLE,
5eaef520 3245 "INTO users (login, unix_uid, shell, last, first, middle, status, clearid, type, comments, signature, secure, users_id) VALUES ('%s', %s, '%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, NVL('%s', CHR(0)), '%s', 0, CHR(0), 0, %s)",
186dd63b 3246 auac2_fields,
d33e787c 3247 9,
45bf7573 3248 0,
d33e787c 3249 0,
29028043 3250 NULL,
186dd63b 3251 &ausr2_validate,
3252 },
3253
3254 {
3255 /* Q_AUSR - ADD_USER, v3 */ /* uses prefetch_value() for users_id */
3256 "add_user",
3257 "ausr",
3258 3,
3259 APPEND,
3260 "u",
3261 USERS_TABLE,
3262 "INTO users (login, unix_uid, shell, winconsoleshell, last, first, middle, status, clearid, type, comments, signature, secure, users_id) VALUES ('%s', %s, '%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, NVL('%s', CHR(0)), '%s', 0, CHR(0), 0, %s)",
3263 auac_fields,
3264 10,
3265 0,
3266 0,
3267 NULL,
d33e787c 3268 &ausr_validate,
3269 },
5eaef520 3270
d33e787c 3271 {
3272 /* Q_RUSR - REGISTER_USER */
3273 "register_user",
3274 "rusr",
c44ddfa7 3275 2,
d33e787c 3276 APPEND,
3277 0,
3278 0,
3279 0,
3280 rusr_fields,
3281 3,
3282 0,
3283 0,
29028043 3284 NULL,
d33e787c 3285 &rusr_validate,
3286 },
5eaef520 3287
4ffa124a 3288 {
186dd63b 3289 /* Q_UUAC - UPDATE_USER_ACCOUNT, v2 */
4ffa124a 3290 "update_user_account",
3291 "uuac",
c44ddfa7 3292 2,
4ffa124a 3293 UPDATE,
3294 "u",
03c05291 3295 USERS_TABLE,
d55429b2 3296 /* See comment in auac about signature. */
3297 "users SET login = '%s', unix_uid = %s, shell = '%s', last = NVL('%s', CHR(0)), first = NVL('%s', CHR(0)), middle = NVL('%s', CHR(0)), status = %s, clearid = NVL('%s', CHR(0)), type = '%s', comments = %d, signature = NVL(CHR(0), '%s'), secure = %s",
186dd63b 3298 uuac2_fields,
4ffa124a 3299 12,
3300 "users_id = %d",
3301 1,
29028043 3302 NULL,
186dd63b 3303 &uuac2_validate,
3304 },
3305
3306 {
3307 /* Q_UUAC - UPDATE_USER_ACCOUNT, v3 */
3308 "update_user_account",
3309 "uuac",
3310 3,
3311 UPDATE,
3312 "u",
3313 USERS_TABLE,
3314 /* See comment in auac about signature. */
3315 "users SET login = '%s', unix_uid = %s, shell = '%s', winconsoleshell = '%s', last = NVL('%s', CHR(0)), first = NVL('%s', CHR(0)), middle = NVL('%s', CHR(0)), status = %s, clearid = NVL('%s', CHR(0)), type = '%s', comments = %d, signature = NVL(CHR(0), '%s'), secure = %s",
3316 uuac_fields,
3317 13,
3318 "users_id = %d",
3319 1,
3320 NULL,
4ffa124a 3321 &uuac_validate,
3322 },
5eaef520 3323
d33e787c 3324 {
186dd63b 3325 /* Q_UUSR - UPDATE_USER, v2 */
d33e787c 3326 "update_user",
3327 "uusr",
c44ddfa7 3328 2,
d33e787c 3329 UPDATE,
3330 "u",
03c05291 3331 USERS_TABLE,
5eaef520 3332 "users SET login = '%s', unix_uid = %s, shell = '%s', last = NVL('%s', CHR(0)), first = NVL('%s', CHR(0)), middle = NVL('%s', CHR(0)), status = %s, clearid = NVL('%s', CHR(0)), type = '%s'",
186dd63b 3333 uuac2_fields,
d33e787c 3334 9,
4e5ec77f 3335 "users_id = %d",
d33e787c 3336 1,
29028043 3337 NULL,
186dd63b 3338 &uusr2_validate,
3339 },
3340
3341 {
3342 /* Q_UUSR - UPDATE_USER, v3 */
3343 "update_user",
3344 "uusr",
3345 3,
3346 UPDATE,
3347 "u",
3348 USERS_TABLE,
3349 "users SET login = '%s', unix_uid = %s, shell = '%s', winconsoleshell = '%s', last = NVL('%s', CHR(0)), first = NVL('%s', CHR(0)), middle = NVL('%s', CHR(0)), status = %s, clearid = NVL('%s', CHR(0)), type = '%s'",
3350 uuac_fields,
3351 10,
3352 "users_id = %d",
3353 1,
3354 NULL,
d33e787c 3355 &uusr_validate,
3356 },
3357
3358 {
3359 /* Q_UUSH - UPDATE_USER_SHELL */
3360 "update_user_shell",
3361 "uush",
c44ddfa7 3362 2,
d33e787c 3363 UPDATE,
3364 "u",
03c05291 3365 USERS_TABLE,
5eaef520 3366 "users SET shell = '%s'",
d33e787c 3367 uush_fields,
3368 1,
4e5ec77f 3369 "users_id = %d",
d33e787c 3370 1,
29028043 3371 NULL,
d33e787c 3372 &uush_validate,
3373 },
3374
29dbfca4 3375 {
3376 /* Q_UUWS - UPDATE_USER_WINDOWS_SHELL */
3377 "update_user_windows_shell",
3378 "uuws",
3379 2,
3380 UPDATE,
3381 "u",
3382 USERS_TABLE,
3383 "users SET winconsoleshell = '%s'",
3384 uuws_fields,
3385 1,
3386 "users_id = %d",
3387 1,
3388 NULL,
3389 &uuws_validate,
3390 },
3391
d33e787c 3392 {
3393 /* Q_UUST - UPDATE_USER_STATUS */
3394 "update_user_status",
3395 "uust",
c44ddfa7 3396 2,
d33e787c 3397 UPDATE,
3398 "u",
03c05291 3399 USERS_TABLE,
4e5ec77f 3400 "users SET status = %s",
d33e787c 3401 uust_fields,
3402 1,
4e5ec77f 3403 "users_id = %d",
d33e787c 3404 1,
29028043 3405 NULL,
d33e787c 3406 &uust_validate,
3407 },
3408
4ffa124a 3409 {
3410 /* Q_UUSS - UPDATE_USER_SECURITY_STATUS */
3411 "update_user_security_status",
3412 "uuss",
c44ddfa7 3413 2,
4ffa124a 3414 UPDATE,
3415 "u",
03c05291 3416 USERS_TABLE,
135dcb80 3417 "users SET secure = %s",
4ffa124a 3418 uuss_fields,
3419 1,
3420 "users_id = %d",
3421 1,
29028043 3422 NULL,
4ffa124a 3423 &uust_validate,
3424 },
5eaef520 3425
d33e787c 3426 {
5eaef520 3427 /* Q_DUSR - DELETE_USER */
d33e787c 3428 "delete_user",
3429 "dusr",
c44ddfa7 3430 2,
d33e787c 3431 DELETE,
3432 "u",
03c05291 3433 USERS_TABLE,
7ac48069 3434 NULL,
d33e787c 3435 dusr_fields,
3436 0,
4e5ec77f 3437 "users_id = %d",
d33e787c 3438 1,
29028043 3439 NULL,
d33e787c 3440 &dusr_validate,
3441 },
3442
77eb4bdf 3443 {
3444 /* Q_AURV - ADD_USER_RESERVATION */
3445 "add_user_reservation",
3446 "aurv",
3447 2,
3448 UPDATE,
3449 0,
3450 USERS_TABLE,
3451 0,
3452 aurv_fields,
3453 2,
3454 0,
3455 0,
3456 NULL,
3457 &aurv_validate,
3458 },
3459
3460 {
3461 /* Q_GURV - GET_USER_RESERVATIONS */
3462 "get_user_reservations",
3463 "gurv",
3464 2,
3465 RETRIEVE,
3466 0,
3467 USERS_TABLE,
3468 0,
3469 gurv_fields,
3470 2,
3471 0,
3472 1,
3473 NULL,
3474 &gurv_validate,
3475 },
3476
3477 {
3478 /* Q_GUBR - GET_USER_BY_RESERVATION */
3479 "get_user_by_reservation",
3480 "gubr",
3481 2,
3482 RETRIEVE,
3483 0,
3484 USERS_TABLE,
3485 0,
3486 gubr_fields,
3487 1,
3488 0,
3489 1,
3490 NULL,
3491 &gubr_validate,
3492 },
3493
3494 {
3495 /* Q_DURV - DELETE_USER_RESERVATION */
3496 "delete_user_reservation",
3497 "durv",
3498 2,
3499 UPDATE,
3500 0,
3501 USERS_TABLE,
3502 0,
3503 aurv_fields,
3504 2,
3505 0,
3506 0,
3507 NULL,
3508 &aurv_validate,
3509 },
3510
012fc215 3511 {
5eaef520 3512 /* Q_GKUM - GET_KERBEROS_USER_MAP */
012fc215 3513 "get_kerberos_user_map",
3514 "gkum",
c44ddfa7 3515 2,
012fc215 3516 RETRIEVE,
3517 "k",
03c05291 3518 KRBMAP_TABLE,
3519 "u.login, str.string FROM krbmap km, users u, strings str",
012fc215 3520 gkum_fields,
3521 2,
263a36d4 3522 "u.login LIKE '%s' AND str.string LIKE '%s' AND km.users_id = u.users_id AND km.string_id = str.string_id",
012fc215 3523 2,
29028043 3524 "u.login, str.string",
263a36d4 3525 NULL,
012fc215 3526 },
3527
3528 {
3529 /* Q_AKUM - ADD_KERBEROS_USER_MAP */
3530 "add_kerberos_user_map",
3531 "akum",
c44ddfa7 3532 2,
012fc215 3533 APPEND,
3534 "k",
03c05291 3535 KRBMAP_TABLE,
99e09b48 3536 "INTO krbmap (users_id, string_id) VALUES (%d, %d)",
012fc215 3537 akum_fields,
3538 2,
3539 0,
3540 0,
29028043 3541 NULL,
012fc215 3542 &akum_validate,
3543 },
3544
3545 {
3546 /* Q_DKUM - DELETE_KERBEROS_USER_MAP */
3547 "delete_kerberos_user_map",
3548 "dkum",
c44ddfa7 3549 2,
012fc215 3550 DELETE,
3551 "k",
03c05291 3552 KRBMAP_TABLE,
012fc215 3553 0,
3554 akum_fields,
3555 0,
99e09b48 3556 "users_id = %d AND string_id = %d",
012fc215 3557 2,
29028043 3558 NULL,
012fc215 3559 &dkum_validate,
3560 },
3561
d33e787c 3562 {
3563 /* Q_GFBL - GET_FINGER_BY_LOGIN */
3564 "get_finger_by_login",
3565 "gfbl",
c44ddfa7 3566 2,
d33e787c 3567 RETRIEVE,
3568 "u",
03c05291 3569 USERS_TABLE,
3570 "login, fullname, nickname, home_addr, home_phone, office_addr, office_phone, department, affiliation, TO_CHAR(fmodtime, 'DD-mon-YYYY HH24:MI:SS'), fmodby, fmodwith FROM users",
d33e787c 3571 gfbl_fields,
3572 12,
03c05291 3573 "users_id = %d",
d33e787c 3574 1,
29028043 3575 "login",
d33e787c 3576 &gfbl_validate,
3577 },
3578
3579 {
3580 /* Q_UFBL - UPDATE_FINGER_BY_LOGIN */
3581 "update_finger_by_login",
3582 "ufbl",
c44ddfa7 3583 2,
d33e787c 3584 UPDATE,
3585 "u",
03c05291 3586 USERS_TABLE,
5eaef520 3587 "users SET fullname= NVL('%s', CHR(0)), nickname= NVL('%s', CHR(0)), home_addr= NVL('%s', CHR(0)), home_phone= NVL('%s', CHR(0)), office_addr= NVL('%s', CHR(0)), office_phone= NVL('%s', CHR(0)), department= NVL('%s', CHR(0)), affiliation= NVL('%s', CHR(0))",
d33e787c 3588 ufbl_fields,
3589 8,
4e5ec77f 3590 "users_id = %d",
d33e787c 3591 1,
29028043 3592 NULL,
d33e787c 3593 &ufbl_validate,
3594 },
3595
3596 {
3597 /* Q_GPOB - GET_POBOX */
3598 "get_pobox",
3599 "gpob",
c44ddfa7 3600 2,
d33e787c 3601 RETRIEVE,
3602 "u",
03c05291 3603 USERS_TABLE,
d6d830a1 3604 "login, potype, users_id, CHR(0), TO_CHAR(pmodtime, 'DD-mon-YYYY HH24:MI:SS'), pmodby, pmodwith FROM users",
d33e787c 3605 gpob_fields,
d6d830a1 3606 7,
03c05291 3607 "users_id = %d",
d33e787c 3608 1,
29028043 3609 "login",
d33e787c 3610 &gpob_validate,
3611 },
3612
3613 {
3614 /* Q_GAPO - GET_ALL_POBOXES */
3615 "get_all_poboxes",
3616 "gapo",
c44ddfa7 3617 2,
d33e787c 3618 RETRIEVE,
3619 "u",
03c05291 3620 USERS_TABLE,
3621 "login, potype, pop_id || ':' || box_id FROM users",
d33e787c 3622 gpox_fields,
3623 3,
03c05291 3624 "potype != 'NONE'",
d33e787c 3625 0,
29028043 3626 "login",
d33e787c 3627 &gpox_validate,
3628 },
5eaef520 3629
d33e787c 3630 {
3631 /* Q_GPOP - GET_POBOXES_POP */
3632 "get_poboxes_pop",
3633 "gpop",
c44ddfa7 3634 2,
d33e787c 3635 RETRIEVE,
3636 "u",
03c05291 3637 USERS_TABLE,
17cb3de8 3638 "login, potype, users_id FROM users",
d33e787c 3639 gpox_fields,
3640 3,
03c05291 3641 "potype = 'POP'",
d33e787c 3642 0,
29028043 3643 "login",
d33e787c 3644 &gpox_validate
3645 },
3646
3647 {
3648 /* Q_GPOF - GET_POBOXES_SMTP */
3649 "get_poboxes_smtp",
3650 "gpos",
c44ddfa7 3651 2,
d33e787c 3652 RETRIEVE,
3653 "u",
03c05291 3654 USERS_TABLE,
17cb3de8 3655 "login, potype, users_id FROM users",
d33e787c 3656 gpox_fields,
3657 3,
03c05291 3658 "potype = 'SMTP'",
d33e787c 3659 0,
29028043 3660 "login",
d33e787c 3661 &gpox_validate
3662 },
3663
3664 {
3665 /* Q_SPOB - SET_POBOX */
3666 "set_pobox",
3667 "spob",
c44ddfa7 3668 2,
d33e787c 3669 UPDATE,
3670 0,
03c05291 3671 USERS_TABLE,
d33e787c 3672 0,
3673 spob_fields,
3674 3,
7ac48069 3675 NULL,
d33e787c 3676 0,
29028043 3677 NULL,
d33e787c 3678 &spob_validate,
3679 },
3680
3681 {
3682 /* Q_SPOP - SET_POBOX_POP */
3683 "set_pobox_pop",
3684 "spop",
c44ddfa7 3685 2,
d33e787c 3686 UPDATE,
8b0fdf05 3687 0,
03c05291 3688 USERS_TABLE,
17cb3de8 3689 0,
d33e787c 3690 spob_fields,
8b0fdf05 3691 1,
17cb3de8 3692 NULL,
3693 0,
29028043 3694 NULL,
d33e787c 3695 &spop_validate,
3696 },
3697
3698 {
3699 /* Q_DPOB - DELETE_POBOX */
3700 "delete_pobox",
3701 "dpob",
c44ddfa7 3702 2,
d33e787c 3703 UPDATE,
3704 "u",
03c05291 3705 USERS_TABLE,
3706 "users SET potype = 'NONE'",
3707 spob_fields,
3708 0,
3709 "users_id = %d",
d33e787c 3710 1,
29028043 3711 NULL,
03c05291 3712 &dpob_validate,
d33e787c 3713 },
3714
3715 {
a66a2204 3716 /* Q_GHST - GET_HOST */
3717 "get_host",
3718 "ghst",
c44ddfa7 3719 2,
a66a2204 3720 RETRIEVE,
3721 "m",
03c05291 3722 MACHINE_TABLE,
3723 "m.name, m.vendor, m.model, m.os, m.location, m.contact, m.use, m.status, TO_CHAR(m.statuschange, 'DD-mon-YYYY HH24:MI:SS'), s.name, m.address, m.owner_type, m.owner_id, m.acomment, m.ocomment, TO_CHAR(m.created, 'DD-mon-YYYY HH24:MI:SS'), m.creator, TO_CHAR(m.inuse, 'DD-mon-YYYY HH24:MI:SS'), TO_CHAR(m.modtime, 'DD-mon-YYYY HH24:MI:SS'), m.modby, m.modwith FROM machine m, subnet s",
a66a2204 3724 ghst_fields,
3725 21,
1fa08fc4 3726 "m.name LIKE UPPER('%s') AND m.address LIKE '%s' AND m.location LIKE UPPER('%s') AND s.name LIKE UPPER('%s') AND m.mach_id != 0 AND s.snet_id = m.snet_id",
a66a2204 3727 4,
29028043 3728 "m.name",
a66a2204 3729 &ghst_validate,
3730 },
3731
9333756a 3732 {
3733 /* Q_GHBH - GET_HOST_BY_HWADDR */
3734 "get_host_by_hwaddr",
3735 "ghbh",
c44ddfa7 3736 2,
9333756a 3737 RETRIEVE,
3738 "m",
3739 MACHINE_TABLE,
3740 "m.name, m.vendor, m.model, m.os, m.location, m.contact, m.use, m.status, TO_CHAR(m.statuschange, 'DD-mon-YYYY HH24:MI:SS'), s.name, m.address, m.owner_type, m.owner_id, m.acomment, m.ocomment, TO_CHAR(m.created, 'DD-mon-YYYY HH24:MI:SS'), m.creator, TO_CHAR(m.inuse, 'DD-mon-YYYY HH24:MI:SS'), TO_CHAR(m.modtime, 'DD-mon-YYYY HH24:MI:SS'), m.modby, m.modwith FROM machine m, subnet s",
3741 ghst_fields,
3742 21,
3743 "m.hwaddr LIKE LOWER('%s') AND m.mach_id != 0 AND s.snet_id = m.snet_id",
3744 1,
3745 "m.name",
3746 NULL,
3747 },
3748
2884200f 3749 {
3750 /* Q_GHHA - GET_HOST_HWADDR */
3751 "get_host_hwaddr",
3752 "ghha",
c44ddfa7 3753 2,
2884200f 3754 RETRIEVE,
3755 "m",
3756 MACHINE_TABLE,
3757 "m.hwaddr FROM machine m",
3758 ghha_fields,
3759 1,
3760 "m.name LIKE UPPER('%s')",
3761 1,
3762 NULL,
3763 NULL,
3764 },
3765
a66a2204 3766 {
3767 /* Q_AHST - ADD_HOST */ /* uses prefetch_value() for mach_id */
3768 "add_host",
3769 "ahst",
c44ddfa7 3770 2,
d33e787c 3771 APPEND,
3772 "m",
03c05291 3773 MACHINE_TABLE,
5eaef520 3774 "INTO machine (name, vendor, model, os, location, contact, use, status, statuschange, snet_id, address, owner_type, owner_id, acomment, ocomment, created, inuse, mach_id, creator) VALUES (UPPER('%s'), NVL(UPPER('%s'), CHR(0)), NVL(UPPER('%s'), CHR(0)), NVL(UPPER('%s'), CHR(0)), NVL(UPPER('%s'), CHR(0)), NVL('%s', CHR(0)), %s, %s, SYSDATE, %d, '%s', '%s', %d, %d, %d, SYSDATE, SYSDATE, %s, %s)",
a66a2204 3775 ahst_fields,
3776 14,
45bf7573 3777 0,
d33e787c 3778 0,
29028043 3779 NULL,
a66a2204 3780 &ahst_validate,
d33e787c 3781 },
3782
3783 {
a66a2204 3784 /* Q_UHST - UPDATE_HOST */
3785 "update_host",
3786 "uhst",
c44ddfa7 3787 2,
d33e787c 3788 UPDATE,
3789 "m",
03c05291 3790 MACHINE_TABLE,
5eaef520 3791 "machine SET name = NVL(UPPER('%s'), CHR(0)), vendor = NVL(UPPER('%s'), CHR(0)), model = NVL(UPPER('%s'), CHR(0)), os = NVL(UPPER('%s'), CHR(0)), location = NVL(UPPER('%s'), CHR(0)), contact = NVL('%s', CHR(0)), use = %s, status = %s, snet_id = %d, address = '%s', owner_type = '%s', owner_id = %d, acomment = %d, ocomment = %d",
a66a2204 3792 uhst_fields,
3793 14,
4e5ec77f 3794 "mach_id = %d",
d33e787c 3795 1,
29028043 3796 NULL,
a66a2204 3797 &uhst_validate,
d33e787c 3798 },
3799
2884200f 3800 {
3801 /* Q_UHHA - UPDATE_HOST_HWADDR */
3802 "update_host_hwaddr",
3803 "uhha",
c44ddfa7 3804 2,
2884200f 3805 UPDATE,
3806 "m",
3807 MACHINE_TABLE,
1fdf882a 3808 "machine SET hwaddr = NVL('%s', CHR(0))",
2884200f 3809 uhha_fields,
3810 1,
3811 "mach_id = %d",
3812 1,
3813 NULL,
3814 &uhha_validate,
3815 },
3816
d33e787c 3817 {
a66a2204 3818 /* Q_DHST - DELETE_HOST */
3819 "delete_host",
3820 "dhst",
c44ddfa7 3821 2,
d33e787c 3822 DELETE,
3823 "m",
03c05291 3824 MACHINE_TABLE,
7ac48069 3825 NULL,
a66a2204 3826 dhst_fields,
d33e787c 3827 0,
4e5ec77f 3828 "mach_id = %d",
d33e787c 3829 1,
29028043 3830 NULL,
a66a2204 3831 &dhst_validate,
3832 },
3833
03c05291 3834 {
3835 /* Q_GMAC - GET_MACHINE */
3836 "get_machine",
3837 "gmac",
c44ddfa7 3838 2,
03c05291 3839 RETRIEVE,
3840 "m",
3841 MACHINE_TABLE,
3842 "name, vendor, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM machine",
3843 gmac_fields,
3844 5,
263a36d4 3845 "name LIKE UPPER('%s') AND mach_id != 0",
03c05291 3846 1,
29028043 3847 "name",
263a36d4 3848 &VDfix_modby,
03c05291 3849 },
3850
a66a2204 3851 {
3852 /* Q_GHAL - GET_HOSTALIAS */
3853 "get_hostalias",
3854 "ghal",
c44ddfa7 3855 2,
a66a2204 3856 RETRIEVE,
03c05291 3857 "a",
3858 HOSTALIAS_TABLE,
3859 "a.name, m.name FROM hostalias a, machine m",
a66a2204 3860 ghal_fields,
3861 2,
263a36d4 3862 "m.mach_id = a.mach_id and a.name LIKE UPPER('%s') AND m.name LIKE UPPER('%s')",
a66a2204 3863 2,
29028043 3864 "a.name",
a66a2204 3865 &ghal_validate,
3866 },
3867
3868 {
3869 /* Q_AHAL - ADD_HOSTALIAS */
3870 "add_hostalias",
3871 "ahal",
c44ddfa7 3872 2,
a66a2204 3873 APPEND,
3874 "a",
03c05291 3875 HOSTALIAS_TABLE,
5eaef520 3876 "INTO hostalias (name, mach_id) VALUES (UPPER('%s'), %d)",
a66a2204 3877 ghal_fields,
3878 2,
3879 0,
3880 0,
29028043 3881 NULL,
a66a2204 3882 &ahal_validate,
3883 },
3884
3885 {
3886 /* Q_DHAL - DELETE_HOSTALIAS */
3887 "delete_hostalias",
3888 "dhal",
c44ddfa7 3889 2,
a66a2204 3890 DELETE,
3891 "a",
03c05291 3892 HOSTALIAS_TABLE,
7ac48069 3893 NULL,
a66a2204 3894 ghal_fields,
3895 0,
03c05291 3896 "name = UPPER('%s') AND mach_id = %d",
a66a2204 3897 2,
29028043 3898 NULL,
a66a2204 3899 &dhal_validate,
d33e787c 3900 },
3901
3c1d412c 3902 {
3903 /* Q_GSNT - GET_SUBNET */
3904 "get_subnet",
3905 "gsnt",
c44ddfa7 3906 2,
3c1d412c 3907 RETRIEVE,
3908 "s",
03c05291 3909 SUBNET_TABLE,
3910 "name, description, saddr, mask, low, high, prefix, owner_type, owner_id, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM subnet",
3c1d412c 3911 gsnt_fields,
bd8c26ff 3912 12,
5e8fdad1 3913 "name LIKE UPPER('%s')",
3c1d412c 3914 1,
29028043 3915 "name",
3c1d412c 3916 &gsnt_validate,
3917 },
3918
3919 {
3920 /* Q_ASNT - ADD_SUBNET */
3921 "add_subnet",
3922 "asnt",
c44ddfa7 3923 2,
3c1d412c 3924 APPEND,
3925 "s",
03c05291 3926 SUBNET_TABLE,
5eaef520 3927 "INTO subnet (name, description, saddr, mask, low, high, prefix, owner_type, owner_id, snet_id) VALUES (UPPER('%s'), NVL('%s', CHR(0)), %s, %s, %s, %s, NVL('%s', CHR(0)), '%s', %d, %s)",
3c1d412c 3928 asnt_fields,
bd8c26ff 3929 9,
3c1d412c 3930 0,
3931 0,
29028043 3932 NULL,
3c1d412c 3933 &asnt_validate,
3934 },
3935
3936 {
3937 /* Q_USNT - UPDATE_SUBNET */
3938 "update_subnet",
3939 "usnt",
c44ddfa7 3940 2,
3c1d412c 3941 UPDATE,
3942 "s",
03c05291 3943 SUBNET_TABLE,
5eaef520 3944 "subnet SET name = UPPER('%s'), description = NVL('%s', CHR(0)), saddr = %s, mask = %s, low = %s, high = %s, prefix = NVL('%s', CHR(0)), owner_type = '%s', owner_id = %d",
3c1d412c 3945 usnt_fields,
bd8c26ff 3946 9,
3c1d412c 3947 "snet_id = %d",
3948 1,
29028043 3949 NULL,
3c1d412c 3950 &usnt_validate,
3951 },
3952
3953 {
3954 /* Q_DSNT - DELETE_SUBNET */
3955 "delete_subnet",
3956 "dsnt",
c44ddfa7 3957 2,
3c1d412c 3958 DELETE,
3959 "s",
03c05291 3960 SUBNET_TABLE,
7ac48069 3961 NULL,
3c1d412c 3962 dsnt_fields,
3963 0,
3964 "snet_id = %d",
3965 1,
29028043 3966 NULL,
3c1d412c 3967 &dsnt_validate,
3968 },
3969
d33e787c 3970 {
3971 /* Q_GCLU - GET_CLUSTER */
3972 "get_cluster",
3973 "gclu",
c44ddfa7 3974 2,
d33e787c 3975 RETRIEVE,
3976 "c",
e688520a 3977 CLUSTERS_TABLE,
03c05291 3978 "name, description, location, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM clusters",
d33e787c 3979 gclu_fields,
3980 6,
263a36d4 3981 "name LIKE '%s' AND clu_id != 0",
d33e787c 3982 1,
29028043 3983 "name",
263a36d4 3984 &VDfix_modby,
d33e787c 3985 },
3986
3987 {
45bf7573 3988 /* Q_ACLU - ADD_CLUSTER */ /* uses prefetch_value() for clu_id */
d33e787c 3989 "add_cluster",
3990 "aclu",
c44ddfa7 3991 2,
d33e787c 3992 APPEND,
3993 "c",
e688520a 3994 CLUSTERS_TABLE,
5eaef520 3995 "INTO clusters (name, description, location, clu_id) VALUES ('%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s)",
d33e787c 3996 aclu_fields,
3997 3,
45bf7573 3998 0,
d33e787c 3999 0,
29028043 4000 NULL,
d33e787c 4001 &aclu_validate,
4002 },
4003
4004 {
4005 /* Q_UCLU - UPDATE_CLUSTER */
4006 "update_cluster",
4007 "uclu",
c44ddfa7 4008 2,
d33e787c 4009 UPDATE,
4010 "c",
e688520a 4011 CLUSTERS_TABLE,
5eaef520 4012 "clusters SET name = '%s', description = NVL('%s', CHR(0)), location = NVL('%s', CHR(0))",
d33e787c 4013 uclu_fields,
4014 3,
4e5ec77f 4015 "clu_id = %d",
d33e787c 4016 1,
29028043 4017 NULL,
d33e787c 4018 &uclu_validate,
4019 },
4020
4021 {
4022 /* Q_DCLU - DELETE_CLUSTER */
4023 "delete_cluster",
4024 "dclu",
c44ddfa7 4025 2,
d33e787c 4026 DELETE,
4027 "c",
e688520a 4028 CLUSTERS_TABLE,
7ac48069 4029 NULL,
d33e787c 4030 dclu_fields,
4031 0,
4e5ec77f 4032 "clu_id = %d",
d33e787c 4033 1,
29028043 4034 NULL,
d33e787c 4035 &dclu_validate,
4036 },
4037
4038 {
5eaef520 4039 /* Q_GMCM - GET_MACHINE_TO_CLUSTER_MAP */
d33e787c 4040 "get_machine_to_cluster_map",
4041 "gmcm",
c44ddfa7 4042 2,
d33e787c 4043 RETRIEVE,
0c345c78 4044 "mcm",
03c05291 4045 MCMAP_TABLE,
4046 "m.name, c.name FROM machine m, clusters c, mcmap mcm",
d33e787c 4047 gmcm_fields,
4048 2,
263a36d4 4049 "m.name LIKE UPPER('%s') AND c.name LIKE '%s' AND mcm.clu_id = c.clu_id AND mcm.mach_id = m.mach_id",
d33e787c 4050 2,
29028043 4051 "m.name",
263a36d4 4052 NULL,
d33e787c 4053 },
5eaef520 4054
d33e787c 4055 {
4056 /* Q_AMTC - ADD_MACHINE_TO_CLUSTER */
4057 "add_machine_to_cluster",
4058 "amtc",
c44ddfa7 4059 2,
d33e787c 4060 APPEND,
0c345c78 4061 "mcm",
03c05291 4062 MCMAP_TABLE,
4e5ec77f 4063 "INTO mcmap (mach_id, clu_id) VALUES (%d, %d)",
d33e787c 4064 gmcm_fields,
4065 2,
4066 0,
4067 0,
29028043 4068 NULL,
d33e787c 4069 &amtc_validate,
4070 },
4071
4072 {
4073 /* Q_DMFC - DELETE_MACHINE_FROM_CLUSTER */
4074 "delete_machine_from_cluster",
4075 "dmfc",
c44ddfa7 4076 2,
d33e787c 4077 DELETE,
0c345c78 4078 "mcm",
03c05291 4079 MCMAP_TABLE,
d33e787c 4080 0,
4081 gmcm_fields,
4082 0,
4e5ec77f 4083 "mach_id = %d AND clu_id = %d",
d33e787c 4084 2,
29028043 4085 NULL,
d33e787c 4086 &amtc_validate,
4087 },
4088
4089 {
68dd808d 4090 /* Q_GCLD - GET_CLUSTER_DATA */
d33e787c 4091 "get_cluster_data",
4092 "gcld",
c44ddfa7 4093 2,
d33e787c 4094 RETRIEVE,
d33e787c 4095 "svc",
03c05291 4096 SVC_TABLE,
4097 "c.name, svc.serv_label, svc.serv_cluster FROM svc svc, clusters c",
d33e787c 4098 gcld_fields,
4099 3,
263a36d4 4100 "c.clu_id = svc.clu_id AND c.name LIKE '%s' AND svc.serv_label LIKE '%s'",
d33e787c 4101 2,
29028043 4102 "c.name, svc.serv_label",
263a36d4 4103 NULL,
d33e787c 4104 },
4105
4106 {
4107 /* Q_ACLD - ADD_CLUSTER_DATA */
4108 "add_cluster_data",
4109 "acld",
c44ddfa7 4110 2,
d33e787c 4111 APPEND,
0c345c78 4112 "svc",
03c05291 4113 SVC_TABLE,
5eaef520 4114 "INTO svc (clu_id, serv_label, serv_cluster) VALUES (%d, '%s', '%s')",
88343c5e 4115 acld_fields,
d33e787c 4116 3,
7ac48069 4117 NULL,
d33e787c 4118 0,
29028043 4119 NULL,
d33e787c 4120 &acld_validate,
4121 },
4122
4123 {
4124 /* Q_DCLD - DELETE_CLUSTER_DATA */
4125 "delete_cluster_data",
4126 "dcld",
c44ddfa7 4127 2,
d33e787c 4128 DELETE,
0c345c78 4129 "svc",
03c05291 4130 SVC_TABLE,
7ac48069 4131 NULL,
88343c5e 4132 acld_fields,
d33e787c 4133 0,
5eaef520 4134 "clu_id = %d AND serv_label = '%s' AND serv_cluster = '%s'",
d33e787c 4135 3,
29028043 4136 NULL,
99e09b48 4137 &dcld_validate,
d33e787c 4138 },
4139
03c05291 4140 {
44da57b2 4141 /* Q_GLIN - GET_LIST_INFO, v2 */
03c05291 4142 "get_list_info",
4143 "glin",
c44ddfa7 4144 2,
03c05291 4145 RETRIEVE,
263a36d4 4146 "l",
03c05291 4147 LIST_TABLE,
ccdbc974 4148 "name, active, publicflg, hidden, maillist, grouplist, gid, acl_type, acl_id, description, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM list",
44da57b2 4149 glin2_fields,
03c05291 4150 13,
263a36d4 4151 "name LIKE '%s'",
5eaef520 4152 1,
263a36d4 4153 "name",
5eaef520 4154 &glin_validate,
03c05291 4155 },
5eaef520 4156
44da57b2 4157 {
4158 /* Q_GLIN - GET_LIST_INFO, v3 */
4159 "get_list_info",
4160 "glin",
4161 3,
4162 RETRIEVE,
4163 "l",
4164 LIST_TABLE,
4165 "name, active, publicflg, hidden, maillist, grouplist, gid, nfsgroup, acl_type, acl_id, description, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM list",
4166 glin_fields,
4167 14,
4168 "name LIKE '%s'",
4169 1,
4170 "name",
4171 &glin_validate,
4172 },
4173
03c05291 4174 {
4175 /* Q_EXLN - EXPAND_LIST_NAMES */
4176 "expand_list_names",
4177 "exln",
c44ddfa7 4178 2,
03c05291 4179 RETRIEVE,
4180 "l",
4181 LIST_TABLE,
4182 "name FROM list",
4183 glin_fields,
4184 1,
263a36d4 4185 "name LIKE '%s' AND list_id != 0",
03c05291 4186 1,
29028043 4187 "name",
263a36d4 4188 NULL,
03c05291 4189 },
5eaef520 4190
03c05291 4191 {
44da57b2 4192 /* Q_ALIS - ADD_LIST, v2 */ /* uses prefetch_value() for list_id */
03c05291 4193 "add_list",
4194 "alis",
c44ddfa7 4195 2,
03c05291 4196 APPEND,
4197 "l",
5eaef520 4198 LIST_TABLE,
4199 "INTO list (name, active, publicflg, hidden, maillist, grouplist, gid, acl_type, acl_id, description, list_id) VALUES ('%s', %s, %s, %s, %s, %s, %s, '%s', %d, NVL('%s', CHR(0)), %s)",
44da57b2 4200 alis2_fields,
03c05291 4201 10,
4202 0,
4203 0,
29028043 4204 NULL,
44da57b2 4205 &alis2_validate,
4206 },
4207
4208 {
4209 /* Q_ALIS - ADD_LIST, v3 */ /* uses prefetch_value() for list_id */
4210 "add_list",
4211 "alis",
4212 3,
4213 APPEND,
4214 "l",
4215 LIST_TABLE,
4216 "INTO list (name, active, publicflg, hidden, maillist, grouplist, gid, nfsgroup, acl_type, acl_id, description, list_id) VALUES ('%s', %s, %s, %s, %s, %s, %s, %s, '%s', %d, NVL('%s', CHR(0)), %s)",
4217 alis_fields,
4218 11,
4219 0,
4220 0,
4221 NULL,
03c05291 4222 &alis_validate,
4223 },
4224
4225 {
44da57b2 4226 /* Q_ULIS - UPDATE_LIST, v2 */
03c05291 4227 "update_list",
4228 "ulis",
c44ddfa7 4229 2,
03c05291 4230 UPDATE,
4231 "l",
4232 LIST_TABLE,
5eaef520 4233 "list SET name = '%s', active = %s, publicflg = %s, hidden = %s, maillist = %s, grouplist = %s, gid = %s, acl_type = '%s', acl_id = %d, description = NVL('%s', CHR(0))",
44da57b2 4234 ulis2_fields,
03c05291 4235 10,
4236 "list_id = %d",
4237 1,
29028043 4238 NULL,
44da57b2 4239 &ulis2_validate,
4240 },
4241
4242 {
4243 /* Q_ULIS - UPDATE_LIST, v3 */
4244 "update_list",
4245 "ulis",
4246 3,
4247 UPDATE,
4248 "l",
4249 LIST_TABLE,
4250 "list SET name = '%s', active = %s, publicflg = %s, hidden = %s, maillist = %s, grouplist = %s, gid = %s, nfsgroup = %s, acl_type = '%s', acl_id = %d, description = NVL('%s', CHR(0))",
4251 ulis_fields,
4252 11,
4253 "list_id = %d",
4254 1,
4255 NULL,
03c05291 4256 &ulis_validate,
4257 },
4258
4259 {
4260 /* Q_DLIS - DELETE_LIST */
4261 "delete_list",
4262 "dlis",
c44ddfa7 4263 2,
03c05291 4264 DELETE,
4265 "l",
4266 LIST_TABLE,
7ac48069 4267 NULL,
03c05291 4268 dlis_fields,
4269 0,
4270 "list_id = %d",
4271 1,
29028043 4272 NULL,
03c05291 4273 &dlis_validate,
4274 },
4275
4276 {
4277 /* Q_AMTL - ADD_MEMBER_TO_LIST */
4278 "add_member_to_list",
4279 "amtl",
c44ddfa7 4280 2,
03c05291 4281 APPEND,
4282 0,
4283 IMEMBERS_TABLE,
4284 0,
4285 amtl_fields,
4286 3,
7ac48069 4287 NULL,
03c05291 4288 0,
29028043 4289 NULL,
03c05291 4290 &amtl_validate,
4291 },
4292
46b6f1f6 4293 {
4294 /* Q_ATML - ADD_TAGGED_MEMBER_TO_LIST */
4295 "add_tagged_member_to_list",
4296 "atml",
c44ddfa7 4297 2,
46b6f1f6 4298 APPEND,
4299 0,
4300 IMEMBERS_TABLE,
4301 0,
4302 atml_fields,
4303 4,
4304 NULL,
4305 0,
4306 NULL,
4307 &atml_validate,
4308 },
4309
4310 {
4311 /* Q_TMOL - TAG_MEMBER_OF_LIST */
4312 "tag_member_of_list",
4313 "tmol",
c44ddfa7 4314 2,
46b6f1f6 4315 UPDATE,
20541c25 4316 0,
46b6f1f6 4317 IMEMBERS_TABLE,
20541c25 4318 0,
46b6f1f6 4319 atml_fields,
4320 1,
20541c25 4321 0,
46b6f1f6 4322 3,
4323 NULL,
4324 &tmol_validate,
4325 },
4326
03c05291 4327 {
4328 /* Q_DMFL - DELETE_MEMBER_FROM_LIST */
4329 "delete_member_from_list",
4330 "dmfl",
c44ddfa7 4331 2,
03c05291 4332 DELETE,
4333 0,
4334 IMEMBERS_TABLE,
7ac48069 4335 NULL,
03c05291 4336 amtl_fields,
4337 0,
4338 0,
4339 3,
29028043 4340 NULL,
03c05291 4341 &dmfl_validate,
4342 },
4343
4344 {
4345 /* Q_GAUS - GET_ACE_USE */
4346 "get_ace_use",
4347 "gaus",
c44ddfa7 4348 2,
03c05291 4349 RETRIEVE,
4350 0,
4351 0,
4352 0,
4353 gaus_fields,
4354 2,
4355 0,
4356 2,
29028043 4357 NULL,
03c05291 4358 &gaus_validate,
4359 },
4360
d3051625 4361 {
4362 /* Q_GHBO - GET_HOST_BY_OWNER */
4363 "get_host_by_owner",
4364 "ghbo",
4365 2,
4366 RETRIEVE,
4367 0,
4368 0,
4369 0,
4370 ghbo_fields,
4371 1,
4372 0,
4373 2,
4374 NULL,
4375 &ghbo_validate,
4376 },
4377
03c05291 4378 {
4379 /* Q_QGLI - QUALIFIED_GET_LISTS */
4380 "qualified_get_lists",
4381 "qgli",
c44ddfa7 4382 2,
03c05291 4383 RETRIEVE,
4384 0,
4385 LIST_TABLE,
4386 0,
4387 qgli_fields,
4388 1,
4389 0,
4390 5,
29028043 4391 NULL,
03c05291 4392 &qgli_validate,
4393 },
4394
4395 {
4396 /* Q_GMOL - GET_MEMBERS_OF_LIST */
4397 "get_members_of_list",
4398 "gmol",
c44ddfa7 4399 2,
03c05291 4400 RETRIEVE,
7ac48069 4401 NULL,
03c05291 4402 IMEMBERS_TABLE,
7ac48069 4403 NULL,
03c05291 4404 gmol_fields,
4405 2,
7ac48069 4406 NULL,
03c05291 4407 1,
29028043 4408 NULL,
03c05291 4409 &gmol_validate,
4410 },
4411
4412 {
4413 /* Q_GEML - GET_END_MEMBERS_OF_LIST */
4414 "get_end_members_of_list",
4415 "geml",
c44ddfa7 4416 2,
03c05291 4417 RETRIEVE,
7ac48069 4418 NULL,
03c05291 4419 IMEMBERS_TABLE,
7ac48069 4420 NULL,
03c05291 4421 gmol_fields,
fd8d2149 4422 2,
7ac48069 4423 NULL,
03c05291 4424 1,
29028043 4425 NULL,
46b6f1f6 4426 &gmol_validate,
4427 },
4428
4429 {
4430 /* Q_GTML - GET_TAGGED_MEMBERS_OF_LIST */
4431 "get_tagged_members_of_list",
4432 "gtml",
c44ddfa7 4433 2,
46b6f1f6 4434 RETRIEVE,
4435 NULL,
4436 IMEMBERS_TABLE,
4437 NULL,
4438 gtml_fields,
4439 3,
4440 NULL,
4441 1,
4442 NULL,
4443 &gmol_validate,
03c05291 4444 },
5eaef520 4445
03c05291 4446 {
4447 /* Q_GLOM - GET_LISTS_OF_MEMBER */
4448 "get_lists_of_member",
4449 "glom",
c44ddfa7 4450 2,
03c05291 4451 RETRIEVE,
4452 0,
4453 IMEMBERS_TABLE,
4454 0,
4455 glom_fields,
4456 6,
4457 0,
4458 2,
29028043 4459 NULL,
03c05291 4460 &glom_validate,
4461 },
4462
4463 {
4464 /* Q_CMOL - COUNT_MEMBERS_OF_LIST */
4465 "count_members_of_list",
4466 "cmol",
c44ddfa7 4467 2,
03c05291 4468 RETRIEVE,
4469 0,
4470 IMEMBERS_TABLE,
4471 0,
4472 cmol_fields,
4473 1,
4474 0,
4475 1,
29028043 4476 NULL,
03c05291 4477 &cmol_validate,
4478 },
4479
d33e787c 4480 {
4481 /* Q_GSIN - GET_SERVER_INFO */
4482 "get_server_info",
4483 "gsin",
c44ddfa7 4484 2,
d33e787c 4485 RETRIEVE,
4486 "s",
03c05291 4487 SERVERS_TABLE,
4488 "name, update_int, target_file, script, dfgen, dfcheck, type, enable, inprogress, harderror, errmsg, acl_type, acl_id, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM servers",
d33e787c 4489 gsin_fields,
7ac4c1b1 4490 16,
263a36d4 4491 "name LIKE UPPER('%s')",
d33e787c 4492 1,
29028043 4493 "name",
d33e787c 4494 &gsin_validate,
4495 },
4496
4497 {
4498 /* Q_QGSV - QUALIFIED_GET_SERVER */
4499 "qualified_get_server",
4500 "qgsv",
c44ddfa7 4501 2,
d33e787c 4502 RETRIEVE,
4503 0,
03c05291 4504 SERVERS_TABLE,
d33e787c 4505 0,
4506 qgsv_fields,
4507 1,
4508 0,
4509 3,
29028043 4510 NULL,
d33e787c 4511 &qgsv_validate,
4512 },
4513
4514 {
4515 /* Q_ASIN - ADD_SERVER_INFO */
4516 "add_server_info",
4517 "asin",
c44ddfa7 4518 2,
d33e787c 4519 APPEND,
4520 "s",
03c05291 4521 SERVERS_TABLE,
5eaef520 4522 "INTO servers (name, update_int, target_file, script, type, enable, acl_type, acl_id) VALUES (UPPER('%s'), %s, '%s', '%s', '%s', %s, '%s', %d)",
d33e787c 4523 asin_fields,
4524 8,
7ac48069 4525 NULL,
d33e787c 4526 0,
29028043 4527 NULL,
d33e787c 4528 &asin_validate,
4529 },
4530
4531 {
4532 /* Q_USIN - UPDATE_SERVER_INFO */
4533 "update_server_info",
4534 "usin",
c44ddfa7 4535 2,
d33e787c 4536 UPDATE,
4537 "s",
03c05291 4538 SERVERS_TABLE,
4e5ec77f 4539 "servers SET update_int = %s, target_file = '%s', script = '%s', type = '%s', enable = %s, acl_type = '%s', acl_id = %d",
d33e787c 4540 asin_fields,
4541 7,
03c05291 4542 "name = UPPER('%s')",
d33e787c 4543 1,
29028043 4544 NULL,
d33e787c 4545 &asin_validate,
4546 },
4547
4548 {
4549 /* Q_RSVE - RESET_SERVER_ERROR */
4550 "reset_server_error",
4551 "rsve",
c44ddfa7 4552 2,
d33e787c 4553 UPDATE,
4554 "s",
03c05291 4555 SERVERS_TABLE,
4e5ec77f 4556 "servers SET harderror = 0, dfcheck = dfgen",
d33e787c 4557 dsin_fields,
4558 0,
03c05291 4559 "name = UPPER('%s')",
d33e787c 4560 1,
29028043 4561 NULL,
d33e787c 4562 &rsve_validate,
4563 },
4564
4565 {
4566 /* Q_SSIF - SET_SERVER_INTERNAL_FLAGS */
4567 "set_server_internal_flags",
4568 "ssif",
c44ddfa7 4569 2,
d33e787c 4570 UPDATE,
4571 "s",
03c05291 4572 SERVERS_TABLE,
5eaef520 4573 "servers SET dfgen = %s, dfcheck = %s, inprogress = %s, harderror = %s, errmsg = NVL('%s', CHR(0))",
d33e787c 4574 ssif_fields,
7ac4c1b1 4575 5,
03c05291 4576 "name = UPPER('%s')",
d33e787c 4577 1,
29028043 4578 NULL,
d33e787c 4579 &ssif_validate,
4580 },
4581
4582 {
4583 /* Q_DSIN - DELETE_SERVER_INFO */
4584 "delete_server_info",
4585 "dsin",
c44ddfa7 4586 2,
d33e787c 4587 DELETE,
4588 "s",
03c05291 4589 SERVERS_TABLE,
7ac48069 4590 NULL,
d33e787c 4591 dsin_fields,
4592 0,
03c05291 4593 "name = UPPER('%s')",
d33e787c 4594 1,
29028043 4595 NULL,
d33e787c 4596 &dsin_validate,
4597 },
4598
4599 {
5eaef520 4600 /* Q_GSHI - GET_SERVER_HOST_INFO */
d33e787c 4601 "get_server_host_info",
4602 "gshi",
c44ddfa7 4603 2,
d33e787c 4604 RETRIEVE,
4605 "sh",
03c05291 4606 SERVERHOSTS_TABLE,
4607 "sh.service, m.name, sh.enable, sh.override, sh.success, sh.inprogress, sh.hosterror, sh.hosterrmsg, sh.ltt, sh.lts, sh.value1, sh.value2, sh.value3, TO_CHAR(sh.modtime, 'DD-mon-YYYY HH24:MI:SS'), sh.modby, sh.modwith FROM serverhosts sh, machine m",
d33e787c 4608 gshi_fields,
4609 16,
263a36d4 4610 "sh.service LIKE UPPER('%s') AND m.name LIKE UPPER('%s') AND m.mach_id = sh.mach_id",
d33e787c 4611 2,
29028043 4612 "sh.service, m.name",
d33e787c 4613 &gshi_validate,
4614 },
4615
4616 {
135dcb80 4617 /* Q_QGSH - QUALIFIED_GET_SERVER_HOST */
d33e787c 4618 "qualified_get_server_host",
4619 "qgsh",
c44ddfa7 4620 2,
d33e787c 4621 RETRIEVE,
135dcb80 4622 0,
03c05291 4623 SERVERHOSTS_TABLE,
d33e787c 4624 0,
4625 qgsh_fields,
4626 2,
4627 0,
4628 6,
29028043 4629 NULL,
d33e787c 4630 &qgsh_validate,
4631 },
4632
4633 {
4634 /* Q_ASHI - ADD_SERVER_HOST_INFO */
4635 "add_server_host_info",
4636 "ashi",
c44ddfa7 4637 2,
d33e787c 4638 APPEND,
4639 "sh",
03c05291 4640 SERVERHOSTS_TABLE,
5eaef520 4641 "INTO serverhosts (service, mach_id, enable, value1, value2, value3) VALUES (UPPER('%s'), %d, %s, %s, %s, NVL('%s', CHR(0)))",
d33e787c 4642 ashi_fields,
4643 6,
7ac48069 4644 NULL,
d33e787c 4645 0,
29028043 4646 NULL,
d33e787c 4647 &ashi_validate,
4648 },
4649
4650 {
4651 /* Q_USHI - UPDATE_SERVER_HOST_INFO */
4652 "update_server_host_info",
4653 "ushi",
c44ddfa7 4654 2,
d33e787c 4655 UPDATE,
4656 "sh",
03c05291 4657 SERVERHOSTS_TABLE,
5eaef520 4658 "serverhosts SET enable = %s, value1 = %s, value2 = %s, value3 = NVL('%s', CHR(0))",
d33e787c 4659 ashi_fields,
4660 4,
03c05291 4661 "service = UPPER('%s') AND mach_id = %d",
d33e787c 4662 2,
29028043 4663 NULL,
d33e787c 4664 &ashi_validate,
4665 },
4666
4667 {
4668 /* Q_RSHE - RESET_SERVER_HOST_ERROR */
4669 "reset_server_host_error",
4670 "rshe",
c44ddfa7 4671 2,
d33e787c 4672 UPDATE,
4673 "sh",
03c05291 4674 SERVERHOSTS_TABLE,
4e5ec77f 4675 "serverhosts SET hosterror = 0",
d33e787c 4676 dshi_fields,
4677 0,
03c05291 4678 "service = UPPER('%s') AND mach_id = %d",
d33e787c 4679 2,
29028043 4680 NULL,
d33e787c 4681 &rshe_validate,
4682 },
4683
4684 {
4685 /* Q_SSHO - SET_SERVER_HOST_OVERRIDE */
4686 "set_server_host_override",
4687 "ssho",
c44ddfa7 4688 2,
d33e787c 4689 UPDATE,
4690 "sh",
03c05291 4691 SERVERHOSTS_TABLE,
4e5ec77f 4692 "serverhosts SET override = 1",
d33e787c 4693 dshi_fields,
4694 0,
03c05291 4695 "service = UPPER('%s') AND mach_id = %d",
d33e787c 4696 2,
29028043 4697 NULL,
d33e787c 4698 &ssho_validate,
4699 },
4700
4701 {
e41960ac 4702 /* Q_SSHI - SET_SERVER_HOST_INTERNAL */
d33e787c 4703 "set_server_host_internal",
4704 "sshi",
c44ddfa7 4705 2,
d33e787c 4706 UPDATE,
7ac4c1b1 4707 "s",
03c05291 4708 SERVERHOSTS_TABLE,
5eaef520 4709 "serverhosts SET override = %s, success = %s, inprogress = %s, hosterror = %s, hosterrmsg = NVL('%s', CHR(0)), ltt = %s, lts = %s",
d33e787c 4710 sshi_fields,
4711 7,
5eaef520 4712 "service = UPPER('%s') AND mach_id = %d",
d33e787c 4713 2,
29028043 4714 NULL,
d33e787c 4715 &sshi_validate,
4716 },
4717
4718 {
03c05291 4719 /* Q_DSHI - DELETE_SERVER_HOST_INFO */
4720 "delete_server_host_info",
4721 "dshi",
c44ddfa7 4722 2,
d33e787c 4723 DELETE,
03c05291 4724 "sh",
4725 SERVERHOSTS_TABLE,
7ac48069 4726 NULL,
03c05291 4727 dshi_fields,
d33e787c 4728 0,
03c05291 4729 "service = UPPER('%s') AND mach_id = %d",
4730 2,
29028043 4731 NULL,
03c05291 4732 &dshi_validate,
d33e787c 4733 },
4734
4735 {
5eaef520 4736 /* Q_GSLO - GET_SERVER_LOCATIONS */
d33e787c 4737 "get_server_locations",
4738 "gslo",
c44ddfa7 4739 2,
d33e787c 4740 RETRIEVE,
4741 "sh",
03c05291 4742 SERVERHOSTS_TABLE,
4743 "sh.service, m.name FROM serverhosts sh, machine m",
d33e787c 4744 gslo_fields,
4745 2,
263a36d4 4746 "sh.service LIKE UPPER('%s') AND sh.mach_id = m.mach_id",
d33e787c 4747 1,
29028043 4748 "sh.service, m.name",
263a36d4 4749 NULL,
d33e787c 4750 },
4751
4752 {
5eaef520 4753 /* Q_GFSL - GET_FILESYS_BY_LABEL */
d33e787c 4754 "get_filesys_by_label",
4755 "gfsl",
c44ddfa7 4756 2,
d33e787c 4757 RETRIEVE,
4758 "fs",
03c05291 4759 FILESYS_TABLE,
4760 "fs.label, fs.type, m.name, fs.name, fs.mount, fs.rwaccess, fs.comments, u.login, l.name, fs.createflg, fs.lockertype, TO_CHAR(fs.modtime, 'DD-mon-YYYY HH24:MI:SS'), fs.modby, fs.modwith FROM filesys fs, machine m, users u, list l",
d33e787c 4761 gfsl_fields,
4762 14,
263a36d4 4763 "fs.label LIKE '%s' AND fs.mach_id = m.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
d33e787c 4764 1,
29028043 4765 "fs.label",
5a8887d8 4766 &gfsl_validate,
d33e787c 4767 },
4768
4769 {
5eaef520 4770 /* Q_GFSM - GET_FILESYS_BY_MACHINE */
d33e787c 4771 "get_filesys_by_machine",
4772 "gfsm",
c44ddfa7 4773 2,
d33e787c 4774 RETRIEVE,
4775 "fs",
03c05291 4776 FILESYS_TABLE,
4777 "fs.label, fs.type, m.name, fs.name, fs.mount, fs.rwaccess, fs.comments, u.login, l.name, fs.createflg, fs.lockertype, TO_CHAR(fs.modtime, 'DD-mon-YYYY HH24:MI:SS'), fs.modby, fs.modwith FROM filesys fs, machine m, users u, list l",
d33e787c 4778 gfsm_fields,
4779 14,
4e5ec77f 4780 "fs.mach_id = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
d33e787c 4781 1,
29028043 4782 "fs.label",
d33e787c 4783 &gfsm_validate,
4784 },
4785
88343c5e 4786 {
5eaef520 4787 /* Q_GFSN - GET_FILESYS_BY_NFSPHYS */
88343c5e 4788 "get_filesys_by_nfsphys",
4789 "gfsn",
c44ddfa7 4790 2,
88343c5e 4791 RETRIEVE,
4792 "fs",
03c05291 4793 FILESYS_TABLE,
4794 "fs.label, fs.type, m.name, fs.name, fs.mount, fs.rwaccess, fs.comments, u.login, l.name, fs.createflg, fs.lockertype, TO_CHAR(fs.modtime, 'DD-mon-YYYY HH24:MI:SS'), fs.modby, fs.modwith FROM filesys fs, machine m, users u, list l, nfsphys np",
88343c5e 4795 gfsn_fields,
4796 14,
cc1bca5c 4797 "fs.mach_id = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id AND np.nfsphys_id = fs.phys_id AND np.dir LIKE '%s'",
88343c5e 4798 2,
29028043 4799 "fs.label",
99e09b48 4800 &gfsn_validate,
88343c5e 4801 },
4802
d33e787c 4803 {
5eaef520 4804 /* Q_GFSG - GET_FILESYS_BY_GROUP */
d33e787c 4805 "get_filesys_by_group",
4806 "gfsg",
c44ddfa7 4807 2,
d33e787c 4808 RETRIEVE,
4809 "fs",
03c05291 4810 FILESYS_TABLE,
4811 "fs.label, fs.type, m.name, fs.name, fs.mount, fs.rwaccess, fs.comments, u.login, l.name, fs.createflg, fs.lockertype, TO_CHAR(fs.modtime, 'DD-mon-YYYY HH24:MI:SS'), fs.modby, fs.modwith FROM filesys fs, machine m, users u, list l",
d33e787c 4812 gfsg_fields,
4813 14,
4e5ec77f 4814 "fs.owners = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
d33e787c 4815 1,
29028043 4816 "fs.label",
d33e787c 4817 &gfsg_validate,
4818 },
4819
4ffa124a 4820 {
76f86976 4821 /* Q_GFSP - GET_FILESYS_BY_PATH */
4ffa124a 4822 "get_filesys_by_path",
4823 "gfsp",
c44ddfa7 4824 2,
4ffa124a 4825 RETRIEVE,
4826 "fs",
03c05291 4827 FILESYS_TABLE,
4828 "fs.label, fs.type, m.name, fs.name, fs.mount, fs.rwaccess, fs.comments, u.login, l.name, fs.createflg, fs.lockertype, TO_CHAR(fs.modtime, 'DD-mon-YYYY HH24:MI:SS'), fs.modby, fs.modwith FROM filesys fs, machine m, users u, list l",
4ffa124a 4829 gfsp_fields,
4830 14,
263a36d4 4831 "fs.name LIKE '%s' AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = list_id",
4ffa124a 4832 1,
29028043 4833 "fs.label",
263a36d4 4834 &VDfix_modby,
4ffa124a 4835 },
5eaef520 4836
d33e787c 4837 {
45bf7573 4838 /* Q_AFIL - ADD_FILESYS */ /* uses prefetch_value() for filsys_id */
d33e787c 4839 "add_filesys",
4840 "afil",
c44ddfa7 4841 2,
d33e787c 4842 APPEND,
4843 "fs",
03c05291 4844 FILESYS_TABLE,
d4296047 4845 "INTO filesys (label, type, mach_id, name, mount, rwaccess, comments, owner, owners, createflg, lockertype, filsys_id) VALUES ('%s', '%s', %d, NVL('%s', CHR(0)), NVL('%s', CHR(0)), '%s', NVL('%s', CHR(0)), %d, %d, %s, '%s', %s)",
d33e787c 4846 afil_fields,
4847 11,
45bf7573 4848 0,
d33e787c 4849 0,
29028043 4850 NULL,
d33e787c 4851 &afil_validate,
4852 },
4853
4854 {
4855 /* Q_UFIL - UPDATE_FILESYS */
4856 "update_filesys",
4857 "ufil",
c44ddfa7 4858 2,
d33e787c 4859 UPDATE,
4860 "fs",
03c05291 4861 FILESYS_TABLE,
d4296047 4862 "filesys SET label = '%s', type = '%s', mach_id = %d, name = NVL('%s', CHR(0)), mount = NVL('%s', CHR(0)), rwaccess = '%s', comments = NVL('%s', CHR(0)), owner = %d, owners = %d, createflg = %s, lockertype = '%s'",
d33e787c 4863 ufil_fields,
4864 11,
4e5ec77f 4865 "filsys_id = %d",
d33e787c 4866 1,
29028043 4867 NULL,
5eaef520 4868 &ufil_validate,
d33e787c 4869 },
4870
4871 {
4872 /* Q_DFIL - DELETE_FILESYS */
4873 "delete_filesys",
4874 "dfil",
c44ddfa7 4875 2,
d33e787c 4876 DELETE,
4877 "fs",
03c05291 4878 FILESYS_TABLE,
7ac48069 4879 NULL,
d33e787c 4880 dfil_fields,
4881 0,
4e5ec77f 4882 "filsys_id = %d",
d33e787c 4883 1,
29028043 4884 NULL,
d33e787c 4885 &dfil_validate,
4886 },
4887
95127ba8 4888 {
5eaef520 4889 /* Q_GFGM - GET_FSGROUP_MEMBERS */
95127ba8 4890 "get_fsgroup_members",
4891 "gfgm",
c44ddfa7 4892 2,
95127ba8 4893 RETRIEVE,
4894 "fg",
03c05291 4895 FSGROUP_TABLE,
4896 "fs.label, fg.key FROM fsgroup fg, filesys fs",
95127ba8 4897 gfgm_fields,
4898 2,
4e5ec77f 4899 "fg.group_id = %d AND fs.filsys_id = fg.filsys_id",
95127ba8 4900 1,
29028043 4901 "fs.label, fg.key",
95127ba8 4902 &gfgm_validate,
4903 },
4904
4905 {
76f86976 4906 /* Q_AFTG - ADD_FILESYS_TO_FSGROUP */
95127ba8 4907 "add_filesys_to_fsgroup",
4908 "aftg",
c44ddfa7 4909 2,
95127ba8 4910 APPEND,
4911 "fg",
03c05291 4912 FSGROUP_TABLE,
5eaef520 4913 "INTO fsgroup (group_id, filsys_id, key) VALUES (%d, %d, '%s')",
95127ba8 4914 gfgm_fields,
76f86976 4915 3,
7ac48069 4916 NULL,
76f86976 4917 0,
29028043 4918 NULL,
95127ba8 4919 &aftg_validate,
4920 },
4921
4922 {
4923 /* Q_RFFG - REMOVE_FILESYS_FROM_FSGROUP */
4924 "remove_filesys_from_fsgroup",
4925 "rffg",
c44ddfa7 4926 2,
95127ba8 4927 DELETE,
4928 "fg",
03c05291 4929 FSGROUP_TABLE,
7ac48069 4930 NULL,
95127ba8 4931 gfgm_fields,
4932 0,
4e5ec77f 4933 "group_id = %d AND filsys_id = %d",
95127ba8 4934 2,
29028043 4935 NULL,
95127ba8 4936 &aftg_validate,
4937 },
4938
d33e787c 4939 {
5eaef520 4940 /* Q_GANF - GET_ALL_NFSPHYS */
d33e787c 4941 "get_all_nfsphys",
4942 "ganf",
c44ddfa7 4943 2,
d33e787c 4944 RETRIEVE,
4945 "np",
03c05291 4946 NFSPHYS_TABLE,
4947 "m.name, np.dir, np.device, np.status, np.allocated, np.partsize, TO_CHAR(np.modtime, 'DD-mon-YYYY HH24:MI:SS'), np.modby, np.modwith FROM nfsphys np, machine m",
d33e787c 4948 ganf_fields,
4949 9,
4e5ec77f 4950 "m.mach_id = np.mach_id",
d33e787c 4951 0,
29028043 4952 "m.name, np.dir",
4953 &VDfix_modby,
d33e787c 4954 },
4955
4956 {
5eaef520 4957 /* Q_GNFP - GET_NFSPHYS */
d33e787c 4958 "get_nfsphys",
4959 "gnfp",
c44ddfa7 4960 2,
d33e787c 4961 RETRIEVE,
4962 "np",
03c05291 4963 NFSPHYS_TABLE,
4964 "m.name, np.dir, np.device, np.status, np.allocated, np.partsize, TO_CHAR(np.modtime, 'DD-mon-YYYY HH24:MI:SS'), np.modby, np.modwith FROM nfsphys np, machine m",
d33e787c 4965 gnfp_fields,
4966 9,
263a36d4 4967 "np.mach_id = %d AND np.dir LIKE '%s' AND m.mach_id = np.mach_id",
d33e787c 4968 2,
29028043 4969 "m.name, np.dir",
d33e787c 4970 &gnfp_validate,
4971 },
4972
4973 {
45bf7573 4974 /* Q_ANFP - ADD_NFSPHYS */ /* uses prefetch_value() for nfsphys_id */
d33e787c 4975 "add_nfsphys",
4976 "anfp",
c44ddfa7 4977 2,
d33e787c 4978 APPEND,
4979 "np",
03c05291 4980 NFSPHYS_TABLE,
5eaef520 4981 "INTO nfsphys (mach_id, dir, device, status, allocated, partsize, nfsphys_id) VALUES (%d, '%s', NVL('%s', CHR(0)), %s, %s, %s, %s)",
d33e787c 4982 ganf_fields,
4983 6,
45bf7573 4984 0,
d33e787c 4985 0,
29028043 4986 NULL,
d33e787c 4987 &anfp_validate,
4988 },
4989
4990 {
4991 /* Q_UNFP - UPDATE_NFSPHYS */
4992 "update_nfsphys",
4993 "unfp",
c44ddfa7 4994 2,
d33e787c 4995 UPDATE,
4996 "np",
03c05291 4997 NFSPHYS_TABLE,
5eaef520 4998 "nfsphys SET device = NVL('%s', CHR(0)), status = %s, allocated = %s, partsize = %s",
135dcb80 4999 ganf_fields,
d33e787c 5000 4,
5eaef520 5001 "mach_id = %d AND dir = '%s'",
d33e787c 5002 2,
29028043 5003 NULL,
45bf7573 5004 &unfp_validate,
d33e787c 5005 },
5006
5007 {
5008 /* Q_AJNF - ADJUST_NFSPHYS_ALLOCATION */
5009 "adjust_nfsphys_allocation",
5010 "ajnf",
c44ddfa7 5011 2,
d33e787c 5012 UPDATE,
5013 "np",
03c05291 5014 NFSPHYS_TABLE,
4e5ec77f 5015 "nfsphys SET allocated = allocated + %s",
99e09b48 5016 ajnf_fields,
d33e787c 5017 1,
4e5ec77f 5018 "mach_id = %d AND dir = '%s'",
d33e787c 5019 2,
29028043 5020 NULL,
f802fd0d 5021 &ajnf_validate,
d33e787c 5022 },
5023
5024 {
5025 /* Q_DNFP - DELETE_NFSPHYS */
5026 "delete_nfsphys",
5027 "dnfp",
c44ddfa7 5028 2,
d33e787c 5029 DELETE,
5030 "np",
03c05291 5031 NFSPHYS_TABLE,
7ac48069 5032 NULL,
d33e787c 5033 dnfp_fields,
5034 0,
4e5ec77f 5035 "mach_id = %d AND dir = '%s'",
d33e787c 5036 2,
29028043 5037 NULL,
d33e787c 5038 &dnfp_validate,
5039 },
5040
368be132 5041 {
5eaef520 5042 /* Q_GQOT - GET_QUOTA */
368be132 5043 "get_quota",
5044 "gqot",
c44ddfa7 5045 2,
368be132 5046 RETRIEVE,
5047 "q",
03c05291 5048 QUOTA_TABLE,
5049 "fs.label, q.type, q.entity_id, q.quota, q.phys_id, m.name, TO_CHAR(q.modtime, 'DD-mon-YYYY HH24:MI:SS'), q.modby, q.modwith FROM quota q, filesys fs, machine m",
368be132 5050 gqot_fields,
5051 9,
263a36d4 5052 "fs.label LIKE '%s' AND q.type = '%s' AND q.entity_id = %d AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id",
368be132 5053 3,
29028043 5054 NULL,
368be132 5055 &gqot_validate,
5056 },
5057
5058 {
5eaef520 5059 /* Q_GQBF - GET_QUOTA_BY_FILESYS */
368be132 5060 "get_quota_by_filesys",
5061 "gqbf",
c44ddfa7 5062 2,
368be132 5063 RETRIEVE,
5064 "q",
03c05291 5065 QUOTA_TABLE,
5066 "fs.label, q.type, q.entity_id, q.quota, q.phys_id, m.name, TO_CHAR(q.modtime, 'DD-mon-YYYY HH24:MI:SS'), q.modby, q.modwith FROM quota q, filesys fs, machine m",
368be132 5067 gqbf_fields,
5068 9,
263a36d4 5069 "fs.label LIKE '%s' AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id",
368be132 5070 1,
29028043 5071 "fs.label, q.type",
368be132 5072 &gqbf_validate,
5073 },
5074
5075 {
135dcb80 5076 /* Q_AQOT - ADD_QUOTA */ /* prefetch_filsys() gets last 1 value */
368be132 5077 "add_quota",
5078 "aqot",
c44ddfa7 5079 2,
368be132 5080 APPEND,
135dcb80 5081 0,
03c05291 5082 QUOTA_TABLE,
135dcb80 5083 "INTO quota (filsys_id, type, entity_id, quota, phys_id) VALUES ('%s', %d, %d, %s, %s)",
368be132 5084 aqot_fields,
135dcb80 5085 4,
7ac48069 5086 NULL,
76f86976 5087 0,
29028043 5088 NULL,
368be132 5089 &aqot_validate,
5090 },
5091
5092 {
5093 /* Q_UQOT - UPDATE_QUOTA */
5094 "update_quota",
5095 "uqot",
c44ddfa7 5096 2,
368be132 5097 UPDATE,
135dcb80 5098 0,
03c05291 5099 QUOTA_TABLE,
4e5ec77f 5100 "quota SET quota = %s",
368be132 5101 aqot_fields,
5102 1,
135dcb80 5103 0,
368be132 5104 3,
29028043 5105 NULL,
368be132 5106 &uqot_validate,
5107 },
5108
5109 {
5110 /* Q_DQOT - DELETE_QUOTA */
5111 "delete_quota",
5112 "dqot",
c44ddfa7 5113 2,
368be132 5114 DELETE,
135dcb80 5115 0,
03c05291 5116 QUOTA_TABLE,
7ac48069 5117 NULL,
368be132 5118 aqot_fields,
5119 0,
135dcb80 5120 0,
368be132 5121 3,
29028043 5122 NULL,
368be132 5123 &dqot_validate,
5124 },
5125
d33e787c 5126 {
5eaef520 5127 /* Q_GNFQ - GET_NFS_QUOTAS */
88343c5e 5128 "get_nfs_quota",
d33e787c 5129 "gnfq",
c44ddfa7 5130 2,
d33e787c 5131 RETRIEVE,
368be132 5132 "q",
03c05291 5133 QUOTA_TABLE,
5134 "fs.label, u.login, q.quota, q.phys_id, m.name, TO_CHAR(q.modtime, 'DD-mon-YYYY HH24:MI:SS'), q.modby, q.modwith FROM quota q, filesys fs, users u, machine m",
d33e787c 5135 gnfq_fields,
5136 8,
263a36d4 5137 "fs.label LIKE '%s' AND q.type = 'USER' AND q.entity_id = u.users_id AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id AND u.login = '%s'",
88343c5e 5138 2,
29028043 5139 "fs.label, u.login",
d33e787c 5140 &gnfq_validate,
5141 },
5142
5143 {
5eaef520 5144 /* Q_GNQP - GET_NFS_QUOTAS_BY_PARTITION */
d33e787c 5145 "get_nfs_quotas_by_partition",
5146 "gnqp",
c44ddfa7 5147 2,
d33e787c 5148 RETRIEVE,
368be132 5149 "q",
03c05291 5150 QUOTA_TABLE,
5151 "fs.label, u.login, q.quota, np.dir, m.name FROM quota q, filesys fs, users u, nfsphys np, machine m",
d33e787c 5152 gnqp_fields,
5153 5,
263a36d4 5154 "np.mach_id = %d AND np.dir LIKE '%s' AND q.phys_id = np.nfsphys_id AND fs.filsys_id = q.filsys_id AND q.type = 'USER' AND u.users_id = q.entity_id AND m.mach_id = np.mach_id",
d33e787c 5155 2,
29028043 5156 "fs.label",
263a36d4 5157 NULL,
d33e787c 5158 },
5159
d33e787c 5160 {
135dcb80 5161 /* Q_ANFQ - ADD_NFS_QUOTA */ /* prefetch_filsys() gets last 1 value */
d33e787c 5162 "add_nfs_quota",
5163 "anfq",
c44ddfa7 5164 2,
d33e787c 5165 APPEND,
135dcb80 5166 0,
03c05291 5167 QUOTA_TABLE,
135dcb80 5168 "INTO quota (type, filsys_id, entity_id, quota, phys_id ) VALUES ('USER', %d, %d, %s, %s)",
d33e787c 5169 anfq_fields,
135dcb80 5170 3,
7ac48069 5171 NULL,
76f86976 5172 0,
29028043 5173 NULL,
d33e787c 5174 &anfq_validate,
5175 },
5176
5177 {
5eaef520 5178 /* Q_UNFQ - UPDATE_NFS_QUOTA */
d33e787c 5179 "update_nfs_quota",
5180 "unfq",
c44ddfa7 5181 2,
d33e787c 5182 UPDATE,
135dcb80 5183 0,
03c05291 5184 QUOTA_TABLE,
4e5ec77f 5185 "quota SET quota = %s",
d33e787c 5186 anfq_fields,
5187 1,
135dcb80 5188 0,
d33e787c 5189 2,
29028043 5190 NULL,
d33e787c 5191 &unfq_validate,
5192 },
5193
5194 {
5195 /* Q_DNFQ - DELETE_NFS_QUOTA */
5196 "delete_nfs_quota",
5197 "dnfq",
c44ddfa7 5198 2,
d33e787c 5199 DELETE,
135dcb80 5200 0,
03c05291 5201 QUOTA_TABLE,
7ac48069 5202 NULL,
d33e787c 5203 anfq_fields,
5204 0,
135dcb80 5205 0,
d33e787c 5206 2,
29028043 5207 NULL,
d33e787c 5208 &dnfq_validate,
5209 },
5210
d33e787c 5211 {
5212 /* Q_GZCL - GET_ZEPHYR_CLASS */
5213 "get_zephyr_class",
5214 "gzcl",
c44ddfa7 5215 2,
d33e787c 5216 RETRIEVE,
5217 "z",
03c05291 5218 ZEPHYR_TABLE,
5219 "class, xmt_type, xmt_id, sub_type, sub_id, iws_type, iws_id, iui_type, iui_id, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM zephyr",
d33e787c 5220 gzcl_fields,
5221 12,
263a36d4 5222 "class LIKE '%s'",
d33e787c 5223 1,
29028043 5224 "class",
d33e787c 5225 &gzcl_validate,
03c05291 5226 },
d33e787c 5227
5228 {
5229 /* Q_AZCL - ADD_ZEPHYR_CLASS */
5230 "add_zephyr_class",
5231 "azcl",
c44ddfa7 5232 2,
d33e787c 5233 APPEND,
5234 "z",
03c05291 5235 ZEPHYR_TABLE,
5eaef520 5236 "INTO zephyr (class, xmt_type, xmt_id, sub_type, sub_id, iws_type, iws_id, iui_type, iui_id) VALUES ('%s', '%s', %d, '%s', %d, '%s', %d, '%s', %d)",
d33e787c 5237 azcl_fields,
5238 9,
5239 0,
5240 0,
29028043 5241 NULL,
d33e787c 5242 &azcl_validate,
5eaef520 5243 },
d33e787c 5244
5245 {
5246 /* Q_UZCL - UPDATE_ZEPHYR_CLASS */
5247 "update_zephyr_class",
5248 "uzcl",
c44ddfa7 5249 2,
d33e787c 5250 UPDATE,
5251 "z",
03c05291 5252 ZEPHYR_TABLE,
135dcb80 5253 "zephyr SET class = '%s', xmt_type = '%s', xmt_id = %d, sub_type = '%s', sub_id = %d, iws_type = '%s', iws_id = %d, iui_type = '%s', iui_id = %d",
d33e787c 5254 uzcl_fields,
5255 9,
99e09b48 5256 "class = '%s'",
d33e787c 5257 1,
29028043 5258 NULL,
d33e787c 5259 &uzcl_validate,
5eaef520 5260 },
d33e787c 5261
5262 {
5263 /* Q_DZCL - DELETE_ZEPHYR_CLASS */
5264 "delete_zephyr_class",
5265 "dzcl",
c44ddfa7 5266 2,
d33e787c 5267 DELETE,
5268 "z",
03c05291 5269 ZEPHYR_TABLE,
d33e787c 5270 0,
5271 uzcl_fields,
5272 0,
99e09b48 5273 "class = '%s'",
d33e787c 5274 1,
29028043 5275 NULL,
d33e787c 5276 &dzcl_validate,
5eaef520 5277 },
fd5b2340 5278
03c05291 5279 {
5eaef520 5280 /* Q_GSHA - GET_SERVER_HOST_ACCESS */
03c05291 5281 "get_server_host_access",
5282 "gsha",
c44ddfa7 5283 2,
03c05291 5284 RETRIEVE,
5285 "ha",
5286 HOSTACCESS_TABLE,
5287 "m.name, ha.acl_type, ha.acl_id, TO_CHAR(ha.modtime, 'DD-mon-YYYY HH24:MI:SS'), ha.modby, ha.modwith FROM hostaccess ha, machine m",
5288 gsha_fields,
5289 6,
263a36d4 5290 "m.name LIKE UPPER('%s') AND ha.mach_id = m.mach_id",
03c05291 5291 1,
29028043 5292 "m.name",
03c05291 5293 &gsha_validate,
5294 },
5295
5296 {
5297 /* Q_ASHA - ADD_SERVER_HOST_ACCESS */
5298 "add_server_host_access",
5299 "asha",
c44ddfa7 5300 2,
03c05291 5301 APPEND,
5302 "ha",
5303 HOSTACCESS_TABLE,
5eaef520 5304 "INTO hostaccess (mach_id, acl_type, acl_id) VALUES (%d, '%s', %d)",
03c05291 5305 asha_fields,
5306 3,
5307 0,
5308 0,
29028043 5309 NULL,
03c05291 5310 &asha_validate,
5311 },
5312
5313 {
5314 /* Q_USHA - UPDATE_SERVER_HOST_ACCESS */
5315 "update_server_host_access",
5316 "usha",
c44ddfa7 5317 2,
03c05291 5318 UPDATE,
5319 "ha",
5320 HOSTACCESS_TABLE,
5321 "hostaccess SET acl_type = '%s', acl_id = %d",
5322 asha_fields,
5323 2,
5324 "mach_id = %d",
5325 1,
29028043 5326 NULL,
03c05291 5327 &asha_validate,
5328 },
5329
5330 {
5331 /* Q_DSHA - DELETE_SERVER_HOST_ACCESS */
5332 "delete_server_host_access",
5333 "dsha",
c44ddfa7 5334 2,
03c05291 5335 DELETE,
5336 "ha",
5337 HOSTACCESS_TABLE,
5338 0,
5339 asha_fields,
5340 0,
5341 "mach_id = %d",
5342 1,
29028043 5343 NULL,
03c05291 5344 &VDmach,
5345 },
5346
46b6f1f6 5347 {
5348 /* Q_GACL - GET_ACL */
5349 "get_acl",
5350 "gacl",
c44ddfa7 5351 2,
46b6f1f6 5352 RETRIEVE,
5353 "ac",
5354 ACL_TABLE,
5355 "m.name, ac.target, ac.kind, l.name FROM acl ac, machine m, list l",
5356 gacl_fields,
5357 4,
5358 "m.mach_id = %d AND m.mach_id = ac.mach_id AND ac.target LIKE '%s' AND l.list_id = ac.list_id",
5359 2,
5360 "m.name, ac.target, ac.kind",
5361 &gacl_validate,
5362 },
5363
5364 {
5365 /* Q_AACL - ADD_ACL */
5366 "add_acl",
5367 "aacl",
c44ddfa7 5368 2,
46b6f1f6 5369 APPEND,
5370 "ac",
5371 ACL_TABLE,
5372 "INTO acl (mach_id, target, kind, list_id) VALUES (%d, '%s', '%s', %d)",
5373 aacl_fields,
5374 4,
5375 0,
5376 0,
5377 NULL,
5378 &aacl_validate,
5379 },
5380
5381 {
5382 /* Q_DACL - DELETE_ACL */
5383 "delete_acl",
5384 "dacl",
c44ddfa7 5385 2,
46b6f1f6 5386 DELETE,
5387 "ac",
5388 ACL_TABLE,
5389 0,
5390 dacl_fields,
5391 0,
5392 "mach_id = %d AND target = '%s'",
5393 2,
5394 NULL,
5395 &gacl_validate,
5396 },
5397
d33e787c 5398 {
5399 /* Q_GSVC - GET_SERVICE */
5400 "get_service",
5401 "gsvc",
c44ddfa7 5402 2,
d33e787c 5403 RETRIEVE,
0c345c78 5404 "ss",
03c05291 5405 SERVICES_TABLE,
5406 "name, protocol, port, description, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM services",
fd5b2340 5407 gsvc_fields,
d33e787c 5408 7,
263a36d4 5409 "name LIKE '%s'",
fd5b2340 5410 1,
29028043 5411 "name",
263a36d4 5412 &VDfix_modby,
d33e787c 5413 },
5414
5415 {
5416 /* Q_ASVC - ADD_SERVICE */
5417 "add_service",
5418 "asvc",
c44ddfa7 5419 2,
d33e787c 5420 APPEND,
0c345c78 5421 "ss",
03c05291 5422 SERVICES_TABLE,
5eaef520 5423 "INTO services (name, protocol, port, description) VALUES ('%s', '%s', %s, NVL('%s', CHR(0)))",
fd5b2340 5424 asvc_fields,
d33e787c 5425 4,
7ac48069 5426 NULL,
d33e787c 5427 0,
29028043 5428 NULL,
d33e787c 5429 &asvc_validate,
5430 },
5431
5432 {
5433 /* Q_DSVC - DELETE_SERVICE */
5434 "delete_service",
5435 "dsvc",
c44ddfa7 5436 2,
d33e787c 5437 DELETE,
0c345c78 5438 "ss",
03c05291 5439 SERVICES_TABLE,
d33e787c 5440 0,
fd5b2340 5441 asvc_fields,
d33e787c 5442 0,
99e09b48 5443 "name = '%s'",
d33e787c 5444 1,
29028043 5445 NULL,
fd5b2340 5446 &asvc_validate,
d33e787c 5447 },
fd5b2340 5448
d33e787c 5449 {
2884200f 5450 /* Q_GPRN - GET_PRINTER */
5451 "get_printer",
5452 "gprn",
c44ddfa7 5453 2,
d33e787c 5454 RETRIEVE,
2884200f 5455 "pr",
5456 PRINTERS_TABLE,
e5a63571 5457 "pr.name, pr.type, pr.hwtype, pr.duplexname, m1.name, m2.name, m3.name, pr.rp, m4.name, pr.ka, pr.pc, l1.name, l2.name, pr.banner, pr.location, pr.contact, TO_CHAR(pr.modtime, 'DD-mon-YYYY HH24:MI:SS'), pr.modby, pr.modwith FROM printers pr, machine m1, machine m2, machine m3, machine m4, list l1, list l2",
2884200f 5458 gprn_fields,
e5a63571 5459 19,
2884200f 5460 "pr.name LIKE '%s' AND m1.mach_id = pr.mach_id AND m2.mach_id = pr.loghost AND m3.mach_id = pr.rm AND m4.mach_id = pr.rq AND l1.list_id = pr.ac AND l2.list_id = pr.lpc_acl",
d33e787c 5461 1,
2884200f 5462 "pr.name",
5463 &VDfix_modby,
d33e787c 5464 },
5465
5466 {
2884200f 5467 /* Q_GPBD - GET_PRINTER_BY_DUPLEXNAME */
5468 "get_printer_by_duplexname",
5469 "gpbd",
c44ddfa7 5470 2,
2884200f 5471 RETRIEVE,
5472 "pr",
5473 PRINTERS_TABLE,
e5a63571 5474 "pr.name, pr.type, pr.hwtype, pr.duplexname, m1.name, m2.name, m3.name, pr.rp, m4.name, pr.ka, pr.pc, l1.name, l2.name, pr.banner, pr.location, pr.contact, TO_CHAR(pr.modtime, 'DD-mon-YYYY HH24:MI:SS'), pr.modby, pr.modwith FROM printers pr, machine m1, machine m2, machine m3, machine m4, list l1, list l2",
2884200f 5475 gpbd_fields,
e5a63571 5476 19,
2884200f 5477 "pr.duplexname LIKE '%s' AND m1.mach_id = pr.mach_id AND m2.mach_id = pr.loghost AND m3.mach_id = pr.rm AND m4.mach_id = pr.rq AND l1.list_id = pr.ac AND l2.list_id = pr.lpc_acl",
5478 1,
5479 "pr.name",
5480 &VDfix_modby,
fd5b2340 5481 },
5482
5483 {
2884200f 5484 /* Q_GPBE - GET_PRINTER_BY_ETHERNET */
5485 "get_printer_by_ethernet",
5486 "gpbe",
c44ddfa7 5487 2,
2884200f 5488 RETRIEVE,
5489 "pr",
5490 PRINTERS_TABLE,
e5a63571 5491 "pr.name, pr.type, pr.hwtype, pr.duplexname, m1.name, m2.name, m3.name, pr.rp, m4.name, pr.ka, pr.pc, l1.name, l2.name, pr.banner, pr.location, pr.contact, TO_CHAR(pr.modtime, 'DD-mon-YYYY HH24:MI:SS'), pr.modby, pr.modwith FROM printers pr, machine m1, machine m2, machine m3, machine m4, list l1, list l2",
2884200f 5492 gpbd_fields,
e5a63571 5493 19,
59841cdb 5494 "m1.hwaddr LIKE LOWER('%s') AND m1.mach_id = pr.mach_id AND m2.mach_id = pr.loghost AND m3.mach_id = pr.rm AND m4.mach_id = pr.rq AND l1.list_id = pr.ac AND l2.list_id = pr.lpc_acl",
fd5b2340 5495 1,
2884200f 5496 "pr.name",
5497 &VDfix_modby,
fd5b2340 5498 },
5499
5500 {
2884200f 5501 /* Q_GPBH - GET_PRINTER_BY_HOSTNAME */
5502 "get_printer_by_hostname",
5503 "gpbh",
c44ddfa7 5504 2,
fd5b2340 5505 RETRIEVE,
2884200f 5506 "pr",
5507 PRINTERS_TABLE,
e5a63571 5508 "pr.name, pr.type, pr.hwtype, pr.duplexname, m1.name, m2.name, m3.name, pr.rp, m4.name, pr.ka, pr.pc, l1.name, l2.name, pr.banner, pr.location, pr.contact, TO_CHAR(pr.modtime, 'DD-mon-YYYY HH24:MI:SS'), pr.modby, pr.modwith FROM printers pr, machine m1, machine m2, machine m3, machine m4, list l1, list l2",
2884200f 5509 gpbh_fields,
e5a63571 5510 19,
2884200f 5511 "m1.name LIKE UPPER('%s') AND m1.mach_id = pr.mach_id AND m2.mach_id = pr.loghost AND m3.mach_id = pr.rm AND m4.mach_id = pr.rq AND l1.list_id = pr.ac AND l2.list_id = pr.lpc_acl",
fd5b2340 5512 1,
2884200f 5513 "pr.name",
263a36d4 5514 &VDfix_modby,
d33e787c 5515 },
5516
5517 {
2884200f 5518 /* Q_GPBR - GET_PRINTER_BY_RM */
5519 "get_printer_by_rm",
5520 "gpbr",
c44ddfa7 5521 2,
2884200f 5522 RETRIEVE,
5523 "pr",
5524 PRINTERS_TABLE,
e5a63571 5525 "pr.name, pr.type, pr.hwtype, pr.duplexname, m1.name, m2.name, m3.name, pr.rp, m4.name, pr.ka, pr.pc, l1.name, l2.name, pr.banner, pr.location, pr.contact, TO_CHAR(pr.modtime, 'DD-mon-YYYY HH24:MI:SS'), pr.modby, pr.modwith FROM printers pr, machine m1, machine m2, machine m3, machine m4, list l1, list l2",
2884200f 5526 gpbr_fields,
e5a63571 5527 19,
2884200f 5528 "m3.name LIKE UPPER('%s') AND m1.mach_id = pr.mach_id AND m2.mach_id = pr.loghost AND m3.mach_id = pr.rm AND m4.mach_id = pr.rq AND l1.list_id = pr.ac AND l2.list_id = pr.lpc_acl",
d33e787c 5529 1,
2884200f 5530 "pr.name",
5531 &VDfix_modby,
d33e787c 5532 },
5533
012fc215 5534 {
2884200f 5535 /* Q_GPBL - GET_PRINTER_BY_LOCATION */
5536 "get_printer_by_location",
5537 "gpbl",
c44ddfa7 5538 2,
012fc215 5539 RETRIEVE,
2884200f 5540 "pr",
5541 PRINTERS_TABLE,
e5a63571 5542 "pr.name, pr.type, pr.hwtype, pr.duplexname, m1.name, m2.name, m3.name, pr.rp, m4.name, pr.ka, pr.pc, l1.name, l2.name, pr.banner, pr.location, pr.contact, TO_CHAR(pr.modtime, 'DD-mon-YYYY HH24:MI:SS'), pr.modby, pr.modwith FROM printers pr, machine m1, machine m2, machine m3, machine m4, list l1, list l2",
2884200f 5543 gpbl_fields,
e5a63571 5544 19,
2884200f 5545 "UPPER(pr.location) LIKE UPPER('%s') AND m1.mach_id = pr.mach_id AND m2.mach_id = pr.loghost AND m3.mach_id = pr.rm AND m4.mach_id = pr.rq AND l1.list_id = pr.ac AND l2.list_id = pr.lpc_acl",
5546 1,
5547 "pr.name",
5548 &VDfix_modby,
5549 },
5550
5551 {
5552 /* Q_GPBC - GET_PRINTER_BY_CONTACT */
5553 "get_printer_by_contact",
5554 "gpbc",
c44ddfa7 5555 2,
2884200f 5556 RETRIEVE,
5557 "pr",
5558 PRINTERS_TABLE,
e5a63571 5559 "pr.name, pr.type, pr.hwtype, pr.duplexname, m1.name, m2.name, m3.name, pr.rp, m4.name, pr.ka, pr.pc, l1.name, l2.name, pr.banner, pr.location, pr.contact, TO_CHAR(pr.modtime, 'DD-mon-YYYY HH24:MI:SS'), pr.modby, pr.modwith FROM printers pr, machine m1, machine m2, machine m3, machine m4, list l1, list l2",
2884200f 5560 gpbc_fields,
e5a63571 5561 19,
2884200f 5562 "UPPER(pr.contact) LIKE UPPER('%s') AND m1.mach_id = pr.mach_id AND m2.mach_id = pr.loghost AND m3.mach_id = pr.rm AND m4.mach_id = pr.rq AND l1.list_id = pr.ac AND l2.list_id = pr.lpc_acl",
012fc215 5563 1,
2884200f 5564 "pr.name",
263a36d4 5565 &VDfix_modby,
012fc215 5566 },
5567
5568 {
2884200f 5569 /* Q_APRN - ADD_PRINTER */
5570 "add_printer",
5571 "aprn",
c44ddfa7 5572 2,
012fc215 5573 APPEND,
2884200f 5574 "pr",
5575 PRINTERS_TABLE,
e5a63571 5576 "INTO printers (name, type, hwtype, duplexname, mach_id, loghost, rm, rp, rq, ka, pc, ac, lpc_acl, banner, location, contact) VALUES ('%s', '%s', '%s', NVL('%s', CHR(0)), %d, %d, %d, NVL('%s', CHR(0)), %d, %s, %s, %d, %d, %s, NVL('%s', CHR(0)), NVL('%s', CHR(0)))",
2884200f 5577 aprn_fields,
e5a63571 5578 16,
012fc215 5579 0,
5580 0,
29028043 5581 NULL,
2884200f 5582 &aprn_validate,
012fc215 5583 },
5584
1a9a0a59 5585 {
5586 /* Q_UPRN - UPDATE_PRINTER */
5587 "update_printer",
5588 "uprn",
c44ddfa7 5589 2,
1a9a0a59 5590 UPDATE,
5591 "pr",
5592 PRINTERS_TABLE,
5593 "printers SET name = '%s', type = '%s', hwtype = '%s', duplexname = NVL('%s', CHR(0)), mach_id = %d, loghost = %d, rm = %d, rp = NVL('%s', CHR(0)), rq = %d, ka = %d, pc = %d, ac = %d, lpc_acl = %d, banner = %d, location = NVL('%s', CHR(0)), contact = NVL('%s', CHR(0))",
5594 uprn_fields,
5595 16,
5596 0,
5597 0,
5598 NULL,
5599 &uprn_validate,
5600 },
5601
012fc215 5602 {
2884200f 5603 /* Q_DPRN - DELETE_PRINTER */
5604 "delete_printer",
5605 "dprn",
c44ddfa7 5606 2,
012fc215 5607 DELETE,
2884200f 5608 "pr",
5609 PRINTERS_TABLE,
012fc215 5610 0,
2884200f 5611 aprn_fields,
012fc215 5612 0,
99e09b48 5613 "name = '%s'",
012fc215 5614 1,
29028043 5615 NULL,
2884200f 5616 &dprn_validate,
012fc215 5617 },
5618
1a9a0a59 5619 {
5620 /* Q_GPSV - GET_PRINT_SERVER */
5621 "get_print_server",
5622 "gpsv",
c44ddfa7 5623 2,
1a9a0a59 5624 RETRIEVE,
5625 "ps",
5626 PRINTSERVERS_TABLE,
5627 "m.name, ps.kind, s.string, ps.owner_type, ps.owner_id, l.name, TO_CHAR(ps.modtime, 'DD-mon-YYYY HH24:MI:SS'), ps.modby, ps.modwith FROM printservers ps, machine m, strings s, list l",
5628 gpsv_fields,
5629 9,
5630 "ps.mach_id = %d AND m.mach_id = ps.mach_id AND s.string_id = ps.printer_types AND l.list_id = ps.lpc_acl",
5631 1,
5632 NULL,
5633 &gpsv_validate,
5634 },
5635
5636 {
5637 /* Q_APSV - ADD_PRINT_SERVER */
5638 "add_print_server",
5639 "apsv",
c44ddfa7 5640 2,
1a9a0a59 5641 APPEND,
5642 "ps",
5643 PRINTSERVERS_TABLE,
5644 "INTO printservers (mach_id, kind, printer_types, owner_type, owner_id, lpc_acl) VALUES (%d, '%s', %d, '%s', %d, %d)",
5645 apsv_fields,
5646 6,
5647 0,
5648 0,
5649 NULL,
5650 &apsv_validate,
5651 },
5652
5653 {
5654 /* Q_UPSV - UPDATE_PRINT_SERVER */
5655 "update_print_server",
5656 "upsv",
c44ddfa7 5657 2,
1a9a0a59 5658 UPDATE,
5659 "ps",
5660 PRINTSERVERS_TABLE,
5661 "printservers SET kind = '%s', printer_types = %d, owner_type = '%s', owner_id = %d, lpc_acl = %d",
5662 apsv_fields,
5663 5,
5664 "mach_id = %d",
5665 1,
5666 NULL,
5667 &apsv_validate,
5668 },
5669
5670 {
5671 /* Q_DPSV - DELETE_PRINT_SERVER */
5672 "delete_print_server",
5673 "dpsv",
c44ddfa7 5674 2,
1a9a0a59 5675 DELETE,
5676 "ps",
5677 PRINTSERVERS_TABLE,
5678 0,
5679 dpsv_fields,
5680 0,
5681 "mach_id = %d",
5682 1,
5683 NULL,
5684 &dpsv_validate,
5685 },
5686
d33e787c 5687 {
5688 /* Q_GALI - GET_ALIAS */
5689 "get_alias",
5690 "gali",
c44ddfa7 5691 2,
d33e787c 5692 RETRIEVE,
5693 "a",
03c05291 5694 ALIAS_TABLE,
5695 "name, type, trans FROM alias",
d33e787c 5696 gali_fields,
5697 3,
263a36d4 5698 "name LIKE '%s' AND type LIKE '%s' AND trans LIKE '%s'",
d33e787c 5699 3,
29028043 5700 "type, name, trans",
263a36d4 5701 NULL,
d33e787c 5702 },
5703
5704 {
5705 /* Q_AALI - ADD_ALIAS */
5706 "add_alias",
5707 "aali",
c44ddfa7 5708 2,
d33e787c 5709 APPEND,
5710 "a",
03c05291 5711 ALIAS_TABLE,
4e5ec77f 5712 "INTO alias (name, type, trans) VALUES ('%s', '%s', '%s')",
d33e787c 5713 aali_fields,
5714 3,
7ac48069 5715 NULL,
d33e787c 5716 0,
29028043 5717 NULL,
d33e787c 5718 &aali_validate,
5719 },
5720
5721 {
5722 /* Q_DALI - DELETE_ALIAS */
5723 "delete_alias",
5724 "dali",
c44ddfa7 5725 2,
d33e787c 5726 DELETE,
5727 "a",
03c05291 5728 ALIAS_TABLE,
7ac48069 5729 NULL,
d33e787c 5730 aali_fields,
5731 0,
5eaef520 5732 "name = '%s' AND type = '%s' AND trans = '%s'",
d33e787c 5733 3,
29028043 5734 NULL,
d33e787c 5735 &dali_validate,
5736 },
5737
5738 {
5739 /* Q_GVAL - GET_VALUE */
5740 "get_value",
5741 "gval",
c44ddfa7 5742 2,
d33e787c 5743 RETRIEVE,
0c345c78 5744 "val",
03c05291 5745 NUMVALUES_TABLE,
5746 "value FROM numvalues",
d33e787c 5747 gval_fields,
5748 1,
03c05291 5749 "name = '%s'",
d33e787c 5750 1,
29028043 5751 NULL,
d33e787c 5752 &gval_validate,
5753 },
5754
5755 {
5756 /* Q_AVAL - ADD_VALUE */
5757 "add_value",
5758 "aval",
c44ddfa7 5759 2,
d33e787c 5760 APPEND,
0c345c78 5761 "val",
03c05291 5762 NUMVALUES_TABLE,
4e5ec77f 5763 "INTO numvalues (name, value) VALUES ('%s', %s)",
d33e787c 5764 aval_fields,
5765 2,
7ac48069 5766 NULL,
d33e787c 5767 0,
29028043 5768 NULL,
d33e787c 5769 &aval_validate,
5770 },
5771
5772 {
5773 /* Q_UVAL - UPDATE_VALUE */
5774 "update_value",
5775 "uval",
c44ddfa7 5776 2,
d33e787c 5777 UPDATE,
0c345c78 5778 "val",
03c05291 5779 NUMVALUES_TABLE,
4e5ec77f 5780 "numvalues SET value = %s",
d33e787c 5781 aval_fields,
5782 1,
99e09b48 5783 "name = '%s'",
d33e787c 5784 1,
29028043 5785 NULL,
d33e787c 5786 &aval_validate,
5787 },
5788
5789 {
5790 /* Q_DVAL - DELETE_VALUE */
5791 "delete_value",
5792 "dval",
c44ddfa7 5793 2,
d33e787c 5794 DELETE,
0c345c78 5795 "val",
03c05291 5796 NUMVALUES_TABLE,
7ac48069 5797 NULL,
d33e787c 5798 dval_fields,
5799 0,
99e09b48 5800 "name = '%s'",
d33e787c 5801 1,
29028043 5802 NULL,
d33e787c 5803 &aval_validate,
5804 },
5805
5806 {
5807 /* Q_GATS - GET_ALL_TABLE_STATS */
5808 "get_all_table_stats",
5809 "gats",
c44ddfa7 5810 2,
d33e787c 5811 RETRIEVE,
5812 "tbs",
03c05291 5813 TBLSTATS_TABLE,
5814 "table_name, appends, updates, deletes, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS') FROM tblstats",
d33e787c 5815 gats_fields,
45bf7573 5816 5,
7ac48069 5817 NULL,
d33e787c 5818 0,
29028043 5819 "table_name",
d33e787c 5820 0,
5821 },
5822
2962e9ec 5823 {
5824 /* Q__SDL - _SET_DEBUG_LEVEL */
5825 "_set_debug_level",
5826 "_sdl",
c44ddfa7 5827 2,
2962e9ec 5828 UPDATE,
7ac48069 5829 NULL,
03c05291 5830 0,
7ac48069 5831 NULL,
2962e9ec 5832 _sdl_fields,
5833 1,
7ac48069 5834 NULL,
2962e9ec 5835 0,
29028043 5836 NULL,
2962e9ec 5837 &_sdl_validate,
5838 },
5839
d33e787c 5840};
5841
c44ddfa7 5842int QueryCount = (sizeof(Queries) / sizeof(struct query));
This page took 1.308222 seconds and 5 git commands to generate.