]> andersk Git - moira.git/blame - server/queries2.c
Schema changes for membership acls.
[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[] = {
69eb9470 2441 "service", "protocol",
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
69eb9470 2449static char *dsvc_fields[] = {
2450 "service", "protocol",
2451};
2452
03c05291 2453static struct valobj asvc_valobj[] = {
e2b8245f 2454 {V_CHAR, 0, SERVICES_TABLE, "name"},
03c05291 2455 {V_CHAR, 1, SERVICES_TABLE, "protocol"},
f802fd0d 2456 {V_NUM, 2},
e2b8245f 2457 {V_CHAR, 3, SERVICES_TABLE, "description"},
03c05291 2458};
2459
fd5b2340 2460static struct validate asvc_validate = {
03c05291 2461 asvc_valobj,
f802fd0d 2462 4,
e2b8245f 2463 "name",
69eb9470 2464 "name = '%s' AND protocol = '%s'",
2465 2,
2466 0,
2467 0,
2468 0,
2469 set_service_modtime,
2470};
2471
2472static struct validate dsvc_validate = {
2473 asvc_valobj,
2474 2,
2475 "name",
2476 "name = '%s' AND protocol = '%s'",
2477 2,
2478 0,
fd5b2340 2479 0,
2480 0,
2481 0,
fd5b2340 2482};
2483
2884200f 2484static char *gprn_fields[] = {
2485 "name",
2486 "name", "type", "hwtype", "duplexname", "hostname",
2487 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2488 "banner", "location", "contact", "modtime", "modby", "modwith"
d33e787c 2489};
2490
2884200f 2491static char *gpbd_fields[] = {
2492 "duplexname",
2493 "name", "type", "hwtype", "duplexname", "hostname",
2494 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2495 "banner", "location", "contact", "modtime", "modby", "modwith"
d4462d4f 2496};
2497
2884200f 2498static char *gpbe_fields[] = {
2499 "hwaddr",
2500 "name", "type", "hwtype", "duplexname", "hostname",
2501 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2502 "banner", "location", "contact", "modtime", "modby", "modwith"
fad88070 2503};
2504
2884200f 2505static char *gpbh_fields[] = {
2506 "hostname",
2507 "name", "type", "hwtype", "duplexname", "hostname",
2508 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2509 "banner", "location", "contact", "modtime", "modby", "modwith"
d33e787c 2510};
2511
2884200f 2512static char *gpbr_fields[] = {
2513 "rm",
2514 "name", "type", "hwtype", "duplexname", "hostname",
2515 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2516 "banner", "location", "contact", "modtime", "modby", "modwith"
d33e787c 2517};
2518
2884200f 2519static char *gpbl_fields[] = {
2520 "location",
2521 "name", "type", "hwtype", "duplexname", "hostname",
2522 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2523 "banner", "location", "contact", "modtime", "modby", "modwith"
fd5b2340 2524};
2525
2884200f 2526static char *gpbc_fields[] = {
2527 "contact",
2528 "name", "type", "hwtype", "duplexname", "hostname",
2529 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2530 "banner", "location", "contact", "modtime", "modby", "modwith"
012fc215 2531};
2532
2884200f 2533static char *aprn_fields[] = {
2534 "printer", "type", "hwtype", "duplexname", "hostname",
2535 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2536 "banner", "location", "contact",
03c05291 2537};
012fc215 2538
2884200f 2539static struct valobj aprn_valobj[] = {
2540 {V_CHAR, 0, PRINTERS_TABLE, "name"},
2541 {V_TYPE, 1, 0, "printertype", 0, MR_TYPE},
2542 {V_TYPE, 2, 0, "printerhwtype", 0, MR_TYPE},
2543 {V_CHAR, 3, PRINTERS_TABLE, "duplexname"},
2544 {V_ID, 4, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2545 {V_ID, 5, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2546 {V_ID, 6, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2547 {V_CHAR, 7, PRINTERS_TABLE, "rp"},
2548 {V_ID, 8, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2549 {V_NUM, 9},
2550 {V_NUM, 10},
2551 {V_ID, 11, LIST_TABLE, "name", "list_id", MR_LIST},
2552 {V_ID, 12, LIST_TABLE, "name", "list_id", MR_LIST},
e5a63571 2553 {V_NUM, 13},
2554 {V_CHAR, 14, PRINTERS_TABLE, "location"},
2555 {V_CHAR, 15, PRINTERS_TABLE, "contact"},
012fc215 2556};
2557
2884200f 2558static struct validate aprn_validate = {
2559 aprn_valobj,
e5a63571 2560 16,
e2b8245f 2561 "name",
03c05291 2562 "name = '%s'",
012fc215 2563 1,
2564 0,
1a9a0a59 2565 access_printer,
2566 setup_aprn,
2567 set_modtime,
2568};
2569
2570static char *uprn_fields[] = {
2571 "printer",
2572 "printer", "type", "hwtype", "duplexname", "hostname",
2573 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
2574 "banner", "location", "contact",
2575};
2576
2577static struct valobj uprn_valobj[] = {
2578 {V_CHAR, 0, PRINTERS_TABLE, "name"},
2579 {V_CHAR, 1, PRINTERS_TABLE, "name"},
2580 {V_TYPE, 2, 0, "printertype", 0, MR_TYPE},
2581 {V_TYPE, 3, 0, "printerhwtype", 0, MR_TYPE},
2582 {V_CHAR, 4, PRINTERS_TABLE, "duplexname"},
2583 {V_ID, 5, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2584 {V_ID, 6, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2585 {V_ID, 7, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2586 {V_CHAR, 8, PRINTERS_TABLE, "rp"},
2587 {V_ID, 9, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2588 {V_NUM, 10},
2589 {V_NUM, 11},
2590 {V_ID, 12, LIST_TABLE, "name", "list_id", MR_LIST},
2591 {V_ID, 13, LIST_TABLE, "name", "list_id", MR_LIST},
2592 {V_NUM, 14},
2593 {V_CHAR, 15, PRINTERS_TABLE, "location"},
2594 {V_CHAR, 16, PRINTERS_TABLE, "contact"},
2595};
2596
2597static struct validate uprn_validate = {
2598 uprn_valobj,
2599 16,
2600 "name",
2601 "name = '%s'",
2602 1,
012fc215 2603 0,
1a9a0a59 2604 access_printer,
2884200f 2605 setup_aprn,
1a9a0a59 2606 set_modtime,
012fc215 2607};
2608
2884200f 2609static struct validate dprn_validate = {
012fc215 2610 0,
2611 0,
e2b8245f 2612 "name",
3e8c655c 2613 "name = '%s'",
012fc215 2614 1,
2615 0,
1a9a0a59 2616 access_printer,
2617 0,
2618 0,
2619};
2620
2621static char *gpsv_fields[] = {
2622 "host",
2623 "host", "kind", "printer_types", "owner_type", "owner_name",
2624 "lpc_acl", "modtime", "modby", "modwith"
2625};
2626
2627static struct valobj gpsv_valobj[] = {
2628 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2629};
2630
2631static struct validate gpsv_validate = {
2632 gpsv_valobj,
2633 1,
2634 0,
2635 0,
2636 0,
2637 0,
2638 0,
2639 0,
2640 followup_gpsv,
2641};
2642
2643static char *apsv_fields[] = {
2644 "host", "kind", "printer_types", "owner_type", "owner_name", "lpc_acl"
2645};
2646
2647static struct valobj apsv_valobj[] = {
2648 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2649 {V_TYPE, 1, 0, "lpd_kind", 0, MR_TYPE},
2650 {V_ID, 2, STRINGS_TABLE, "string", "string_id", MR_STRING},
2651 {V_TYPE, 3, 0, "ace_type", 0, MR_ACE},
2652 {V_TYPEDATA, 4, 0, 0, 0, MR_ACE},
2653 {V_ID, 5, LIST_TABLE, "name", "list_id", MR_LIST},
2654};
2655
2656static struct validate apsv_validate = {
2657 apsv_valobj,
2658 6,
2659 "mach_id",
2660 "mach_id = %d",
2661 1,
2662 "mach_id",
012fc215 2663 0,
2664 0,
1a9a0a59 2665 set_modtime_by_id,
012fc215 2666};
2667
1a9a0a59 2668static char *dpsv_fields[] = {
2669 "host",
2670};
2671
2672static struct validate dpsv_validate = {
2673 gpsv_valobj,
2674 1,
2675 "mach_id",
2676 "mach_id = %d",
2677 1,
2678 0,
2679 0,
2680 setup_dpsv,
2681 0,
2682};
2683
d33e787c 2684static char *gali_fields[] = {
e2b8245f 2685 "name", "type", "trans",
2686 "name", "type", "trans",
d33e787c 2687};
2688
2689static char *aali_fields[] = {
e2b8245f 2690 "name", "type", "trans",
d33e787c 2691};
2692
2693static struct valobj aali_valobj[] = {
e2b8245f 2694 {V_CHAR, 0, ALIAS_TABLE, "name"},
2695 {V_TYPE, 1, 0, "alias", 0, MR_TYPE},
03c05291 2696 {V_CHAR, 2, ALIAS_TABLE, "trans"},
d33e787c 2697};
2698
2699static struct validate aali_validate = {
2700 aali_valobj,
2701 3,
2702 "trans",
03c05291 2703 "name = '%s' and type = '%s' and trans = '%s'",
d33e787c 2704 3,
2705 0,
2706 0,
2707 0,
2708 0,
2709};
2710
2711static struct validate dali_validate = /* DELETE_ALIAS */
2712{
2713 0,
2714 0,
2715 "trans",
73043086 2716 "name = '%s' and type = '%s' and trans = '%s'",
d33e787c 2717 3,
2718 0,
2719 0,
2720 0,
2721 0,
2722};
2723
2724static char *gval_fields[] = {
e2b8245f 2725 "name", "value",
d33e787c 2726};
2727
2728static struct valobj gval_valobj[] = {
e2b8245f 2729 {V_NAME, 0, NUMVALUES_TABLE, "name", 0, MR_NO_MATCH},
d33e787c 2730};
2731
2732static struct validate gval_validate = {
2733 gval_valobj,
2734 1,
2735 0,
2736 0,
2737 0,
2738 0,
2739 0,
2740 0,
2741 0,
2742};
2743
2744static char *aval_fields[] = {
e2b8245f 2745 "name", "value",
d33e787c 2746};
2747
03c05291 2748static struct valobj aval_valobj[] = {
e2b8245f 2749 {V_CHAR, 0, NUMVALUES_TABLE, "name"},
f802fd0d 2750 {V_NUM, 1},
03c05291 2751};
2752
d33e787c 2753static struct validate aval_validate = /* for aval, uval, and dval */
2754{
03c05291 2755 aval_valobj,
f802fd0d 2756 2,
e2b8245f 2757 "name",
03c05291 2758 "name = '%s'",
d33e787c 2759 1,
2760 0,
2761 0,
2762 0,
2763 0,
2764};
2765
2766static char *dval_fields[] = {
e2b8245f 2767 "name",
d33e787c 2768};
2769
2770static char *gats_fields[] = {
8db06f75 2771 "table_name", "appends", "updates", "deletes",
2772 "modtime", "modby", "modwith",
d33e787c 2773};
2774
2962e9ec 2775static char *_sdl_fields[] = {
5eaef520 2776 "level",
2962e9ec 2777};
2778
5eaef520 2779static struct validate _sdl_validate =
2962e9ec 2780{
f802fd0d 2781 VOnum0,
2782 1,
7ac48069 2783 NULL,
2784 NULL,
5eaef520 2785 0,
2786 0,
2787 0,
2788 0,
2789 _sdl_followup,
2962e9ec 2790};
2791
d33e787c 2792
2793\f
2794/* Generalized Query Definitions */
2795
c44ddfa7 2796/* Multiple versions of the same query MUST be listed in ascending
2797 * order.
2798 */
2799
e41960ac 2800/* Note: For any query which uses prefetch_value, the vcnt should be
2801 * one less than the number of %-format specifiers in the tlist.
2802 */
2803
c44ddfa7 2804struct query Queries[] = {
d33e787c 2805 {
186dd63b 2806 /* Q_GALO - GET_ALL_LOGINS, v2 */
d33e787c 2807 "get_all_logins",
2808 "galo",
c44ddfa7 2809 2,
d33e787c 2810 RETRIEVE,
2811 "u",
03c05291 2812 USERS_TABLE,
2813 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle FROM users u",
186dd63b 2814 galo2_fields,
d33e787c 2815 6,
0c345c78 2816 "u.users_id != 0",
d33e787c 2817 0,
29028043 2818 "u.login",
2819 0,
d33e787c 2820 },
5eaef520 2821
d33e787c 2822 {
186dd63b 2823 /* Q_GALO - GET_ALL_LOGINS, v3 */
2824 "get_all_logins",
2825 "galo",
2826 3,
2827 RETRIEVE,
2828 "u",
2829 USERS_TABLE,
2830 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle FROM users u",
2831 galo_fields,
2832 7,
2833 "u.users_id != 0",
2834 0,
2835 "u.login",
2836 0,
2837 },
2838
2839 {
2840 /* Q_GAAL - GET_ALL_ACTIVE_LOGINS, v2 */
d33e787c 2841 "get_all_active_logins",
2842 "gaal",
c44ddfa7 2843 2,
d33e787c 2844 RETRIEVE,
2845 "u",
03c05291 2846 USERS_TABLE,
2847 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle FROM users u",
186dd63b 2848 galo2_fields,
d33e787c 2849 6,
0c345c78 2850 "u.status = 1",
d33e787c 2851 0,
29028043 2852 "u.login",
2853 0,
d33e787c 2854 },
5eaef520 2855
4ffa124a 2856 {
186dd63b 2857 /* Q_GAAL - GET_ALL_ACTIVE_LOGINS, v3 */
2858 "get_all_active_logins",
2859 "gaal",
2860 3,
2861 RETRIEVE,
2862 "u",
2863 USERS_TABLE,
2864 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle FROM users u",
2865 galo_fields,
2866 7,
2867 "u.status = 1",
2868 0,
2869 "u.login",
2870 0,
2871 },
2872
2873 {
2874 /* Q_GUAL - GET_USER_ACCOUNT_BY_LOGIN, v2 */
0c345c78 2875 "get_user_account_by_login",
2876 "gual",
c44ddfa7 2877 2,
0c345c78 2878 RETRIEVE,
2879 "u",
03c05291 2880 USERS_TABLE,
d55429b2 2881 "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 2882 gual2_fields,
0c345c78 2883 15,
263a36d4 2884 "u.login LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
0c345c78 2885 1,
29028043 2886 "u.login",
0c345c78 2887 &gubl_validate,
4ffa124a 2888 },
5eaef520 2889
4ffa124a 2890 {
186dd63b 2891 /* Q_GUAL - GET_USER_ACCOUNT_BY_LOGIN, v3 */
2892 "get_user_account_by_login",
2893 "gual",
2894 3,
2895 RETRIEVE,
2896 "u",
2897 USERS_TABLE,
2898 "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",
2899 gual_fields,
2900 16,
2901 "u.login LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
2902 1,
2903 "u.login",
2904 &gubl_validate,
2905 },
2906
2907 {
2908 /* Q_GUAU - GET_USER_ACCOUNT_BY_UID, v2 */
0c345c78 2909 "get_user_account_by_uid",
2910 "guau",
c44ddfa7 2911 2,
0c345c78 2912 RETRIEVE,
2913 "u",
03c05291 2914 USERS_TABLE,
d55429b2 2915 "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 2916 guau2_fields,
0c345c78 2917 15,
03c05291 2918 "u.unix_uid = %s AND u.users_id != 0 AND u.comments = str.string_id",
0c345c78 2919 1,
29028043 2920 "u.login",
0c345c78 2921 &gubu_validate,
4ffa124a 2922 },
5eaef520 2923
4ffa124a 2924 {
186dd63b 2925 /* Q_GUAU - GET_USER_ACCOUNT_BY_UID, v3 */
2926 "get_user_account_by_uid",
2927 "guau",
2928 3,
2929 RETRIEVE,
2930 "u",
2931 USERS_TABLE,
2932 "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",
2933 guau_fields,
2934 16,
2935 "u.unix_uid = %s AND u.users_id != 0 AND u.comments = str.string_id",
2936 1,
2937 "u.login",
2938 &gubu_validate,
2939 },
2940
2941 {
2942 /* Q_GUAN - GET_USER_ACCOUNT_BY_NAME, v2 */
0c345c78 2943 "get_user_account_by_name",
2944 "guan",
c44ddfa7 2945 2,
0c345c78 2946 RETRIEVE,
2947 "u",
03c05291 2948 USERS_TABLE,
d55429b2 2949 "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 2950 guan2_fields,
0c345c78 2951 15,
263a36d4 2952 "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0 and u.comments = str.string_id",
0c345c78 2953 2,
29028043 2954 "u.login",
60452f41 2955 &guan_validate,
4ffa124a 2956 },
5eaef520 2957
4ffa124a 2958 {
186dd63b 2959 /* Q_GUAN - GET_USER_ACCOUNT_BY_NAME, v3 */
2960 "get_user_account_by_name",
2961 "guan",
2962 3,
2963 RETRIEVE,
2964 "u",
2965 USERS_TABLE,
2966 "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",
2967 guan_fields,
2968 16,
2969 "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0 and u.comments = str.string_id",
2970 2,
2971 "u.login",
2972 &guan_validate,
2973 },
2974
2975 {
2976 /* Q_GUAC - GET_USER_ACCOUNT_BY_CLASS, v2 */
0c345c78 2977 "get_user_account_by_class",
2978 "guac",
c44ddfa7 2979 2,
0c345c78 2980 RETRIEVE,
2981 "u",
03c05291 2982 USERS_TABLE,
d55429b2 2983 "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 2984 guac2_fields,
0c345c78 2985 15,
03c05291 2986 "u.type = UPPER('%s') AND u.users_id != 0 AND u.comments = str.string_id",
0c345c78 2987 1,
29028043 2988 "u.login",
2989 &VDfix_modby,
4ffa124a 2990 },
5eaef520 2991
4ffa124a 2992 {
186dd63b 2993 /* Q_GUAC - GET_USER_ACCOUNT_BY_CLASS, v3 */
2994 "get_user_account_by_class",
2995 "guac",
2996 3,
2997 RETRIEVE,
2998 "u",
2999 USERS_TABLE,
3000 "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",
3001 guac_fields,
3002 16,
3003 "u.type = UPPER('%s') AND u.users_id != 0 AND u.comments = str.string_id",
3004 1,
3005 "u.login",
3006 &VDfix_modby,
3007 },
3008
3009 {
3010 /* Q_GUAM - GET_USER_ACCOUNT_BY_MITID, v2 */
0c345c78 3011 "get_user_account_by_id",
3012 "guai",
c44ddfa7 3013 2,
0c345c78 3014 RETRIEVE,
3015 "u",
03c05291 3016 USERS_TABLE,
d55429b2 3017 "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 3018 guam2_fields,
0c345c78 3019 15,
263a36d4 3020 "u.clearid LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
0c345c78 3021 1,
29028043 3022 "u.login",
263a36d4 3023 &VDfix_modby,
4ffa124a 3024 },
5eaef520 3025
d33e787c 3026 {
186dd63b 3027 /* Q_GUAM - GET_USER_ACCOUNT_BY_MITID, v3 */
3028 "get_user_account_by_id",
3029 "guai",
3030 3,
3031 RETRIEVE,
3032 "u",
3033 USERS_TABLE,
3034 "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",
3035 guam_fields,
3036 16,
3037 "u.clearid LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
3038 1,
3039 "u.login",
3040 &VDfix_modby,
3041 },
3042
3043 {
3044 /* Q_GUBL - GET_USER_BY_LOGIN, v2 */
d33e787c 3045 "get_user_by_login",
3046 "gubl",
c44ddfa7 3047 2,
d33e787c 3048 RETRIEVE,
3049 "u",
5eaef520 3050 USERS_TABLE,
03c05291 3051 "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 3052 gubl2_fields,
d33e787c 3053 12,
263a36d4 3054 "u.login LIKE '%s' AND u.users_id != 0",
d33e787c 3055 1,
29028043 3056 "u.login",
f9f5c199 3057 &gubl_validate,
d33e787c 3058 },
5eaef520 3059
d33e787c 3060 {
186dd63b 3061 /* Q_GUBL - GET_USER_BY_LOGIN, v3 */
3062 "get_user_by_login",
3063 "gubl",
3064 3,
3065 RETRIEVE,
3066 "u",
3067 USERS_TABLE,
3068 "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",
3069 gubl_fields,
3070 13,
3071 "u.login LIKE '%s' AND u.users_id != 0",
3072 1,
3073 "u.login",
3074 &gubl_validate,
3075 },
3076
3077 {
3078 /* Q_GUBU - GET_USER_BY_UID, v2 */
d33e787c 3079 "get_user_by_uid",
3080 "gubu",
c44ddfa7 3081 2,
d33e787c 3082 RETRIEVE,
3083 "u",
03c05291 3084 USERS_TABLE,
3085 "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 3086 gubu2_fields,
d33e787c 3087 12,
03c05291 3088 "u.unix_uid = %s AND u.users_id != 0",
d33e787c 3089 1,
29028043 3090 "u.login",
f9f5c199 3091 &gubu_validate,
d33e787c 3092 },
5eaef520 3093
d33e787c 3094 {
186dd63b 3095 /* Q_GUBU - GET_USER_BY_UID, v3 */
3096 "get_user_by_uid",
3097 "gubu",
3098 3,
3099 RETRIEVE,
3100 "u",
3101 USERS_TABLE,
3102 "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",
3103 gubu_fields,
3104 13,
3105 "u.unix_uid = %s AND u.users_id != 0",
3106 1,
3107 "u.login",
3108 &gubu_validate,
3109 },
3110
3111 {
3112 /* Q_GUBN - GET_USER_BY_NAME, v2 */
d33e787c 3113 "get_user_by_name",
3114 "gubn",
c44ddfa7 3115 2,
d33e787c 3116 RETRIEVE,
3117 "u",
03c05291 3118 USERS_TABLE,
3119 "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 3120 gubn2_fields,
d33e787c 3121 12,
263a36d4 3122 "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0",
d33e787c 3123 2,
29028043 3124 "u.login",
99e09b48 3125 &gubn_validate,
d33e787c 3126 },
5eaef520 3127
d33e787c 3128 {
186dd63b 3129 /* Q_GUBN - GET_USER_BY_NAME, v3 */
3130 "get_user_by_name",
3131 "gubn",
3132 3,
3133 RETRIEVE,
3134 "u",
3135 USERS_TABLE,
3136 "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",
3137 gubn_fields,
3138 13,
3139 "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0",
3140 2,
3141 "u.login",
3142 &gubn_validate,
3143 },
3144
3145 {
3146 /* Q_GUBC - GET_USER_BY_CLASS, v2 */
d33e787c 3147 "get_user_by_class",
3148 "gubc",
c44ddfa7 3149 2,
d33e787c 3150 RETRIEVE,
3151 "u",
03c05291 3152 USERS_TABLE,
3153 "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 3154 gubc2_fields,
d33e787c 3155 12,
03c05291 3156 "u.type = UPPER('%s') AND u.users_id != 0",
d33e787c 3157 1,
29028043 3158 "u.login",
3159 &VDfix_modby,
d33e787c 3160 },
5eaef520 3161
d33e787c 3162 {
186dd63b 3163 /* Q_GUBC - GET_USER_BY_CLASS, v3 */
3164 "get_user_by_class",
3165 "gubc",
3166 3,
3167 RETRIEVE,
3168 "u",
3169 USERS_TABLE,
3170 "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",
3171 gubc_fields,
3172 13,
3173 "u.type = UPPER('%s') AND u.users_id != 0",
3174 1,
3175 "u.login",
3176 &VDfix_modby,
3177 },
3178
3179 {
3180 /* Q_GUBM - GET_USER_BY_MITID, v2 */
d33e787c 3181 "get_user_by_mitid",
3182 "gubm",
c44ddfa7 3183 2,
d33e787c 3184 RETRIEVE,
3185 "u",
03c05291 3186 USERS_TABLE,
3187 "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 3188 gubm2_fields,
d33e787c 3189 12,
263a36d4 3190 "u.clearid LIKE '%s' AND u.users_id != 0",
d33e787c 3191 1,
29028043 3192 "u.login",
263a36d4 3193 &VDfix_modby,
d33e787c 3194 },
5eaef520 3195
4ffa124a 3196 {
186dd63b 3197 /* Q_GUBM - GET_USER_BY_MITID, v3 */
3198 "get_user_by_mitid",
3199 "gubm",
3200 3,
3201 RETRIEVE,
3202 "u",
3203 USERS_TABLE,
3204 "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",
3205 gubm_fields,
3206 13,
3207 "u.clearid LIKE '%s' AND u.users_id != 0",
3208 1,
3209 "u.login",
3210 &VDfix_modby,
3211 },
3212
3213 {
3214 /* Q_AUAC - ADD_USER_ACCOUNT, v2 */ /* uses prefetch_value() for users_id */
4ffa124a 3215 "add_user_account",
3216 "auac",
c44ddfa7 3217 2,
4ffa124a 3218 APPEND,
3219 "u",
03c05291 3220 USERS_TABLE,
d55429b2 3221 /* We set signature to "NVL(CHR(0), '%s')", which is to say, "CHR(0)",
3222 * but using up one argv element.
3223 */
3224 "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 3225 auac2_fields,
4ffa124a 3226 12,
7ac48069 3227 NULL,
4ffa124a 3228 0,
29028043 3229 NULL,
186dd63b 3230 &auac2_validate,
3231 },
3232
3233 {
3234 /* Q_AUAC - ADD_USER_ACCOUNT, v3 */ /* uses prefetch_value() for users_id */
3235 "add_user_account",
3236 "auac",
3237 3,
3238 APPEND,
3239 "u",
3240 USERS_TABLE,
3241 /* We set signature to "NVL(CHR(0), '%s')", which is to say, "CHR(0)",
3242 * but using up one argv element.
3243 */
3244 "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)",
3245 auac_fields,
3246 13,
3247 NULL,
3248 0,
3249 NULL,
4ffa124a 3250 &auac_validate,
3251 },
5eaef520 3252
d33e787c 3253 {
186dd63b 3254 /* Q_AUSR - ADD_USER, v2 */ /* uses prefetch_value() for users_id */
d33e787c 3255 "add_user",
3256 "ausr",
c44ddfa7 3257 2,
d33e787c 3258 APPEND,
3259 "u",
03c05291 3260 USERS_TABLE,
5eaef520 3261 "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 3262 auac2_fields,
d33e787c 3263 9,
45bf7573 3264 0,
d33e787c 3265 0,
29028043 3266 NULL,
186dd63b 3267 &ausr2_validate,
3268 },
3269
3270 {
3271 /* Q_AUSR - ADD_USER, v3 */ /* uses prefetch_value() for users_id */
3272 "add_user",
3273 "ausr",
3274 3,
3275 APPEND,
3276 "u",
3277 USERS_TABLE,
3278 "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)",
3279 auac_fields,
3280 10,
3281 0,
3282 0,
3283 NULL,
d33e787c 3284 &ausr_validate,
3285 },
5eaef520 3286
d33e787c 3287 {
3288 /* Q_RUSR - REGISTER_USER */
3289 "register_user",
3290 "rusr",
c44ddfa7 3291 2,
d33e787c 3292 APPEND,
3293 0,
3294 0,
3295 0,
3296 rusr_fields,
3297 3,
3298 0,
3299 0,
29028043 3300 NULL,
d33e787c 3301 &rusr_validate,
3302 },
5eaef520 3303
4ffa124a 3304 {
186dd63b 3305 /* Q_UUAC - UPDATE_USER_ACCOUNT, v2 */
4ffa124a 3306 "update_user_account",
3307 "uuac",
c44ddfa7 3308 2,
4ffa124a 3309 UPDATE,
3310 "u",
03c05291 3311 USERS_TABLE,
d55429b2 3312 /* See comment in auac about signature. */
3313 "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 3314 uuac2_fields,
4ffa124a 3315 12,
3316 "users_id = %d",
3317 1,
29028043 3318 NULL,
186dd63b 3319 &uuac2_validate,
3320 },
3321
3322 {
3323 /* Q_UUAC - UPDATE_USER_ACCOUNT, v3 */
3324 "update_user_account",
3325 "uuac",
3326 3,
3327 UPDATE,
3328 "u",
3329 USERS_TABLE,
3330 /* See comment in auac about signature. */
3331 "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",
3332 uuac_fields,
3333 13,
3334 "users_id = %d",
3335 1,
3336 NULL,
4ffa124a 3337 &uuac_validate,
3338 },
5eaef520 3339
d33e787c 3340 {
186dd63b 3341 /* Q_UUSR - UPDATE_USER, v2 */
d33e787c 3342 "update_user",
3343 "uusr",
c44ddfa7 3344 2,
d33e787c 3345 UPDATE,
3346 "u",
03c05291 3347 USERS_TABLE,
5eaef520 3348 "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 3349 uuac2_fields,
d33e787c 3350 9,
4e5ec77f 3351 "users_id = %d",
d33e787c 3352 1,
29028043 3353 NULL,
186dd63b 3354 &uusr2_validate,
3355 },
3356
3357 {
3358 /* Q_UUSR - UPDATE_USER, v3 */
3359 "update_user",
3360 "uusr",
3361 3,
3362 UPDATE,
3363 "u",
3364 USERS_TABLE,
3365 "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'",
3366 uuac_fields,
3367 10,
3368 "users_id = %d",
3369 1,
3370 NULL,
d33e787c 3371 &uusr_validate,
3372 },
3373
3374 {
3375 /* Q_UUSH - UPDATE_USER_SHELL */
3376 "update_user_shell",
3377 "uush",
c44ddfa7 3378 2,
d33e787c 3379 UPDATE,
3380 "u",
03c05291 3381 USERS_TABLE,
5eaef520 3382 "users SET shell = '%s'",
d33e787c 3383 uush_fields,
3384 1,
4e5ec77f 3385 "users_id = %d",
d33e787c 3386 1,
29028043 3387 NULL,
d33e787c 3388 &uush_validate,
3389 },
3390
29dbfca4 3391 {
3392 /* Q_UUWS - UPDATE_USER_WINDOWS_SHELL */
3393 "update_user_windows_shell",
3394 "uuws",
3395 2,
3396 UPDATE,
3397 "u",
3398 USERS_TABLE,
3399 "users SET winconsoleshell = '%s'",
3400 uuws_fields,
3401 1,
3402 "users_id = %d",
3403 1,
3404 NULL,
3405 &uuws_validate,
3406 },
3407
d33e787c 3408 {
3409 /* Q_UUST - UPDATE_USER_STATUS */
3410 "update_user_status",
3411 "uust",
c44ddfa7 3412 2,
d33e787c 3413 UPDATE,
3414 "u",
03c05291 3415 USERS_TABLE,
4e5ec77f 3416 "users SET status = %s",
d33e787c 3417 uust_fields,
3418 1,
4e5ec77f 3419 "users_id = %d",
d33e787c 3420 1,
29028043 3421 NULL,
d33e787c 3422 &uust_validate,
3423 },
3424
4ffa124a 3425 {
3426 /* Q_UUSS - UPDATE_USER_SECURITY_STATUS */
3427 "update_user_security_status",
3428 "uuss",
c44ddfa7 3429 2,
4ffa124a 3430 UPDATE,
3431 "u",
03c05291 3432 USERS_TABLE,
135dcb80 3433 "users SET secure = %s",
4ffa124a 3434 uuss_fields,
3435 1,
3436 "users_id = %d",
3437 1,
29028043 3438 NULL,
4ffa124a 3439 &uust_validate,
3440 },
5eaef520 3441
d33e787c 3442 {
5eaef520 3443 /* Q_DUSR - DELETE_USER */
d33e787c 3444 "delete_user",
3445 "dusr",
c44ddfa7 3446 2,
d33e787c 3447 DELETE,
3448 "u",
03c05291 3449 USERS_TABLE,
7ac48069 3450 NULL,
d33e787c 3451 dusr_fields,
3452 0,
4e5ec77f 3453 "users_id = %d",
d33e787c 3454 1,
29028043 3455 NULL,
d33e787c 3456 &dusr_validate,
3457 },
3458
77eb4bdf 3459 {
3460 /* Q_AURV - ADD_USER_RESERVATION */
3461 "add_user_reservation",
3462 "aurv",
3463 2,
3464 UPDATE,
3465 0,
3466 USERS_TABLE,
3467 0,
3468 aurv_fields,
3469 2,
3470 0,
3471 0,
3472 NULL,
3473 &aurv_validate,
3474 },
3475
3476 {
3477 /* Q_GURV - GET_USER_RESERVATIONS */
3478 "get_user_reservations",
3479 "gurv",
3480 2,
3481 RETRIEVE,
3482 0,
3483 USERS_TABLE,
3484 0,
3485 gurv_fields,
3486 2,
3487 0,
3488 1,
3489 NULL,
3490 &gurv_validate,
3491 },
3492
3493 {
3494 /* Q_GUBR - GET_USER_BY_RESERVATION */
3495 "get_user_by_reservation",
3496 "gubr",
3497 2,
3498 RETRIEVE,
3499 0,
3500 USERS_TABLE,
3501 0,
3502 gubr_fields,
3503 1,
3504 0,
3505 1,
3506 NULL,
3507 &gubr_validate,
3508 },
3509
3510 {
3511 /* Q_DURV - DELETE_USER_RESERVATION */
3512 "delete_user_reservation",
3513 "durv",
3514 2,
3515 UPDATE,
3516 0,
3517 USERS_TABLE,
3518 0,
3519 aurv_fields,
3520 2,
3521 0,
3522 0,
3523 NULL,
3524 &aurv_validate,
3525 },
3526
012fc215 3527 {
5eaef520 3528 /* Q_GKUM - GET_KERBEROS_USER_MAP */
012fc215 3529 "get_kerberos_user_map",
3530 "gkum",
c44ddfa7 3531 2,
012fc215 3532 RETRIEVE,
3533 "k",
03c05291 3534 KRBMAP_TABLE,
3535 "u.login, str.string FROM krbmap km, users u, strings str",
012fc215 3536 gkum_fields,
3537 2,
263a36d4 3538 "u.login LIKE '%s' AND str.string LIKE '%s' AND km.users_id = u.users_id AND km.string_id = str.string_id",
012fc215 3539 2,
29028043 3540 "u.login, str.string",
263a36d4 3541 NULL,
012fc215 3542 },
3543
3544 {
3545 /* Q_AKUM - ADD_KERBEROS_USER_MAP */
3546 "add_kerberos_user_map",
3547 "akum",
c44ddfa7 3548 2,
012fc215 3549 APPEND,
3550 "k",
03c05291 3551 KRBMAP_TABLE,
99e09b48 3552 "INTO krbmap (users_id, string_id) VALUES (%d, %d)",
012fc215 3553 akum_fields,
3554 2,
3555 0,
3556 0,
29028043 3557 NULL,
012fc215 3558 &akum_validate,
3559 },
3560
3561 {
3562 /* Q_DKUM - DELETE_KERBEROS_USER_MAP */
3563 "delete_kerberos_user_map",
3564 "dkum",
c44ddfa7 3565 2,
012fc215 3566 DELETE,
3567 "k",
03c05291 3568 KRBMAP_TABLE,
012fc215 3569 0,
3570 akum_fields,
3571 0,
99e09b48 3572 "users_id = %d AND string_id = %d",
012fc215 3573 2,
29028043 3574 NULL,
012fc215 3575 &dkum_validate,
3576 },
3577
d33e787c 3578 {
3579 /* Q_GFBL - GET_FINGER_BY_LOGIN */
3580 "get_finger_by_login",
3581 "gfbl",
c44ddfa7 3582 2,
d33e787c 3583 RETRIEVE,
3584 "u",
03c05291 3585 USERS_TABLE,
3586 "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 3587 gfbl_fields,
3588 12,
03c05291 3589 "users_id = %d",
d33e787c 3590 1,
29028043 3591 "login",
d33e787c 3592 &gfbl_validate,
3593 },
3594
3595 {
3596 /* Q_UFBL - UPDATE_FINGER_BY_LOGIN */
3597 "update_finger_by_login",
3598 "ufbl",
c44ddfa7 3599 2,
d33e787c 3600 UPDATE,
3601 "u",
03c05291 3602 USERS_TABLE,
5eaef520 3603 "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 3604 ufbl_fields,
3605 8,
4e5ec77f 3606 "users_id = %d",
d33e787c 3607 1,
29028043 3608 NULL,
d33e787c 3609 &ufbl_validate,
3610 },
3611
3612 {
3613 /* Q_GPOB - GET_POBOX */
3614 "get_pobox",
3615 "gpob",
c44ddfa7 3616 2,
d33e787c 3617 RETRIEVE,
3618 "u",
03c05291 3619 USERS_TABLE,
d6d830a1 3620 "login, potype, users_id, CHR(0), TO_CHAR(pmodtime, 'DD-mon-YYYY HH24:MI:SS'), pmodby, pmodwith FROM users",
d33e787c 3621 gpob_fields,
d6d830a1 3622 7,
03c05291 3623 "users_id = %d",
d33e787c 3624 1,
29028043 3625 "login",
d33e787c 3626 &gpob_validate,
3627 },
3628
3629 {
3630 /* Q_GAPO - GET_ALL_POBOXES */
3631 "get_all_poboxes",
3632 "gapo",
c44ddfa7 3633 2,
d33e787c 3634 RETRIEVE,
3635 "u",
03c05291 3636 USERS_TABLE,
3637 "login, potype, pop_id || ':' || box_id FROM users",
d33e787c 3638 gpox_fields,
3639 3,
03c05291 3640 "potype != 'NONE'",
d33e787c 3641 0,
29028043 3642 "login",
d33e787c 3643 &gpox_validate,
3644 },
5eaef520 3645
d33e787c 3646 {
3647 /* Q_GPOP - GET_POBOXES_POP */
3648 "get_poboxes_pop",
3649 "gpop",
c44ddfa7 3650 2,
d33e787c 3651 RETRIEVE,
3652 "u",
03c05291 3653 USERS_TABLE,
17cb3de8 3654 "login, potype, users_id FROM users",
d33e787c 3655 gpox_fields,
3656 3,
03c05291 3657 "potype = 'POP'",
d33e787c 3658 0,
29028043 3659 "login",
d33e787c 3660 &gpox_validate
3661 },
3662
3663 {
3664 /* Q_GPOF - GET_POBOXES_SMTP */
3665 "get_poboxes_smtp",
3666 "gpos",
c44ddfa7 3667 2,
d33e787c 3668 RETRIEVE,
3669 "u",
03c05291 3670 USERS_TABLE,
17cb3de8 3671 "login, potype, users_id FROM users",
d33e787c 3672 gpox_fields,
3673 3,
03c05291 3674 "potype = 'SMTP'",
d33e787c 3675 0,
29028043 3676 "login",
d33e787c 3677 &gpox_validate
3678 },
3679
3680 {
3681 /* Q_SPOB - SET_POBOX */
3682 "set_pobox",
3683 "spob",
c44ddfa7 3684 2,
d33e787c 3685 UPDATE,
3686 0,
03c05291 3687 USERS_TABLE,
d33e787c 3688 0,
3689 spob_fields,
3690 3,
7ac48069 3691 NULL,
d33e787c 3692 0,
29028043 3693 NULL,
d33e787c 3694 &spob_validate,
3695 },
3696
3697 {
3698 /* Q_SPOP - SET_POBOX_POP */
3699 "set_pobox_pop",
3700 "spop",
c44ddfa7 3701 2,
d33e787c 3702 UPDATE,
8b0fdf05 3703 0,
03c05291 3704 USERS_TABLE,
17cb3de8 3705 0,
d33e787c 3706 spob_fields,
8b0fdf05 3707 1,
17cb3de8 3708 NULL,
3709 0,
29028043 3710 NULL,
d33e787c 3711 &spop_validate,
3712 },
3713
3714 {
3715 /* Q_DPOB - DELETE_POBOX */
3716 "delete_pobox",
3717 "dpob",
c44ddfa7 3718 2,
d33e787c 3719 UPDATE,
3720 "u",
03c05291 3721 USERS_TABLE,
3722 "users SET potype = 'NONE'",
3723 spob_fields,
3724 0,
3725 "users_id = %d",
d33e787c 3726 1,
29028043 3727 NULL,
03c05291 3728 &dpob_validate,
d33e787c 3729 },
3730
3731 {
a66a2204 3732 /* Q_GHST - GET_HOST */
3733 "get_host",
3734 "ghst",
c44ddfa7 3735 2,
a66a2204 3736 RETRIEVE,
3737 "m",
03c05291 3738 MACHINE_TABLE,
3739 "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 3740 ghst_fields,
3741 21,
1fa08fc4 3742 "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 3743 4,
29028043 3744 "m.name",
a66a2204 3745 &ghst_validate,
3746 },
3747
9333756a 3748 {
3749 /* Q_GHBH - GET_HOST_BY_HWADDR */
3750 "get_host_by_hwaddr",
3751 "ghbh",
c44ddfa7 3752 2,
9333756a 3753 RETRIEVE,
3754 "m",
3755 MACHINE_TABLE,
3756 "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",
3757 ghst_fields,
3758 21,
3759 "m.hwaddr LIKE LOWER('%s') AND m.mach_id != 0 AND s.snet_id = m.snet_id",
3760 1,
3761 "m.name",
3762 NULL,
3763 },
3764
2884200f 3765 {
3766 /* Q_GHHA - GET_HOST_HWADDR */
3767 "get_host_hwaddr",
3768 "ghha",
c44ddfa7 3769 2,
2884200f 3770 RETRIEVE,
3771 "m",
3772 MACHINE_TABLE,
3773 "m.hwaddr FROM machine m",
3774 ghha_fields,
3775 1,
3776 "m.name LIKE UPPER('%s')",
3777 1,
3778 NULL,
3779 NULL,
3780 },
3781
a66a2204 3782 {
3783 /* Q_AHST - ADD_HOST */ /* uses prefetch_value() for mach_id */
3784 "add_host",
3785 "ahst",
c44ddfa7 3786 2,
d33e787c 3787 APPEND,
3788 "m",
03c05291 3789 MACHINE_TABLE,
5eaef520 3790 "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 3791 ahst_fields,
3792 14,
45bf7573 3793 0,
d33e787c 3794 0,
29028043 3795 NULL,
a66a2204 3796 &ahst_validate,
d33e787c 3797 },
3798
3799 {
a66a2204 3800 /* Q_UHST - UPDATE_HOST */
3801 "update_host",
3802 "uhst",
c44ddfa7 3803 2,
d33e787c 3804 UPDATE,
3805 "m",
03c05291 3806 MACHINE_TABLE,
5eaef520 3807 "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 3808 uhst_fields,
3809 14,
4e5ec77f 3810 "mach_id = %d",
d33e787c 3811 1,
29028043 3812 NULL,
a66a2204 3813 &uhst_validate,
d33e787c 3814 },
3815
2884200f 3816 {
3817 /* Q_UHHA - UPDATE_HOST_HWADDR */
3818 "update_host_hwaddr",
3819 "uhha",
c44ddfa7 3820 2,
2884200f 3821 UPDATE,
3822 "m",
3823 MACHINE_TABLE,
1fdf882a 3824 "machine SET hwaddr = NVL('%s', CHR(0))",
2884200f 3825 uhha_fields,
3826 1,
3827 "mach_id = %d",
3828 1,
3829 NULL,
3830 &uhha_validate,
3831 },
3832
d33e787c 3833 {
a66a2204 3834 /* Q_DHST - DELETE_HOST */
3835 "delete_host",
3836 "dhst",
c44ddfa7 3837 2,
d33e787c 3838 DELETE,
3839 "m",
03c05291 3840 MACHINE_TABLE,
7ac48069 3841 NULL,
a66a2204 3842 dhst_fields,
d33e787c 3843 0,
4e5ec77f 3844 "mach_id = %d",
d33e787c 3845 1,
29028043 3846 NULL,
a66a2204 3847 &dhst_validate,
3848 },
3849
03c05291 3850 {
3851 /* Q_GMAC - GET_MACHINE */
3852 "get_machine",
3853 "gmac",
c44ddfa7 3854 2,
03c05291 3855 RETRIEVE,
3856 "m",
3857 MACHINE_TABLE,
3858 "name, vendor, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM machine",
3859 gmac_fields,
3860 5,
263a36d4 3861 "name LIKE UPPER('%s') AND mach_id != 0",
03c05291 3862 1,
29028043 3863 "name",
263a36d4 3864 &VDfix_modby,
03c05291 3865 },
3866
a66a2204 3867 {
3868 /* Q_GHAL - GET_HOSTALIAS */
3869 "get_hostalias",
3870 "ghal",
c44ddfa7 3871 2,
a66a2204 3872 RETRIEVE,
03c05291 3873 "a",
3874 HOSTALIAS_TABLE,
3875 "a.name, m.name FROM hostalias a, machine m",
a66a2204 3876 ghal_fields,
3877 2,
263a36d4 3878 "m.mach_id = a.mach_id and a.name LIKE UPPER('%s') AND m.name LIKE UPPER('%s')",
a66a2204 3879 2,
29028043 3880 "a.name",
a66a2204 3881 &ghal_validate,
3882 },
3883
3884 {
3885 /* Q_AHAL - ADD_HOSTALIAS */
3886 "add_hostalias",
3887 "ahal",
c44ddfa7 3888 2,
a66a2204 3889 APPEND,
3890 "a",
03c05291 3891 HOSTALIAS_TABLE,
5eaef520 3892 "INTO hostalias (name, mach_id) VALUES (UPPER('%s'), %d)",
a66a2204 3893 ghal_fields,
3894 2,
3895 0,
3896 0,
29028043 3897 NULL,
a66a2204 3898 &ahal_validate,
3899 },
3900
3901 {
3902 /* Q_DHAL - DELETE_HOSTALIAS */
3903 "delete_hostalias",
3904 "dhal",
c44ddfa7 3905 2,
a66a2204 3906 DELETE,
3907 "a",
03c05291 3908 HOSTALIAS_TABLE,
7ac48069 3909 NULL,
a66a2204 3910 ghal_fields,
3911 0,
03c05291 3912 "name = UPPER('%s') AND mach_id = %d",
a66a2204 3913 2,
29028043 3914 NULL,
a66a2204 3915 &dhal_validate,
d33e787c 3916 },
3917
3c1d412c 3918 {
3919 /* Q_GSNT - GET_SUBNET */
3920 "get_subnet",
3921 "gsnt",
c44ddfa7 3922 2,
3c1d412c 3923 RETRIEVE,
3924 "s",
03c05291 3925 SUBNET_TABLE,
3926 "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 3927 gsnt_fields,
bd8c26ff 3928 12,
5e8fdad1 3929 "name LIKE UPPER('%s')",
3c1d412c 3930 1,
29028043 3931 "name",
3c1d412c 3932 &gsnt_validate,
3933 },
3934
3935 {
3936 /* Q_ASNT - ADD_SUBNET */
3937 "add_subnet",
3938 "asnt",
c44ddfa7 3939 2,
3c1d412c 3940 APPEND,
3941 "s",
03c05291 3942 SUBNET_TABLE,
5eaef520 3943 "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 3944 asnt_fields,
bd8c26ff 3945 9,
3c1d412c 3946 0,
3947 0,
29028043 3948 NULL,
3c1d412c 3949 &asnt_validate,
3950 },
3951
3952 {
3953 /* Q_USNT - UPDATE_SUBNET */
3954 "update_subnet",
3955 "usnt",
c44ddfa7 3956 2,
3c1d412c 3957 UPDATE,
3958 "s",
03c05291 3959 SUBNET_TABLE,
5eaef520 3960 "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 3961 usnt_fields,
bd8c26ff 3962 9,
3c1d412c 3963 "snet_id = %d",
3964 1,
29028043 3965 NULL,
3c1d412c 3966 &usnt_validate,
3967 },
3968
3969 {
3970 /* Q_DSNT - DELETE_SUBNET */
3971 "delete_subnet",
3972 "dsnt",
c44ddfa7 3973 2,
3c1d412c 3974 DELETE,
3975 "s",
03c05291 3976 SUBNET_TABLE,
7ac48069 3977 NULL,
3c1d412c 3978 dsnt_fields,
3979 0,
3980 "snet_id = %d",
3981 1,
29028043 3982 NULL,
3c1d412c 3983 &dsnt_validate,
3984 },
3985
d33e787c 3986 {
3987 /* Q_GCLU - GET_CLUSTER */
3988 "get_cluster",
3989 "gclu",
c44ddfa7 3990 2,
d33e787c 3991 RETRIEVE,
3992 "c",
e688520a 3993 CLUSTERS_TABLE,
03c05291 3994 "name, description, location, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM clusters",
d33e787c 3995 gclu_fields,
3996 6,
263a36d4 3997 "name LIKE '%s' AND clu_id != 0",
d33e787c 3998 1,
29028043 3999 "name",
263a36d4 4000 &VDfix_modby,
d33e787c 4001 },
4002
4003 {
45bf7573 4004 /* Q_ACLU - ADD_CLUSTER */ /* uses prefetch_value() for clu_id */
d33e787c 4005 "add_cluster",
4006 "aclu",
c44ddfa7 4007 2,
d33e787c 4008 APPEND,
4009 "c",
e688520a 4010 CLUSTERS_TABLE,
5eaef520 4011 "INTO clusters (name, description, location, clu_id) VALUES ('%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s)",
d33e787c 4012 aclu_fields,
4013 3,
45bf7573 4014 0,
d33e787c 4015 0,
29028043 4016 NULL,
d33e787c 4017 &aclu_validate,
4018 },
4019
4020 {
4021 /* Q_UCLU - UPDATE_CLUSTER */
4022 "update_cluster",
4023 "uclu",
c44ddfa7 4024 2,
d33e787c 4025 UPDATE,
4026 "c",
e688520a 4027 CLUSTERS_TABLE,
5eaef520 4028 "clusters SET name = '%s', description = NVL('%s', CHR(0)), location = NVL('%s', CHR(0))",
d33e787c 4029 uclu_fields,
4030 3,
4e5ec77f 4031 "clu_id = %d",
d33e787c 4032 1,
29028043 4033 NULL,
d33e787c 4034 &uclu_validate,
4035 },
4036
4037 {
4038 /* Q_DCLU - DELETE_CLUSTER */
4039 "delete_cluster",
4040 "dclu",
c44ddfa7 4041 2,
d33e787c 4042 DELETE,
4043 "c",
e688520a 4044 CLUSTERS_TABLE,
7ac48069 4045 NULL,
d33e787c 4046 dclu_fields,
4047 0,
4e5ec77f 4048 "clu_id = %d",
d33e787c 4049 1,
29028043 4050 NULL,
d33e787c 4051 &dclu_validate,
4052 },
4053
4054 {
5eaef520 4055 /* Q_GMCM - GET_MACHINE_TO_CLUSTER_MAP */
d33e787c 4056 "get_machine_to_cluster_map",
4057 "gmcm",
c44ddfa7 4058 2,
d33e787c 4059 RETRIEVE,
0c345c78 4060 "mcm",
03c05291 4061 MCMAP_TABLE,
4062 "m.name, c.name FROM machine m, clusters c, mcmap mcm",
d33e787c 4063 gmcm_fields,
4064 2,
263a36d4 4065 "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 4066 2,
29028043 4067 "m.name",
263a36d4 4068 NULL,
d33e787c 4069 },
5eaef520 4070
d33e787c 4071 {
4072 /* Q_AMTC - ADD_MACHINE_TO_CLUSTER */
4073 "add_machine_to_cluster",
4074 "amtc",
c44ddfa7 4075 2,
d33e787c 4076 APPEND,
0c345c78 4077 "mcm",
03c05291 4078 MCMAP_TABLE,
4e5ec77f 4079 "INTO mcmap (mach_id, clu_id) VALUES (%d, %d)",
d33e787c 4080 gmcm_fields,
4081 2,
4082 0,
4083 0,
29028043 4084 NULL,
d33e787c 4085 &amtc_validate,
4086 },
4087
4088 {
4089 /* Q_DMFC - DELETE_MACHINE_FROM_CLUSTER */
4090 "delete_machine_from_cluster",
4091 "dmfc",
c44ddfa7 4092 2,
d33e787c 4093 DELETE,
0c345c78 4094 "mcm",
03c05291 4095 MCMAP_TABLE,
d33e787c 4096 0,
4097 gmcm_fields,
4098 0,
4e5ec77f 4099 "mach_id = %d AND clu_id = %d",
d33e787c 4100 2,
29028043 4101 NULL,
d33e787c 4102 &amtc_validate,
4103 },
4104
4105 {
68dd808d 4106 /* Q_GCLD - GET_CLUSTER_DATA */
d33e787c 4107 "get_cluster_data",
4108 "gcld",
c44ddfa7 4109 2,
d33e787c 4110 RETRIEVE,
d33e787c 4111 "svc",
03c05291 4112 SVC_TABLE,
4113 "c.name, svc.serv_label, svc.serv_cluster FROM svc svc, clusters c",
d33e787c 4114 gcld_fields,
4115 3,
263a36d4 4116 "c.clu_id = svc.clu_id AND c.name LIKE '%s' AND svc.serv_label LIKE '%s'",
d33e787c 4117 2,
29028043 4118 "c.name, svc.serv_label",
263a36d4 4119 NULL,
d33e787c 4120 },
4121
4122 {
4123 /* Q_ACLD - ADD_CLUSTER_DATA */
4124 "add_cluster_data",
4125 "acld",
c44ddfa7 4126 2,
d33e787c 4127 APPEND,
0c345c78 4128 "svc",
03c05291 4129 SVC_TABLE,
5eaef520 4130 "INTO svc (clu_id, serv_label, serv_cluster) VALUES (%d, '%s', '%s')",
88343c5e 4131 acld_fields,
d33e787c 4132 3,
7ac48069 4133 NULL,
d33e787c 4134 0,
29028043 4135 NULL,
d33e787c 4136 &acld_validate,
4137 },
4138
4139 {
4140 /* Q_DCLD - DELETE_CLUSTER_DATA */
4141 "delete_cluster_data",
4142 "dcld",
c44ddfa7 4143 2,
d33e787c 4144 DELETE,
0c345c78 4145 "svc",
03c05291 4146 SVC_TABLE,
7ac48069 4147 NULL,
88343c5e 4148 acld_fields,
d33e787c 4149 0,
5eaef520 4150 "clu_id = %d AND serv_label = '%s' AND serv_cluster = '%s'",
d33e787c 4151 3,
29028043 4152 NULL,
99e09b48 4153 &dcld_validate,
d33e787c 4154 },
4155
03c05291 4156 {
44da57b2 4157 /* Q_GLIN - GET_LIST_INFO, v2 */
03c05291 4158 "get_list_info",
4159 "glin",
c44ddfa7 4160 2,
03c05291 4161 RETRIEVE,
263a36d4 4162 "l",
03c05291 4163 LIST_TABLE,
ccdbc974 4164 "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 4165 glin2_fields,
03c05291 4166 13,
263a36d4 4167 "name LIKE '%s'",
5eaef520 4168 1,
263a36d4 4169 "name",
5eaef520 4170 &glin_validate,
03c05291 4171 },
5eaef520 4172
44da57b2 4173 {
4174 /* Q_GLIN - GET_LIST_INFO, v3 */
4175 "get_list_info",
4176 "glin",
4177 3,
4178 RETRIEVE,
4179 "l",
4180 LIST_TABLE,
4181 "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",
4182 glin_fields,
4183 14,
4184 "name LIKE '%s'",
4185 1,
4186 "name",
4187 &glin_validate,
4188 },
4189
03c05291 4190 {
4191 /* Q_EXLN - EXPAND_LIST_NAMES */
4192 "expand_list_names",
4193 "exln",
c44ddfa7 4194 2,
03c05291 4195 RETRIEVE,
4196 "l",
4197 LIST_TABLE,
4198 "name FROM list",
4199 glin_fields,
4200 1,
263a36d4 4201 "name LIKE '%s' AND list_id != 0",
03c05291 4202 1,
29028043 4203 "name",
263a36d4 4204 NULL,
03c05291 4205 },
5eaef520 4206
03c05291 4207 {
44da57b2 4208 /* Q_ALIS - ADD_LIST, v2 */ /* uses prefetch_value() for list_id */
03c05291 4209 "add_list",
4210 "alis",
c44ddfa7 4211 2,
03c05291 4212 APPEND,
4213 "l",
5eaef520 4214 LIST_TABLE,
4215 "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 4216 alis2_fields,
03c05291 4217 10,
4218 0,
4219 0,
29028043 4220 NULL,
44da57b2 4221 &alis2_validate,
4222 },
4223
4224 {
4225 /* Q_ALIS - ADD_LIST, v3 */ /* uses prefetch_value() for list_id */
4226 "add_list",
4227 "alis",
4228 3,
4229 APPEND,
4230 "l",
4231 LIST_TABLE,
4232 "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)",
4233 alis_fields,
4234 11,
4235 0,
4236 0,
4237 NULL,
03c05291 4238 &alis_validate,
4239 },
4240
4241 {
44da57b2 4242 /* Q_ULIS - UPDATE_LIST, v2 */
03c05291 4243 "update_list",
4244 "ulis",
c44ddfa7 4245 2,
03c05291 4246 UPDATE,
4247 "l",
4248 LIST_TABLE,
5eaef520 4249 "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 4250 ulis2_fields,
03c05291 4251 10,
4252 "list_id = %d",
4253 1,
29028043 4254 NULL,
44da57b2 4255 &ulis2_validate,
4256 },
4257
4258 {
4259 /* Q_ULIS - UPDATE_LIST, v3 */
4260 "update_list",
4261 "ulis",
4262 3,
4263 UPDATE,
4264 "l",
4265 LIST_TABLE,
4266 "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))",
4267 ulis_fields,
4268 11,
4269 "list_id = %d",
4270 1,
4271 NULL,
03c05291 4272 &ulis_validate,
4273 },
4274
4275 {
4276 /* Q_DLIS - DELETE_LIST */
4277 "delete_list",
4278 "dlis",
c44ddfa7 4279 2,
03c05291 4280 DELETE,
4281 "l",
4282 LIST_TABLE,
7ac48069 4283 NULL,
03c05291 4284 dlis_fields,
4285 0,
4286 "list_id = %d",
4287 1,
29028043 4288 NULL,
03c05291 4289 &dlis_validate,
4290 },
4291
4292 {
4293 /* Q_AMTL - ADD_MEMBER_TO_LIST */
4294 "add_member_to_list",
4295 "amtl",
c44ddfa7 4296 2,
03c05291 4297 APPEND,
4298 0,
4299 IMEMBERS_TABLE,
4300 0,
4301 amtl_fields,
4302 3,
7ac48069 4303 NULL,
03c05291 4304 0,
29028043 4305 NULL,
03c05291 4306 &amtl_validate,
4307 },
4308
46b6f1f6 4309 {
4310 /* Q_ATML - ADD_TAGGED_MEMBER_TO_LIST */
4311 "add_tagged_member_to_list",
4312 "atml",
c44ddfa7 4313 2,
46b6f1f6 4314 APPEND,
4315 0,
4316 IMEMBERS_TABLE,
4317 0,
4318 atml_fields,
4319 4,
4320 NULL,
4321 0,
4322 NULL,
4323 &atml_validate,
4324 },
4325
4326 {
4327 /* Q_TMOL - TAG_MEMBER_OF_LIST */
4328 "tag_member_of_list",
4329 "tmol",
c44ddfa7 4330 2,
46b6f1f6 4331 UPDATE,
20541c25 4332 0,
46b6f1f6 4333 IMEMBERS_TABLE,
20541c25 4334 0,
46b6f1f6 4335 atml_fields,
4336 1,
20541c25 4337 0,
46b6f1f6 4338 3,
4339 NULL,
4340 &tmol_validate,
4341 },
4342
03c05291 4343 {
4344 /* Q_DMFL - DELETE_MEMBER_FROM_LIST */
4345 "delete_member_from_list",
4346 "dmfl",
c44ddfa7 4347 2,
03c05291 4348 DELETE,
4349 0,
4350 IMEMBERS_TABLE,
7ac48069 4351 NULL,
03c05291 4352 amtl_fields,
4353 0,
4354 0,
4355 3,
29028043 4356 NULL,
03c05291 4357 &dmfl_validate,
4358 },
4359
4360 {
4361 /* Q_GAUS - GET_ACE_USE */
4362 "get_ace_use",
4363 "gaus",
c44ddfa7 4364 2,
03c05291 4365 RETRIEVE,
4366 0,
4367 0,
4368 0,
4369 gaus_fields,
4370 2,
4371 0,
4372 2,
29028043 4373 NULL,
03c05291 4374 &gaus_validate,
4375 },
4376
d3051625 4377 {
4378 /* Q_GHBO - GET_HOST_BY_OWNER */
4379 "get_host_by_owner",
4380 "ghbo",
4381 2,
4382 RETRIEVE,
4383 0,
4384 0,
4385 0,
4386 ghbo_fields,
4387 1,
4388 0,
4389 2,
4390 NULL,
4391 &ghbo_validate,
4392 },
4393
03c05291 4394 {
4395 /* Q_QGLI - QUALIFIED_GET_LISTS */
4396 "qualified_get_lists",
4397 "qgli",
c44ddfa7 4398 2,
03c05291 4399 RETRIEVE,
4400 0,
4401 LIST_TABLE,
4402 0,
4403 qgli_fields,
4404 1,
4405 0,
4406 5,
29028043 4407 NULL,
03c05291 4408 &qgli_validate,
4409 },
4410
4411 {
4412 /* Q_GMOL - GET_MEMBERS_OF_LIST */
4413 "get_members_of_list",
4414 "gmol",
c44ddfa7 4415 2,
03c05291 4416 RETRIEVE,
7ac48069 4417 NULL,
03c05291 4418 IMEMBERS_TABLE,
7ac48069 4419 NULL,
03c05291 4420 gmol_fields,
4421 2,
7ac48069 4422 NULL,
03c05291 4423 1,
29028043 4424 NULL,
03c05291 4425 &gmol_validate,
4426 },
4427
4428 {
4429 /* Q_GEML - GET_END_MEMBERS_OF_LIST */
4430 "get_end_members_of_list",
4431 "geml",
c44ddfa7 4432 2,
03c05291 4433 RETRIEVE,
7ac48069 4434 NULL,
03c05291 4435 IMEMBERS_TABLE,
7ac48069 4436 NULL,
03c05291 4437 gmol_fields,
fd8d2149 4438 2,
7ac48069 4439 NULL,
03c05291 4440 1,
29028043 4441 NULL,
46b6f1f6 4442 &gmol_validate,
4443 },
4444
4445 {
4446 /* Q_GTML - GET_TAGGED_MEMBERS_OF_LIST */
4447 "get_tagged_members_of_list",
4448 "gtml",
c44ddfa7 4449 2,
46b6f1f6 4450 RETRIEVE,
4451 NULL,
4452 IMEMBERS_TABLE,
4453 NULL,
4454 gtml_fields,
4455 3,
4456 NULL,
4457 1,
4458 NULL,
4459 &gmol_validate,
03c05291 4460 },
5eaef520 4461
03c05291 4462 {
4463 /* Q_GLOM - GET_LISTS_OF_MEMBER */
4464 "get_lists_of_member",
4465 "glom",
c44ddfa7 4466 2,
03c05291 4467 RETRIEVE,
4468 0,
4469 IMEMBERS_TABLE,
4470 0,
4471 glom_fields,
4472 6,
4473 0,
4474 2,
29028043 4475 NULL,
03c05291 4476 &glom_validate,
4477 },
4478
4479 {
4480 /* Q_CMOL - COUNT_MEMBERS_OF_LIST */
4481 "count_members_of_list",
4482 "cmol",
c44ddfa7 4483 2,
03c05291 4484 RETRIEVE,
4485 0,
4486 IMEMBERS_TABLE,
4487 0,
4488 cmol_fields,
4489 1,
4490 0,
4491 1,
29028043 4492 NULL,
03c05291 4493 &cmol_validate,
4494 },
4495
d33e787c 4496 {
4497 /* Q_GSIN - GET_SERVER_INFO */
4498 "get_server_info",
4499 "gsin",
c44ddfa7 4500 2,
d33e787c 4501 RETRIEVE,
4502 "s",
03c05291 4503 SERVERS_TABLE,
4504 "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 4505 gsin_fields,
7ac4c1b1 4506 16,
263a36d4 4507 "name LIKE UPPER('%s')",
d33e787c 4508 1,
29028043 4509 "name",
d33e787c 4510 &gsin_validate,
4511 },
4512
4513 {
4514 /* Q_QGSV - QUALIFIED_GET_SERVER */
4515 "qualified_get_server",
4516 "qgsv",
c44ddfa7 4517 2,
d33e787c 4518 RETRIEVE,
4519 0,
03c05291 4520 SERVERS_TABLE,
d33e787c 4521 0,
4522 qgsv_fields,
4523 1,
4524 0,
4525 3,
29028043 4526 NULL,
d33e787c 4527 &qgsv_validate,
4528 },
4529
4530 {
4531 /* Q_ASIN - ADD_SERVER_INFO */
4532 "add_server_info",
4533 "asin",
c44ddfa7 4534 2,
d33e787c 4535 APPEND,
4536 "s",
03c05291 4537 SERVERS_TABLE,
5eaef520 4538 "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 4539 asin_fields,
4540 8,
7ac48069 4541 NULL,
d33e787c 4542 0,
29028043 4543 NULL,
d33e787c 4544 &asin_validate,
4545 },
4546
4547 {
4548 /* Q_USIN - UPDATE_SERVER_INFO */
4549 "update_server_info",
4550 "usin",
c44ddfa7 4551 2,
d33e787c 4552 UPDATE,
4553 "s",
03c05291 4554 SERVERS_TABLE,
4e5ec77f 4555 "servers SET update_int = %s, target_file = '%s', script = '%s', type = '%s', enable = %s, acl_type = '%s', acl_id = %d",
d33e787c 4556 asin_fields,
4557 7,
03c05291 4558 "name = UPPER('%s')",
d33e787c 4559 1,
29028043 4560 NULL,
d33e787c 4561 &asin_validate,
4562 },
4563
4564 {
4565 /* Q_RSVE - RESET_SERVER_ERROR */
4566 "reset_server_error",
4567 "rsve",
c44ddfa7 4568 2,
d33e787c 4569 UPDATE,
4570 "s",
03c05291 4571 SERVERS_TABLE,
4e5ec77f 4572 "servers SET harderror = 0, dfcheck = dfgen",
d33e787c 4573 dsin_fields,
4574 0,
03c05291 4575 "name = UPPER('%s')",
d33e787c 4576 1,
29028043 4577 NULL,
d33e787c 4578 &rsve_validate,
4579 },
4580
4581 {
4582 /* Q_SSIF - SET_SERVER_INTERNAL_FLAGS */
4583 "set_server_internal_flags",
4584 "ssif",
c44ddfa7 4585 2,
d33e787c 4586 UPDATE,
4587 "s",
03c05291 4588 SERVERS_TABLE,
5eaef520 4589 "servers SET dfgen = %s, dfcheck = %s, inprogress = %s, harderror = %s, errmsg = NVL('%s', CHR(0))",
d33e787c 4590 ssif_fields,
7ac4c1b1 4591 5,
03c05291 4592 "name = UPPER('%s')",
d33e787c 4593 1,
29028043 4594 NULL,
d33e787c 4595 &ssif_validate,
4596 },
4597
4598 {
4599 /* Q_DSIN - DELETE_SERVER_INFO */
4600 "delete_server_info",
4601 "dsin",
c44ddfa7 4602 2,
d33e787c 4603 DELETE,
4604 "s",
03c05291 4605 SERVERS_TABLE,
7ac48069 4606 NULL,
d33e787c 4607 dsin_fields,
4608 0,
03c05291 4609 "name = UPPER('%s')",
d33e787c 4610 1,
29028043 4611 NULL,
d33e787c 4612 &dsin_validate,
4613 },
4614
4615 {
5eaef520 4616 /* Q_GSHI - GET_SERVER_HOST_INFO */
d33e787c 4617 "get_server_host_info",
4618 "gshi",
c44ddfa7 4619 2,
d33e787c 4620 RETRIEVE,
4621 "sh",
03c05291 4622 SERVERHOSTS_TABLE,
4623 "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 4624 gshi_fields,
4625 16,
263a36d4 4626 "sh.service LIKE UPPER('%s') AND m.name LIKE UPPER('%s') AND m.mach_id = sh.mach_id",
d33e787c 4627 2,
29028043 4628 "sh.service, m.name",
d33e787c 4629 &gshi_validate,
4630 },
4631
4632 {
135dcb80 4633 /* Q_QGSH - QUALIFIED_GET_SERVER_HOST */
d33e787c 4634 "qualified_get_server_host",
4635 "qgsh",
c44ddfa7 4636 2,
d33e787c 4637 RETRIEVE,
135dcb80 4638 0,
03c05291 4639 SERVERHOSTS_TABLE,
d33e787c 4640 0,
4641 qgsh_fields,
4642 2,
4643 0,
4644 6,
29028043 4645 NULL,
d33e787c 4646 &qgsh_validate,
4647 },
4648
4649 {
4650 /* Q_ASHI - ADD_SERVER_HOST_INFO */
4651 "add_server_host_info",
4652 "ashi",
c44ddfa7 4653 2,
d33e787c 4654 APPEND,
4655 "sh",
03c05291 4656 SERVERHOSTS_TABLE,
5eaef520 4657 "INTO serverhosts (service, mach_id, enable, value1, value2, value3) VALUES (UPPER('%s'), %d, %s, %s, %s, NVL('%s', CHR(0)))",
d33e787c 4658 ashi_fields,
4659 6,
7ac48069 4660 NULL,
d33e787c 4661 0,
29028043 4662 NULL,
d33e787c 4663 &ashi_validate,
4664 },
4665
4666 {
4667 /* Q_USHI - UPDATE_SERVER_HOST_INFO */
4668 "update_server_host_info",
4669 "ushi",
c44ddfa7 4670 2,
d33e787c 4671 UPDATE,
4672 "sh",
03c05291 4673 SERVERHOSTS_TABLE,
5eaef520 4674 "serverhosts SET enable = %s, value1 = %s, value2 = %s, value3 = NVL('%s', CHR(0))",
d33e787c 4675 ashi_fields,
4676 4,
03c05291 4677 "service = UPPER('%s') AND mach_id = %d",
d33e787c 4678 2,
29028043 4679 NULL,
d33e787c 4680 &ashi_validate,
4681 },
4682
4683 {
4684 /* Q_RSHE - RESET_SERVER_HOST_ERROR */
4685 "reset_server_host_error",
4686 "rshe",
c44ddfa7 4687 2,
d33e787c 4688 UPDATE,
4689 "sh",
03c05291 4690 SERVERHOSTS_TABLE,
4e5ec77f 4691 "serverhosts SET hosterror = 0",
d33e787c 4692 dshi_fields,
4693 0,
03c05291 4694 "service = UPPER('%s') AND mach_id = %d",
d33e787c 4695 2,
29028043 4696 NULL,
d33e787c 4697 &rshe_validate,
4698 },
4699
4700 {
4701 /* Q_SSHO - SET_SERVER_HOST_OVERRIDE */
4702 "set_server_host_override",
4703 "ssho",
c44ddfa7 4704 2,
d33e787c 4705 UPDATE,
4706 "sh",
03c05291 4707 SERVERHOSTS_TABLE,
4e5ec77f 4708 "serverhosts SET override = 1",
d33e787c 4709 dshi_fields,
4710 0,
03c05291 4711 "service = UPPER('%s') AND mach_id = %d",
d33e787c 4712 2,
29028043 4713 NULL,
d33e787c 4714 &ssho_validate,
4715 },
4716
4717 {
e41960ac 4718 /* Q_SSHI - SET_SERVER_HOST_INTERNAL */
d33e787c 4719 "set_server_host_internal",
4720 "sshi",
c44ddfa7 4721 2,
d33e787c 4722 UPDATE,
7ac4c1b1 4723 "s",
03c05291 4724 SERVERHOSTS_TABLE,
5eaef520 4725 "serverhosts SET override = %s, success = %s, inprogress = %s, hosterror = %s, hosterrmsg = NVL('%s', CHR(0)), ltt = %s, lts = %s",
d33e787c 4726 sshi_fields,
4727 7,
5eaef520 4728 "service = UPPER('%s') AND mach_id = %d",
d33e787c 4729 2,
29028043 4730 NULL,
d33e787c 4731 &sshi_validate,
4732 },
4733
4734 {
03c05291 4735 /* Q_DSHI - DELETE_SERVER_HOST_INFO */
4736 "delete_server_host_info",
4737 "dshi",
c44ddfa7 4738 2,
d33e787c 4739 DELETE,
03c05291 4740 "sh",
4741 SERVERHOSTS_TABLE,
7ac48069 4742 NULL,
03c05291 4743 dshi_fields,
d33e787c 4744 0,
03c05291 4745 "service = UPPER('%s') AND mach_id = %d",
4746 2,
29028043 4747 NULL,
03c05291 4748 &dshi_validate,
d33e787c 4749 },
4750
4751 {
5eaef520 4752 /* Q_GSLO - GET_SERVER_LOCATIONS */
d33e787c 4753 "get_server_locations",
4754 "gslo",
c44ddfa7 4755 2,
d33e787c 4756 RETRIEVE,
4757 "sh",
03c05291 4758 SERVERHOSTS_TABLE,
4759 "sh.service, m.name FROM serverhosts sh, machine m",
d33e787c 4760 gslo_fields,
4761 2,
263a36d4 4762 "sh.service LIKE UPPER('%s') AND sh.mach_id = m.mach_id",
d33e787c 4763 1,
29028043 4764 "sh.service, m.name",
263a36d4 4765 NULL,
d33e787c 4766 },
4767
4768 {
5eaef520 4769 /* Q_GFSL - GET_FILESYS_BY_LABEL */
d33e787c 4770 "get_filesys_by_label",
4771 "gfsl",
c44ddfa7 4772 2,
d33e787c 4773 RETRIEVE,
4774 "fs",
03c05291 4775 FILESYS_TABLE,
4776 "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 4777 gfsl_fields,
4778 14,
263a36d4 4779 "fs.label LIKE '%s' AND fs.mach_id = m.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
d33e787c 4780 1,
29028043 4781 "fs.label",
5a8887d8 4782 &gfsl_validate,
d33e787c 4783 },
4784
4785 {
5eaef520 4786 /* Q_GFSM - GET_FILESYS_BY_MACHINE */
d33e787c 4787 "get_filesys_by_machine",
4788 "gfsm",
c44ddfa7 4789 2,
d33e787c 4790 RETRIEVE,
4791 "fs",
03c05291 4792 FILESYS_TABLE,
4793 "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 4794 gfsm_fields,
4795 14,
4e5ec77f 4796 "fs.mach_id = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
d33e787c 4797 1,
29028043 4798 "fs.label",
d33e787c 4799 &gfsm_validate,
4800 },
4801
88343c5e 4802 {
5eaef520 4803 /* Q_GFSN - GET_FILESYS_BY_NFSPHYS */
88343c5e 4804 "get_filesys_by_nfsphys",
4805 "gfsn",
c44ddfa7 4806 2,
88343c5e 4807 RETRIEVE,
4808 "fs",
03c05291 4809 FILESYS_TABLE,
4810 "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 4811 gfsn_fields,
4812 14,
cc1bca5c 4813 "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 4814 2,
29028043 4815 "fs.label",
99e09b48 4816 &gfsn_validate,
88343c5e 4817 },
4818
d33e787c 4819 {
5eaef520 4820 /* Q_GFSG - GET_FILESYS_BY_GROUP */
d33e787c 4821 "get_filesys_by_group",
4822 "gfsg",
c44ddfa7 4823 2,
d33e787c 4824 RETRIEVE,
4825 "fs",
03c05291 4826 FILESYS_TABLE,
4827 "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 4828 gfsg_fields,
4829 14,
4e5ec77f 4830 "fs.owners = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
d33e787c 4831 1,
29028043 4832 "fs.label",
d33e787c 4833 &gfsg_validate,
4834 },
4835
4ffa124a 4836 {
76f86976 4837 /* Q_GFSP - GET_FILESYS_BY_PATH */
4ffa124a 4838 "get_filesys_by_path",
4839 "gfsp",
c44ddfa7 4840 2,
4ffa124a 4841 RETRIEVE,
4842 "fs",
03c05291 4843 FILESYS_TABLE,
4844 "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 4845 gfsp_fields,
4846 14,
263a36d4 4847 "fs.name LIKE '%s' AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = list_id",
4ffa124a 4848 1,
29028043 4849 "fs.label",
263a36d4 4850 &VDfix_modby,
4ffa124a 4851 },
5eaef520 4852
d33e787c 4853 {
45bf7573 4854 /* Q_AFIL - ADD_FILESYS */ /* uses prefetch_value() for filsys_id */
d33e787c 4855 "add_filesys",
4856 "afil",
c44ddfa7 4857 2,
d33e787c 4858 APPEND,
4859 "fs",
03c05291 4860 FILESYS_TABLE,
d4296047 4861 "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 4862 afil_fields,
4863 11,
45bf7573 4864 0,
d33e787c 4865 0,
29028043 4866 NULL,
d33e787c 4867 &afil_validate,
4868 },
4869
4870 {
4871 /* Q_UFIL - UPDATE_FILESYS */
4872 "update_filesys",
4873 "ufil",
c44ddfa7 4874 2,
d33e787c 4875 UPDATE,
4876 "fs",
03c05291 4877 FILESYS_TABLE,
d4296047 4878 "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 4879 ufil_fields,
4880 11,
4e5ec77f 4881 "filsys_id = %d",
d33e787c 4882 1,
29028043 4883 NULL,
5eaef520 4884 &ufil_validate,
d33e787c 4885 },
4886
4887 {
4888 /* Q_DFIL - DELETE_FILESYS */
4889 "delete_filesys",
4890 "dfil",
c44ddfa7 4891 2,
d33e787c 4892 DELETE,
4893 "fs",
03c05291 4894 FILESYS_TABLE,
7ac48069 4895 NULL,
d33e787c 4896 dfil_fields,
4897 0,
4e5ec77f 4898 "filsys_id = %d",
d33e787c 4899 1,
29028043 4900 NULL,
d33e787c 4901 &dfil_validate,
4902 },
4903
95127ba8 4904 {
5eaef520 4905 /* Q_GFGM - GET_FSGROUP_MEMBERS */
95127ba8 4906 "get_fsgroup_members",
4907 "gfgm",
c44ddfa7 4908 2,
95127ba8 4909 RETRIEVE,
4910 "fg",
03c05291 4911 FSGROUP_TABLE,
4912 "fs.label, fg.key FROM fsgroup fg, filesys fs",
95127ba8 4913 gfgm_fields,
4914 2,
4e5ec77f 4915 "fg.group_id = %d AND fs.filsys_id = fg.filsys_id",
95127ba8 4916 1,
29028043 4917 "fs.label, fg.key",
95127ba8 4918 &gfgm_validate,
4919 },
4920
4921 {
76f86976 4922 /* Q_AFTG - ADD_FILESYS_TO_FSGROUP */
95127ba8 4923 "add_filesys_to_fsgroup",
4924 "aftg",
c44ddfa7 4925 2,
95127ba8 4926 APPEND,
4927 "fg",
03c05291 4928 FSGROUP_TABLE,
5eaef520 4929 "INTO fsgroup (group_id, filsys_id, key) VALUES (%d, %d, '%s')",
95127ba8 4930 gfgm_fields,
76f86976 4931 3,
7ac48069 4932 NULL,
76f86976 4933 0,
29028043 4934 NULL,
95127ba8 4935 &aftg_validate,
4936 },
4937
4938 {
4939 /* Q_RFFG - REMOVE_FILESYS_FROM_FSGROUP */
4940 "remove_filesys_from_fsgroup",
4941 "rffg",
c44ddfa7 4942 2,
95127ba8 4943 DELETE,
4944 "fg",
03c05291 4945 FSGROUP_TABLE,
7ac48069 4946 NULL,
95127ba8 4947 gfgm_fields,
4948 0,
4e5ec77f 4949 "group_id = %d AND filsys_id = %d",
95127ba8 4950 2,
29028043 4951 NULL,
95127ba8 4952 &aftg_validate,
4953 },
4954
d33e787c 4955 {
5eaef520 4956 /* Q_GANF - GET_ALL_NFSPHYS */
d33e787c 4957 "get_all_nfsphys",
4958 "ganf",
c44ddfa7 4959 2,
d33e787c 4960 RETRIEVE,
4961 "np",
03c05291 4962 NFSPHYS_TABLE,
4963 "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 4964 ganf_fields,
4965 9,
4e5ec77f 4966 "m.mach_id = np.mach_id",
d33e787c 4967 0,
29028043 4968 "m.name, np.dir",
4969 &VDfix_modby,
d33e787c 4970 },
4971
4972 {
5eaef520 4973 /* Q_GNFP - GET_NFSPHYS */
d33e787c 4974 "get_nfsphys",
4975 "gnfp",
c44ddfa7 4976 2,
d33e787c 4977 RETRIEVE,
4978 "np",
03c05291 4979 NFSPHYS_TABLE,
4980 "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 4981 gnfp_fields,
4982 9,
263a36d4 4983 "np.mach_id = %d AND np.dir LIKE '%s' AND m.mach_id = np.mach_id",
d33e787c 4984 2,
29028043 4985 "m.name, np.dir",
d33e787c 4986 &gnfp_validate,
4987 },
4988
4989 {
45bf7573 4990 /* Q_ANFP - ADD_NFSPHYS */ /* uses prefetch_value() for nfsphys_id */
d33e787c 4991 "add_nfsphys",
4992 "anfp",
c44ddfa7 4993 2,
d33e787c 4994 APPEND,
4995 "np",
03c05291 4996 NFSPHYS_TABLE,
5eaef520 4997 "INTO nfsphys (mach_id, dir, device, status, allocated, partsize, nfsphys_id) VALUES (%d, '%s', NVL('%s', CHR(0)), %s, %s, %s, %s)",
d33e787c 4998 ganf_fields,
4999 6,
45bf7573 5000 0,
d33e787c 5001 0,
29028043 5002 NULL,
d33e787c 5003 &anfp_validate,
5004 },
5005
5006 {
5007 /* Q_UNFP - UPDATE_NFSPHYS */
5008 "update_nfsphys",
5009 "unfp",
c44ddfa7 5010 2,
d33e787c 5011 UPDATE,
5012 "np",
03c05291 5013 NFSPHYS_TABLE,
5eaef520 5014 "nfsphys SET device = NVL('%s', CHR(0)), status = %s, allocated = %s, partsize = %s",
135dcb80 5015 ganf_fields,
d33e787c 5016 4,
5eaef520 5017 "mach_id = %d AND dir = '%s'",
d33e787c 5018 2,
29028043 5019 NULL,
45bf7573 5020 &unfp_validate,
d33e787c 5021 },
5022
5023 {
5024 /* Q_AJNF - ADJUST_NFSPHYS_ALLOCATION */
5025 "adjust_nfsphys_allocation",
5026 "ajnf",
c44ddfa7 5027 2,
d33e787c 5028 UPDATE,
5029 "np",
03c05291 5030 NFSPHYS_TABLE,
4e5ec77f 5031 "nfsphys SET allocated = allocated + %s",
99e09b48 5032 ajnf_fields,
d33e787c 5033 1,
4e5ec77f 5034 "mach_id = %d AND dir = '%s'",
d33e787c 5035 2,
29028043 5036 NULL,
f802fd0d 5037 &ajnf_validate,
d33e787c 5038 },
5039
5040 {
5041 /* Q_DNFP - DELETE_NFSPHYS */
5042 "delete_nfsphys",
5043 "dnfp",
c44ddfa7 5044 2,
d33e787c 5045 DELETE,
5046 "np",
03c05291 5047 NFSPHYS_TABLE,
7ac48069 5048 NULL,
d33e787c 5049 dnfp_fields,
5050 0,
4e5ec77f 5051 "mach_id = %d AND dir = '%s'",
d33e787c 5052 2,
29028043 5053 NULL,
d33e787c 5054 &dnfp_validate,
5055 },
5056
368be132 5057 {
5eaef520 5058 /* Q_GQOT - GET_QUOTA */
368be132 5059 "get_quota",
5060 "gqot",
c44ddfa7 5061 2,
368be132 5062 RETRIEVE,
5063 "q",
03c05291 5064 QUOTA_TABLE,
5065 "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 5066 gqot_fields,
5067 9,
263a36d4 5068 "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 5069 3,
29028043 5070 NULL,
368be132 5071 &gqot_validate,
5072 },
5073
5074 {
5eaef520 5075 /* Q_GQBF - GET_QUOTA_BY_FILESYS */
368be132 5076 "get_quota_by_filesys",
5077 "gqbf",
c44ddfa7 5078 2,
368be132 5079 RETRIEVE,
5080 "q",
03c05291 5081 QUOTA_TABLE,
5082 "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 5083 gqbf_fields,
5084 9,
263a36d4 5085 "fs.label LIKE '%s' AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id",
368be132 5086 1,
29028043 5087 "fs.label, q.type",
368be132 5088 &gqbf_validate,
5089 },
5090
5091 {
135dcb80 5092 /* Q_AQOT - ADD_QUOTA */ /* prefetch_filsys() gets last 1 value */
368be132 5093 "add_quota",
5094 "aqot",
c44ddfa7 5095 2,
368be132 5096 APPEND,
135dcb80 5097 0,
03c05291 5098 QUOTA_TABLE,
135dcb80 5099 "INTO quota (filsys_id, type, entity_id, quota, phys_id) VALUES ('%s', %d, %d, %s, %s)",
368be132 5100 aqot_fields,
135dcb80 5101 4,
7ac48069 5102 NULL,
76f86976 5103 0,
29028043 5104 NULL,
368be132 5105 &aqot_validate,
5106 },
5107
5108 {
5109 /* Q_UQOT - UPDATE_QUOTA */
5110 "update_quota",
5111 "uqot",
c44ddfa7 5112 2,
368be132 5113 UPDATE,
135dcb80 5114 0,
03c05291 5115 QUOTA_TABLE,
4e5ec77f 5116 "quota SET quota = %s",
368be132 5117 aqot_fields,
5118 1,
135dcb80 5119 0,
368be132 5120 3,
29028043 5121 NULL,
368be132 5122 &uqot_validate,
5123 },
5124
5125 {
5126 /* Q_DQOT - DELETE_QUOTA */
5127 "delete_quota",
5128 "dqot",
c44ddfa7 5129 2,
368be132 5130 DELETE,
135dcb80 5131 0,
03c05291 5132 QUOTA_TABLE,
7ac48069 5133 NULL,
368be132 5134 aqot_fields,
5135 0,
135dcb80 5136 0,
368be132 5137 3,
29028043 5138 NULL,
368be132 5139 &dqot_validate,
5140 },
5141
d33e787c 5142 {
5eaef520 5143 /* Q_GNFQ - GET_NFS_QUOTAS */
88343c5e 5144 "get_nfs_quota",
d33e787c 5145 "gnfq",
c44ddfa7 5146 2,
d33e787c 5147 RETRIEVE,
368be132 5148 "q",
03c05291 5149 QUOTA_TABLE,
5150 "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 5151 gnfq_fields,
5152 8,
263a36d4 5153 "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 5154 2,
29028043 5155 "fs.label, u.login",
d33e787c 5156 &gnfq_validate,
5157 },
5158
5159 {
5eaef520 5160 /* Q_GNQP - GET_NFS_QUOTAS_BY_PARTITION */
d33e787c 5161 "get_nfs_quotas_by_partition",
5162 "gnqp",
c44ddfa7 5163 2,
d33e787c 5164 RETRIEVE,
368be132 5165 "q",
03c05291 5166 QUOTA_TABLE,
5167 "fs.label, u.login, q.quota, np.dir, m.name FROM quota q, filesys fs, users u, nfsphys np, machine m",
d33e787c 5168 gnqp_fields,
5169 5,
263a36d4 5170 "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 5171 2,
29028043 5172 "fs.label",
263a36d4 5173 NULL,
d33e787c 5174 },
5175
d33e787c 5176 {
135dcb80 5177 /* Q_ANFQ - ADD_NFS_QUOTA */ /* prefetch_filsys() gets last 1 value */
d33e787c 5178 "add_nfs_quota",
5179 "anfq",
c44ddfa7 5180 2,
d33e787c 5181 APPEND,
135dcb80 5182 0,
03c05291 5183 QUOTA_TABLE,
135dcb80 5184 "INTO quota (type, filsys_id, entity_id, quota, phys_id ) VALUES ('USER', %d, %d, %s, %s)",
d33e787c 5185 anfq_fields,
135dcb80 5186 3,
7ac48069 5187 NULL,
76f86976 5188 0,
29028043 5189 NULL,
d33e787c 5190 &anfq_validate,
5191 },
5192
5193 {
5eaef520 5194 /* Q_UNFQ - UPDATE_NFS_QUOTA */
d33e787c 5195 "update_nfs_quota",
5196 "unfq",
c44ddfa7 5197 2,
d33e787c 5198 UPDATE,
135dcb80 5199 0,
03c05291 5200 QUOTA_TABLE,
4e5ec77f 5201 "quota SET quota = %s",
d33e787c 5202 anfq_fields,
5203 1,
135dcb80 5204 0,
d33e787c 5205 2,
29028043 5206 NULL,
d33e787c 5207 &unfq_validate,
5208 },
5209
5210 {
5211 /* Q_DNFQ - DELETE_NFS_QUOTA */
5212 "delete_nfs_quota",
5213 "dnfq",
c44ddfa7 5214 2,
d33e787c 5215 DELETE,
135dcb80 5216 0,
03c05291 5217 QUOTA_TABLE,
7ac48069 5218 NULL,
d33e787c 5219 anfq_fields,
5220 0,
135dcb80 5221 0,
d33e787c 5222 2,
29028043 5223 NULL,
d33e787c 5224 &dnfq_validate,
5225 },
5226
d33e787c 5227 {
5228 /* Q_GZCL - GET_ZEPHYR_CLASS */
5229 "get_zephyr_class",
5230 "gzcl",
c44ddfa7 5231 2,
d33e787c 5232 RETRIEVE,
5233 "z",
03c05291 5234 ZEPHYR_TABLE,
5235 "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 5236 gzcl_fields,
5237 12,
263a36d4 5238 "class LIKE '%s'",
d33e787c 5239 1,
29028043 5240 "class",
d33e787c 5241 &gzcl_validate,
03c05291 5242 },
d33e787c 5243
5244 {
5245 /* Q_AZCL - ADD_ZEPHYR_CLASS */
5246 "add_zephyr_class",
5247 "azcl",
c44ddfa7 5248 2,
d33e787c 5249 APPEND,
5250 "z",
03c05291 5251 ZEPHYR_TABLE,
5eaef520 5252 "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 5253 azcl_fields,
5254 9,
5255 0,
5256 0,
29028043 5257 NULL,
d33e787c 5258 &azcl_validate,
5eaef520 5259 },
d33e787c 5260
5261 {
5262 /* Q_UZCL - UPDATE_ZEPHYR_CLASS */
5263 "update_zephyr_class",
5264 "uzcl",
c44ddfa7 5265 2,
d33e787c 5266 UPDATE,
5267 "z",
03c05291 5268 ZEPHYR_TABLE,
135dcb80 5269 "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 5270 uzcl_fields,
5271 9,
99e09b48 5272 "class = '%s'",
d33e787c 5273 1,
29028043 5274 NULL,
d33e787c 5275 &uzcl_validate,
5eaef520 5276 },
d33e787c 5277
5278 {
5279 /* Q_DZCL - DELETE_ZEPHYR_CLASS */
5280 "delete_zephyr_class",
5281 "dzcl",
c44ddfa7 5282 2,
d33e787c 5283 DELETE,
5284 "z",
03c05291 5285 ZEPHYR_TABLE,
d33e787c 5286 0,
5287 uzcl_fields,
5288 0,
99e09b48 5289 "class = '%s'",
d33e787c 5290 1,
29028043 5291 NULL,
d33e787c 5292 &dzcl_validate,
5eaef520 5293 },
fd5b2340 5294
03c05291 5295 {
5eaef520 5296 /* Q_GSHA - GET_SERVER_HOST_ACCESS */
03c05291 5297 "get_server_host_access",
5298 "gsha",
c44ddfa7 5299 2,
03c05291 5300 RETRIEVE,
5301 "ha",
5302 HOSTACCESS_TABLE,
5303 "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",
5304 gsha_fields,
5305 6,
263a36d4 5306 "m.name LIKE UPPER('%s') AND ha.mach_id = m.mach_id",
03c05291 5307 1,
29028043 5308 "m.name",
03c05291 5309 &gsha_validate,
5310 },
5311
5312 {
5313 /* Q_ASHA - ADD_SERVER_HOST_ACCESS */
5314 "add_server_host_access",
5315 "asha",
c44ddfa7 5316 2,
03c05291 5317 APPEND,
5318 "ha",
5319 HOSTACCESS_TABLE,
5eaef520 5320 "INTO hostaccess (mach_id, acl_type, acl_id) VALUES (%d, '%s', %d)",
03c05291 5321 asha_fields,
5322 3,
5323 0,
5324 0,
29028043 5325 NULL,
03c05291 5326 &asha_validate,
5327 },
5328
5329 {
5330 /* Q_USHA - UPDATE_SERVER_HOST_ACCESS */
5331 "update_server_host_access",
5332 "usha",
c44ddfa7 5333 2,
03c05291 5334 UPDATE,
5335 "ha",
5336 HOSTACCESS_TABLE,
5337 "hostaccess SET acl_type = '%s', acl_id = %d",
5338 asha_fields,
5339 2,
5340 "mach_id = %d",
5341 1,
29028043 5342 NULL,
03c05291 5343 &asha_validate,
5344 },
5345
5346 {
5347 /* Q_DSHA - DELETE_SERVER_HOST_ACCESS */
5348 "delete_server_host_access",
5349 "dsha",
c44ddfa7 5350 2,
03c05291 5351 DELETE,
5352 "ha",
5353 HOSTACCESS_TABLE,
5354 0,
5355 asha_fields,
5356 0,
5357 "mach_id = %d",
5358 1,
29028043 5359 NULL,
03c05291 5360 &VDmach,
5361 },
5362
46b6f1f6 5363 {
5364 /* Q_GACL - GET_ACL */
5365 "get_acl",
5366 "gacl",
c44ddfa7 5367 2,
46b6f1f6 5368 RETRIEVE,
5369 "ac",
5370 ACL_TABLE,
5371 "m.name, ac.target, ac.kind, l.name FROM acl ac, machine m, list l",
5372 gacl_fields,
5373 4,
5374 "m.mach_id = %d AND m.mach_id = ac.mach_id AND ac.target LIKE '%s' AND l.list_id = ac.list_id",
5375 2,
5376 "m.name, ac.target, ac.kind",
5377 &gacl_validate,
5378 },
5379
5380 {
5381 /* Q_AACL - ADD_ACL */
5382 "add_acl",
5383 "aacl",
c44ddfa7 5384 2,
46b6f1f6 5385 APPEND,
5386 "ac",
5387 ACL_TABLE,
5388 "INTO acl (mach_id, target, kind, list_id) VALUES (%d, '%s', '%s', %d)",
5389 aacl_fields,
5390 4,
5391 0,
5392 0,
5393 NULL,
5394 &aacl_validate,
5395 },
5396
5397 {
5398 /* Q_DACL - DELETE_ACL */
5399 "delete_acl",
5400 "dacl",
c44ddfa7 5401 2,
46b6f1f6 5402 DELETE,
5403 "ac",
5404 ACL_TABLE,
5405 0,
5406 dacl_fields,
5407 0,
5408 "mach_id = %d AND target = '%s'",
5409 2,
5410 NULL,
5411 &gacl_validate,
5412 },
5413
d33e787c 5414 {
5415 /* Q_GSVC - GET_SERVICE */
5416 "get_service",
5417 "gsvc",
c44ddfa7 5418 2,
d33e787c 5419 RETRIEVE,
0c345c78 5420 "ss",
03c05291 5421 SERVICES_TABLE,
5422 "name, protocol, port, description, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM services",
fd5b2340 5423 gsvc_fields,
d33e787c 5424 7,
69eb9470 5425 "name LIKE '%s' AND protocol LIKE '%s'",
5426 2,
29028043 5427 "name",
263a36d4 5428 &VDfix_modby,
d33e787c 5429 },
5430
5431 {
5432 /* Q_ASVC - ADD_SERVICE */
5433 "add_service",
5434 "asvc",
c44ddfa7 5435 2,
d33e787c 5436 APPEND,
0c345c78 5437 "ss",
03c05291 5438 SERVICES_TABLE,
5eaef520 5439 "INTO services (name, protocol, port, description) VALUES ('%s', '%s', %s, NVL('%s', CHR(0)))",
fd5b2340 5440 asvc_fields,
d33e787c 5441 4,
7ac48069 5442 NULL,
d33e787c 5443 0,
29028043 5444 NULL,
d33e787c 5445 &asvc_validate,
5446 },
5447
5448 {
5449 /* Q_DSVC - DELETE_SERVICE */
5450 "delete_service",
5451 "dsvc",
c44ddfa7 5452 2,
d33e787c 5453 DELETE,
0c345c78 5454 "ss",
03c05291 5455 SERVICES_TABLE,
d33e787c 5456 0,
69eb9470 5457 dsvc_fields,
d33e787c 5458 0,
69eb9470 5459 "name = '%s' AND protocol = '%s'",
5460 2,
29028043 5461 NULL,
69eb9470 5462 &dsvc_validate,
d33e787c 5463 },
fd5b2340 5464
d33e787c 5465 {
2884200f 5466 /* Q_GPRN - GET_PRINTER */
5467 "get_printer",
5468 "gprn",
c44ddfa7 5469 2,
d33e787c 5470 RETRIEVE,
2884200f 5471 "pr",
5472 PRINTERS_TABLE,
e5a63571 5473 "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 5474 gprn_fields,
e5a63571 5475 19,
2884200f 5476 "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 5477 1,
2884200f 5478 "pr.name",
5479 &VDfix_modby,
d33e787c 5480 },
5481
5482 {
2884200f 5483 /* Q_GPBD - GET_PRINTER_BY_DUPLEXNAME */
5484 "get_printer_by_duplexname",
5485 "gpbd",
c44ddfa7 5486 2,
2884200f 5487 RETRIEVE,
5488 "pr",
5489 PRINTERS_TABLE,
e5a63571 5490 "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 5491 gpbd_fields,
e5a63571 5492 19,
2884200f 5493 "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",
5494 1,
5495 "pr.name",
5496 &VDfix_modby,
fd5b2340 5497 },
5498
5499 {
2884200f 5500 /* Q_GPBE - GET_PRINTER_BY_ETHERNET */
5501 "get_printer_by_ethernet",
5502 "gpbe",
c44ddfa7 5503 2,
2884200f 5504 RETRIEVE,
5505 "pr",
5506 PRINTERS_TABLE,
e5a63571 5507 "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 5508 gpbd_fields,
e5a63571 5509 19,
59841cdb 5510 "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 5511 1,
2884200f 5512 "pr.name",
5513 &VDfix_modby,
fd5b2340 5514 },
5515
5516 {
2884200f 5517 /* Q_GPBH - GET_PRINTER_BY_HOSTNAME */
5518 "get_printer_by_hostname",
5519 "gpbh",
c44ddfa7 5520 2,
fd5b2340 5521 RETRIEVE,
2884200f 5522 "pr",
5523 PRINTERS_TABLE,
e5a63571 5524 "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 5525 gpbh_fields,
e5a63571 5526 19,
2884200f 5527 "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 5528 1,
2884200f 5529 "pr.name",
263a36d4 5530 &VDfix_modby,
d33e787c 5531 },
5532
5533 {
2884200f 5534 /* Q_GPBR - GET_PRINTER_BY_RM */
5535 "get_printer_by_rm",
5536 "gpbr",
c44ddfa7 5537 2,
2884200f 5538 RETRIEVE,
5539 "pr",
5540 PRINTERS_TABLE,
e5a63571 5541 "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 5542 gpbr_fields,
e5a63571 5543 19,
2884200f 5544 "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 5545 1,
2884200f 5546 "pr.name",
5547 &VDfix_modby,
d33e787c 5548 },
5549
012fc215 5550 {
2884200f 5551 /* Q_GPBL - GET_PRINTER_BY_LOCATION */
5552 "get_printer_by_location",
5553 "gpbl",
c44ddfa7 5554 2,
012fc215 5555 RETRIEVE,
2884200f 5556 "pr",
5557 PRINTERS_TABLE,
e5a63571 5558 "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 5559 gpbl_fields,
e5a63571 5560 19,
2884200f 5561 "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",
5562 1,
5563 "pr.name",
5564 &VDfix_modby,
5565 },
5566
5567 {
5568 /* Q_GPBC - GET_PRINTER_BY_CONTACT */
5569 "get_printer_by_contact",
5570 "gpbc",
c44ddfa7 5571 2,
2884200f 5572 RETRIEVE,
5573 "pr",
5574 PRINTERS_TABLE,
e5a63571 5575 "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 5576 gpbc_fields,
e5a63571 5577 19,
2884200f 5578 "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 5579 1,
2884200f 5580 "pr.name",
263a36d4 5581 &VDfix_modby,
012fc215 5582 },
5583
5584 {
2884200f 5585 /* Q_APRN - ADD_PRINTER */
5586 "add_printer",
5587 "aprn",
c44ddfa7 5588 2,
012fc215 5589 APPEND,
2884200f 5590 "pr",
5591 PRINTERS_TABLE,
e5a63571 5592 "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 5593 aprn_fields,
e5a63571 5594 16,
012fc215 5595 0,
5596 0,
29028043 5597 NULL,
2884200f 5598 &aprn_validate,
012fc215 5599 },
5600
1a9a0a59 5601 {
5602 /* Q_UPRN - UPDATE_PRINTER */
5603 "update_printer",
5604 "uprn",
c44ddfa7 5605 2,
1a9a0a59 5606 UPDATE,
5607 "pr",
5608 PRINTERS_TABLE,
5609 "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))",
5610 uprn_fields,
5611 16,
5612 0,
5613 0,
5614 NULL,
5615 &uprn_validate,
5616 },
5617
012fc215 5618 {
2884200f 5619 /* Q_DPRN - DELETE_PRINTER */
5620 "delete_printer",
5621 "dprn",
c44ddfa7 5622 2,
012fc215 5623 DELETE,
2884200f 5624 "pr",
5625 PRINTERS_TABLE,
012fc215 5626 0,
2884200f 5627 aprn_fields,
012fc215 5628 0,
99e09b48 5629 "name = '%s'",
012fc215 5630 1,
29028043 5631 NULL,
2884200f 5632 &dprn_validate,
012fc215 5633 },
5634
1a9a0a59 5635 {
5636 /* Q_GPSV - GET_PRINT_SERVER */
5637 "get_print_server",
5638 "gpsv",
c44ddfa7 5639 2,
1a9a0a59 5640 RETRIEVE,
5641 "ps",
5642 PRINTSERVERS_TABLE,
5643 "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",
5644 gpsv_fields,
5645 9,
5646 "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",
5647 1,
5648 NULL,
5649 &gpsv_validate,
5650 },
5651
5652 {
5653 /* Q_APSV - ADD_PRINT_SERVER */
5654 "add_print_server",
5655 "apsv",
c44ddfa7 5656 2,
1a9a0a59 5657 APPEND,
5658 "ps",
5659 PRINTSERVERS_TABLE,
5660 "INTO printservers (mach_id, kind, printer_types, owner_type, owner_id, lpc_acl) VALUES (%d, '%s', %d, '%s', %d, %d)",
5661 apsv_fields,
5662 6,
5663 0,
5664 0,
5665 NULL,
5666 &apsv_validate,
5667 },
5668
5669 {
5670 /* Q_UPSV - UPDATE_PRINT_SERVER */
5671 "update_print_server",
5672 "upsv",
c44ddfa7 5673 2,
1a9a0a59 5674 UPDATE,
5675 "ps",
5676 PRINTSERVERS_TABLE,
5677 "printservers SET kind = '%s', printer_types = %d, owner_type = '%s', owner_id = %d, lpc_acl = %d",
5678 apsv_fields,
5679 5,
5680 "mach_id = %d",
5681 1,
5682 NULL,
5683 &apsv_validate,
5684 },
5685
5686 {
5687 /* Q_DPSV - DELETE_PRINT_SERVER */
5688 "delete_print_server",
5689 "dpsv",
c44ddfa7 5690 2,
1a9a0a59 5691 DELETE,
5692 "ps",
5693 PRINTSERVERS_TABLE,
5694 0,
5695 dpsv_fields,
5696 0,
5697 "mach_id = %d",
5698 1,
5699 NULL,
5700 &dpsv_validate,
5701 },
5702
d33e787c 5703 {
5704 /* Q_GALI - GET_ALIAS */
5705 "get_alias",
5706 "gali",
c44ddfa7 5707 2,
d33e787c 5708 RETRIEVE,
5709 "a",
03c05291 5710 ALIAS_TABLE,
5711 "name, type, trans FROM alias",
d33e787c 5712 gali_fields,
5713 3,
263a36d4 5714 "name LIKE '%s' AND type LIKE '%s' AND trans LIKE '%s'",
d33e787c 5715 3,
29028043 5716 "type, name, trans",
263a36d4 5717 NULL,
d33e787c 5718 },
5719
5720 {
5721 /* Q_AALI - ADD_ALIAS */
5722 "add_alias",
5723 "aali",
c44ddfa7 5724 2,
d33e787c 5725 APPEND,
5726 "a",
03c05291 5727 ALIAS_TABLE,
4e5ec77f 5728 "INTO alias (name, type, trans) VALUES ('%s', '%s', '%s')",
d33e787c 5729 aali_fields,
5730 3,
7ac48069 5731 NULL,
d33e787c 5732 0,
29028043 5733 NULL,
d33e787c 5734 &aali_validate,
5735 },
5736
5737 {
5738 /* Q_DALI - DELETE_ALIAS */
5739 "delete_alias",
5740 "dali",
c44ddfa7 5741 2,
d33e787c 5742 DELETE,
5743 "a",
03c05291 5744 ALIAS_TABLE,
7ac48069 5745 NULL,
d33e787c 5746 aali_fields,
5747 0,
5eaef520 5748 "name = '%s' AND type = '%s' AND trans = '%s'",
d33e787c 5749 3,
29028043 5750 NULL,
d33e787c 5751 &dali_validate,
5752 },
5753
5754 {
5755 /* Q_GVAL - GET_VALUE */
5756 "get_value",
5757 "gval",
c44ddfa7 5758 2,
d33e787c 5759 RETRIEVE,
0c345c78 5760 "val",
03c05291 5761 NUMVALUES_TABLE,
5762 "value FROM numvalues",
d33e787c 5763 gval_fields,
5764 1,
03c05291 5765 "name = '%s'",
d33e787c 5766 1,
29028043 5767 NULL,
d33e787c 5768 &gval_validate,
5769 },
5770
5771 {
5772 /* Q_AVAL - ADD_VALUE */
5773 "add_value",
5774 "aval",
c44ddfa7 5775 2,
d33e787c 5776 APPEND,
0c345c78 5777 "val",
03c05291 5778 NUMVALUES_TABLE,
4e5ec77f 5779 "INTO numvalues (name, value) VALUES ('%s', %s)",
d33e787c 5780 aval_fields,
5781 2,
7ac48069 5782 NULL,
d33e787c 5783 0,
29028043 5784 NULL,
d33e787c 5785 &aval_validate,
5786 },
5787
5788 {
5789 /* Q_UVAL - UPDATE_VALUE */
5790 "update_value",
5791 "uval",
c44ddfa7 5792 2,
d33e787c 5793 UPDATE,
0c345c78 5794 "val",
03c05291 5795 NUMVALUES_TABLE,
4e5ec77f 5796 "numvalues SET value = %s",
d33e787c 5797 aval_fields,
5798 1,
99e09b48 5799 "name = '%s'",
d33e787c 5800 1,
29028043 5801 NULL,
d33e787c 5802 &aval_validate,
5803 },
5804
5805 {
5806 /* Q_DVAL - DELETE_VALUE */
5807 "delete_value",
5808 "dval",
c44ddfa7 5809 2,
d33e787c 5810 DELETE,
0c345c78 5811 "val",
03c05291 5812 NUMVALUES_TABLE,
7ac48069 5813 NULL,
d33e787c 5814 dval_fields,
5815 0,
99e09b48 5816 "name = '%s'",
d33e787c 5817 1,
29028043 5818 NULL,
d33e787c 5819 &aval_validate,
5820 },
5821
5822 {
5823 /* Q_GATS - GET_ALL_TABLE_STATS */
5824 "get_all_table_stats",
5825 "gats",
c44ddfa7 5826 2,
d33e787c 5827 RETRIEVE,
5828 "tbs",
03c05291 5829 TBLSTATS_TABLE,
5830 "table_name, appends, updates, deletes, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS') FROM tblstats",
d33e787c 5831 gats_fields,
45bf7573 5832 5,
7ac48069 5833 NULL,
d33e787c 5834 0,
29028043 5835 "table_name",
d33e787c 5836 0,
5837 },
5838
2962e9ec 5839 {
5840 /* Q__SDL - _SET_DEBUG_LEVEL */
5841 "_set_debug_level",
5842 "_sdl",
c44ddfa7 5843 2,
2962e9ec 5844 UPDATE,
7ac48069 5845 NULL,
03c05291 5846 0,
7ac48069 5847 NULL,
2962e9ec 5848 _sdl_fields,
5849 1,
7ac48069 5850 NULL,
2962e9ec 5851 0,
29028043 5852 NULL,
2962e9ec 5853 &_sdl_validate,
5854 },
5855
d33e787c 5856};
5857
c44ddfa7 5858int QueryCount = (sizeof(Queries) / sizeof(struct query));
This page took 1.299161 seconds and 5 git commands to generate.