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