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