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