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