*/
#include <mit-copyright.h>
+#include "mr_server.h"
+#undef ACE_TYPE
+#undef ACE_NAME
+#undef NAME
#include "query.h"
-#include "sms_et.h"
+#include "mr_et.h"
/* Specialized Support Query Routines */
int access_qgli();
int access_service();
int access_filesys();
+int access_host();
+int access_ahal();
+int access_snt();
/* Query Setup Routines */
+int prefetch_value();
+int prefetch_filesys();
int setup_ausr();
int setup_dusr();
int setup_spop();
int setup_dpob();
int setup_dmac();
+int setup_dsnet();
int setup_dclu();
int setup_alis();
int setup_dlis();
int setup_afil();
int setup_ufil();
int setup_dfil();
+int setup_aftg();
int setup_dnfp();
-int setup_dnfq();
-int setup_sshi();
+int setup_dqot();
int setup_akum();
+int setup_dsnt();
+int setup_ahst();
+int setup_ahal();
/* Query Followup Routines */
int followup_fix_modby();
int followup_ausr();
int followup_gpob();
int followup_glin();
-int followup_anfq();
+int followup_aqot();
+int followup_dqot();
int followup_gzcl();
int followup_gsha();
-int followup_gnfq();
+int followup_gqot();
+int followup_gpce();
+int followup_guax();
+int followup_uuac();
+int followup_gsnt();
+int followup_ghst();
int set_modtime();
int set_modtime_by_id();
int get_ace_use();
int qualified_get_lists();
int get_members_of_list();
+int get_end_members_of_list();
int qualified_get_server();
int qualified_get_serverhost();
int trigger_dcm();
int count_members_of_list();
int get_lists_of_member();
int register_user();
+int _sdl_followup();
\f
static char ACE_NAME[] = "ace_name";
static char ACE_TYPE[] = "ace_type";
+static char ADDRESS[] = "address";
+static char ALIAS[] = "alias";
static char CLASS[] = "class";
static char CLU_ID[] = "clu_id";
-static char CLUSTER[] = "cluster";
+static char CLUSTER[] = "clusters";
+static char COMMENTS[] = "comments";
static char DESC[] = "description";
static char DEVICE[] = "device";
static char DIR[] = "dir";
static char FILESYS[] = "filesys";
static char FILSYS_ID[] = "filsys_id";
-static char FIRST[] = "firstname";
+static char FIRST[] = "first";
+static char HOSTACCESS[] = "hostaccess";
static char LABEL[] = "label";
-static char LAST[] = "lastname";
+static char LAST[] = "last";
static char LIST[] = "list";
static char LIST_ID[] = "list_id";
static char LOCATION[] = "location";
static char MACH_ID[] = "mach_id";
static char MACHINE[] = "machine";
static char MIDDLE[] = "middle";
-static char MIT_ID[] = "mit_id";
+static char MIT_ID[] = "clearid";
static char MOD1[] = "modtime";
static char MOD2[] = "modby";
static char MOD3[] = "modwith";
static char NAME[] = "name";
+static char PRINTCAP[] = "printcap";
+static char QUOTA[] = "quota";
+static char QUOTA_TYPE[] = "quota_type";
+static char SECURE[] = "secure";
static char SERVICE[] = "service";
+static char SERVERS[] = "servers";
static char SHELL[] = "shell";
+static char SIGNATURE[] = "signature";
+static char SNET_ID[] = "snet_id";
+static char SUBNET[] = "subnet";
static char STATUS[] = "status";
static char TYPE[] = "type";
static char USERS[] = "users";
static char USERS_ID[] = "users_id";
-static char UID[] = "uid";
+static char UID[] = "unix_uid";
+static char ZEPH[] = "zephyr";
+static char ZEPH_ID[] = "xmt_id";
+/* Table Names */
+char *table_name[] = {
+ "none", USERS, "krbmap", MACHINE, "hostalias", SUBNET, CLUSTER,
+ "mcmap", "svc", LIST, "imembers", SERVERS, "serverhosts", FILESYS,
+ "fsgroup", "nfsphys", "quota", ZEPH, HOSTACCESS, "strings", "services",
+ PRINTCAP, "palladium", "capacls", "alias", "numvalues", "tblstats",
+ "incremental"};
+int num_tables = 27;
/* VALOBJS
* can be shared.
*/
+/*
+ * A word about validation objects and locking: The validation object
+ * for a query should also request locks on behalf of the pre-processing
+ * and post-processing routines. This helps to ensure that tables are
+ * accessed and locked in the proper order and thus avoids deadlock
+ * situations
+ */
+
static struct valobj VOsort0[] = {
- {V_SORT, 0, 0, 0, 0, 0},
+ {V_SORT, 0},
+};
+
+static struct valobj VOwild0[] = {
+ {V_WILD, 0},
+};
+
+static struct valobj VOupwild0[] = {
+ {V_UPWILD, 0},
+};
+
+static struct valobj VOwild0sort[] = {
+ {V_WILD, 0},
+ {V_SORT, 0},
+};
+
+static struct valobj VOupwild0sort[] = {
+ {V_UPWILD, 0},
+ {V_SORT, 0},
+};
+
+static struct valobj VOwild01sort0[] = {
+ {V_WILD, 0},
+ {V_WILD, 1},
+ {V_SORT, 0},
+};
+
+static struct valobj VOwild01sort01[] = {
+ {V_WILD, 0},
+ {V_WILD, 1},
+ {V_SORT, 0},
+ {V_SORT, 1},
};
-static struct valobj VOdate1[] = {
- {V_DATE, 1, 0, 0, 0, SMS_DATE},
+static struct valobj VOwild012sort0[] = { /* get_alias */
+ {V_WILD, 0},
+ {V_WILD, 1},
+ {V_WILD, 2},
+ {V_SORT, 0},
};
+
static struct valobj VOuser0[] = {
- {V_ID, 0, USERS, LOGIN, USERS_ID, SMS_USER},
+ {V_ID, 0, USERS_TABLE, LOGIN, USERS_ID, MR_USER},
};
+
static struct valobj VOuser0lock[] = {
- {V_LOCK, 0, USERS, 0, USERS_ID, SMS_DEADLOCK},
- {V_ID, 0, USERS, LOGIN, USERS_ID, SMS_USER},
+ {V_LOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_ID, 0, USERS_TABLE, LOGIN, USERS_ID, MR_USER},
};
static struct valobj VOmach0[] = {
- {V_ID, 0, MACHINE, NAME, MACH_ID, SMS_MACHINE},
+ {V_ID, 0, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
};
static struct valobj VOclu0[] = {
- {V_ID, 0, CLUSTER, NAME, CLU_ID, SMS_CLUSTER},
+ {V_ID, 0, CLUSTER_TABLE, NAME, CLU_ID, MR_CLUSTER},
};
static struct valobj VOlist0[] = {
- {V_ID, 0, LIST, NAME, LIST_ID, SMS_LIST},
+ {V_ID, 0, LIST_TABLE, NAME, LIST_ID, MR_LIST},
};
-static struct valobj VOfilsys0[] = {
- {V_ID, 0, FILESYS, LABEL, FILSYS_ID, SMS_FILESYS},
-};
static struct valobj VOchar0[] = {
{V_CHAR, 0},
};
-static struct valobj VOsort01[] = {
- {V_SORT, 1},
- {V_SORT, 0},
-};
-static struct valobj VOuser0sort[] = {
- {V_ID, 0, USERS, LOGIN, USERS_ID, SMS_USER},
- {V_SORT, 0},
-};
static struct valobj VOfilsys0user1[] = {
- {V_LOCK, 0, FILESYS, 0, FILSYS_ID, SMS_DEADLOCK},
- {V_ID, 0, FILESYS, LABEL, FILSYS_ID, SMS_FILESYS},
- {V_ID, 1, USERS, LOGIN, USERS_ID, SMS_USER},
+ {V_LOCK, 0, FILESYS_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_ID, 0, FILESYS_TABLE, LABEL, FILSYS_ID, MR_FILESYS},
+ {V_ID, 1, USERS_TABLE, LOGIN, USERS_ID, MR_USER},
};
*/
static struct validate VDmach = { VOmach0, 1 };
-static struct validate VDsort2= { VOsort01,2 };
+static struct validate VDwild0= { VOwild0, 1 };
+static struct validate VDupwild0= { VOupwild0, 1 };
+static struct validate VDwild2sort2 = { VOwild01sort01,4 };
+static struct validate VDwild3sort1 = { VOwild012sort0,4 };
static struct validate VDsortf = {
- VOsort0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- followup_fix_modby,
+ VOsort0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ followup_fix_modby,
+};
+
+static struct validate VDwildsortf = {
+ VOwild0sort,
+ 2,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ followup_fix_modby,
};
+static struct validate VDsort0= { VOsort0, 1 };
-\f
+static struct validate VDupwildsortf = {
+ VOupwild0sort,
+ 2,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ followup_fix_modby,
+};
/* Query data */
static char *galo_fields[] = {
LOGIN, UID, SHELL, LAST, FIRST, MIDDLE,
};
+static char *gual_fields[] = {
+ LOGIN,
+ LOGIN, UID, SHELL, LAST, FIRST, MIDDLE, STATUS,
+ MIT_ID, CLASS, COMMENTS, SIGNATURE, SECURE, MOD1, MOD2, MOD3,
+};
+
static char *gubl_fields[] = {
LOGIN,
LOGIN, UID, SHELL, LAST, FIRST, MIDDLE, STATUS,
- MIT_ID, CLASS, MOD1, MOD2, MOD3
+ MIT_ID, CLASS, MOD1, MOD2, MOD3,
};
-static struct validate gubx_validate = /* gubl, gubu */
+static struct validate gubl_validate =
{
- VOsort0,
- 1,
+ VOwild0sort,
+ 2,
0,
0,
0,
0,
access_login,
0,
- followup_fix_modby,
+ followup_guax,
+};
+
+static char *guau_fields[] = {
+ UID,
+ LOGIN, UID, SHELL, LAST, FIRST, MIDDLE, STATUS,
+ MIT_ID, CLASS, COMMENTS, SIGNATURE, SECURE, MOD1, MOD2, MOD3,
+};
+
+static char *guan_fields[] = {
+ FIRST, LAST,
+ LOGIN, UID, SHELL, LAST, FIRST, MIDDLE, STATUS,
+ MIT_ID, CLASS, COMMENTS, SIGNATURE, SECURE, MOD1, MOD2, MOD3,
+};
+
+static struct validate guan_validate =
+{
+ VOwild01sort01,
+ 4,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ followup_guax,
+};
+
+static char *guac_fields[] = {
+ CLASS,
+ LOGIN, UID, SHELL, LAST, FIRST, MIDDLE, STATUS,
+ MIT_ID, CLASS, COMMENTS, SIGNATURE, SECURE, MOD1, MOD2, MOD3,
+};
+
+static char *guam_fields[] = {
+ MIT_ID,
+ LOGIN, UID, SHELL, LAST, FIRST, MIDDLE, STATUS,
+ MIT_ID, CLASS, COMMENTS, SIGNATURE, SECURE, MOD1, MOD2, MOD3,
};
static char *gubu_fields[] = {
MIT_ID, CLASS, MOD1, MOD2, MOD3,
};
+static struct validate gubu_validate =
+{
+ VOsort0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_login,
+ 0,
+ followup_fix_modby,
+};
+
static char *gubn_fields[] = {
FIRST, LAST,
LOGIN, UID, SHELL, LAST, FIRST, MIDDLE, STATUS,
MIT_ID, CLASS, MOD1, MOD2, MOD3,
};
+static struct validate gubn_validate =
+{
+ VOwild01sort0,
+ 3,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ followup_fix_modby,
+};
+
static char *gubc_fields[] = {
CLASS,
LOGIN, UID, SHELL, LAST, FIRST, MIDDLE, STATUS,
MIT_ID, CLASS, MOD1, MOD2, MOD3,
};
-static char *ausr_fields[] = {
+static char *gudf_fields[] = {
+ LOGIN,
+ "dirflags",
+};
+
+static struct validate gudf_validate =
+{
+ VOuser0,
+ 2,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_user,
+ 0,
+ 0,
+};
+
+static char *auac_fields[] = {
LOGIN, UID, SHELL, LAST, FIRST, MIDDLE, STATUS,
- MIT_ID, CLASS,
+ MIT_ID, CLASS, COMMENTS, SIGNATURE, SECURE,
};
-static struct valobj ausr_valobj[] = {
- {V_LOCK, 0, USERS, 0, USERS_ID, SMS_DEADLOCK},
- {V_CHAR, 0},
- {V_CHAR, 3},
- {V_CHAR, 4},
- {V_CHAR, 5},
- {V_CHAR, 7},
- {V_TYPE, 8, CLASS, 0, 0, SMS_BAD_CLASS},
+static struct valobj auac_valobj[] = {
+ {V_LOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_CHAR, 0, USERS_TABLE, LOGIN},
+ {V_CHAR, 2, USERS_TABLE, SHELL},
+ {V_CHAR, 3, USERS_TABLE, LAST},
+ {V_CHAR, 4, USERS_TABLE, FIRST},
+ {V_CHAR, 5, USERS_TABLE, MIDDLE},
+ {V_CHAR, 7, USERS_TABLE, MIT_ID},
+ {V_TYPE, 8, 0, CLASS, 0, MR_BAD_CLASS},
+ {V_ID, 9, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
+};
+
+static struct validate auac_validate = {
+ auac_valobj,
+ 9,
+ LOGIN,
+ "login = '%s'",
+ 1,
+ USERS_ID,
+ 0,
+ setup_ausr,
+ followup_ausr,
};
static struct validate ausr_validate = {
- ausr_valobj,
- 7,
+ auac_valobj,
+ 8,
LOGIN,
- "u.login = \"%s\"",
+ "login = '%s'",
1,
USERS_ID,
0,
};
static struct valobj rusr_valobj[] = {
- {V_LOCK, 0, USERS, 0, USERS_ID, SMS_DEADLOCK},
- {V_LOCK, 0, LIST, 0, LIST_ID, SMS_DEADLOCK},
- {V_LOCK, 0, FILESYS, 0, FILSYS_ID, SMS_DEADLOCK},
- {V_LOCK, 0, "nfsphys", 0, "nfsphys_id", SMS_DEADLOCK},
+ {V_LOCK, 0, IMEMBERS_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_LOCK, 0, FILESYS_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, MACHINE_TABLE, 0,MACH_ID, MR_DEADLOCK},
+ {V_LOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_LOCK, 0, NFSPHYS_TABLE, 0, "nfsphys_id", MR_DEADLOCK},
+ {V_LOCK, 0, QUOTA_TABLE,0, FILSYS_ID, MR_DEADLOCK},
+ {V_RLOCK,0, SERVERHOSTS_TABLE,0, MACH_ID, MR_DEADLOCK},
};
static struct validate rusr_validate = {
rusr_valobj,
- 4,
+ 8,
0,
0,
0,
0,
};
-static char *uusr_fields[] = {
+static char *uuac_fields[] = {
LOGIN,
"newlogin", UID, SHELL, LAST, FIRST, MIDDLE, STATUS,
- MIT_ID, CLASS,
+ MIT_ID, CLASS, COMMENTS, SIGNATURE, SECURE,
};
-static struct valobj uusr_valobj[] = {
- {V_LOCK, 0, USERS, 0, USERS_ID, SMS_DEADLOCK},
- {V_ID, 0, USERS, LOGIN, USERS_ID, SMS_USER},
- {V_RENAME, 1, USERS, LOGIN, USERS_ID, SMS_NOT_UNIQUE},
- {V_CHAR, 4},
- {V_CHAR, 5},
- {V_CHAR, 6},
- {V_CHAR, 8},
- {V_TYPE, 9, CLASS, 0, 0, SMS_BAD_CLASS},
+static struct valobj uuac_valobj[] = {
+ {V_LOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_ID, 0, USERS_TABLE, LOGIN, USERS_ID, MR_USER},
+ {V_RENAME, 1, USERS_TABLE, LOGIN, USERS_ID, MR_NOT_UNIQUE},
+ {V_CHAR, 3, USERS_TABLE, SHELL},
+ {V_CHAR, 4, USERS_TABLE, FIRST},
+ {V_CHAR, 5, USERS_TABLE, LAST},
+ {V_CHAR, 6, USERS_TABLE, MIDDLE},
+ {V_CHAR, 8, USERS_TABLE, MIT_ID},
+ {V_TYPE, 9, 0, CLASS, 0, MR_BAD_CLASS},
+ {V_ID, 10, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
};
-static struct validate uusr_validate = {
- uusr_valobj,
- 8,
+static struct validate uuac_validate = {
+ uuac_valobj,
+ 10,
0,
0,
0,
USERS_ID,
0,
+ setup_ausr,
+ followup_uuac,
+};
+
+static struct validate uusr_validate = {
+ uuac_valobj,
+ 10,
+ 0,
+ 0,
+ 0,
+ USERS_ID,
0,
+ setup_ausr,
set_modtime_by_id,
};
SHELL,
};
+static struct valobj uush_valobj[] = {
+ {V_LOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_ID, 0, USERS_TABLE, LOGIN, USERS_ID, MR_USER},
+ {V_CHAR, 1, USERS_TABLE, SHELL},
+};
+
static struct validate uush_validate = {
- VOuser0lock,
- 2,
+ uush_valobj,
+ 3,
0,
0,
0,
STATUS,
};
+static char *uuss_fields[] = {
+ LOGIN,
+ SECURE,
+};
+
static struct validate uust_validate = {
VOuser0lock,
2,
set_modtime_by_id,
};
-static char *dusr_fields[] = {
+static char *uudf_fields[] = {
LOGIN,
+ "dirflags",
};
-static struct validate dusr_validate = {
+static struct validate uudf_validate = {
VOuser0lock,
2,
0,
0,
0,
+ USERS_ID,
+ access_user,
+ 0,
+ set_modtime_by_id,
+};
+
+static char *dusr_fields[] = {
+ LOGIN,
+};
+
+struct valobj dusr_valobj[]= {
+ {V_LOCK, 0, IMEMBERS_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_LOCK, 0, FILESYS_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_LOCK, 0, QUOTA_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, HOSTACCESS_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_LOCK, 0, KRBMAP_TABLE, 0, "users_id", MR_DEADLOCK},
+ {V_ID, 0, USERS_TABLE, LOGIN, USERS_ID, MR_USER},
+};
+
+static struct validate dusr_validate = {
+ dusr_valobj,
+ 8,
+ 0,
+ 0,
+ 0,
0,
0,
setup_dusr,
};
static struct valobj dubu_valobj[] = {
- {V_LOCK, 0, USERS, 0, USERS_ID, SMS_DEADLOCK},
- {V_ID, 0, USERS, UID, USERS_ID, SMS_USER}
+ {V_LOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_ID, 0, USERS_TABLE, UID, USERS_ID, MR_USER}
};
static struct validate dubu_validate = {
};
static char *gkum_fields[] = { LOGIN, "kerberos",
- LOGIN, "kerberos" };
+ LOGIN, "kerberos" };
static char *akum_fields[] = { LOGIN, "kerberos" };
static struct valobj akum_valobj[] =
{
- {V_ID, 0, USERS, LOGIN, USERS_ID, SMS_USER},
- {V_ID, 1, "strings", "string", "string_id", SMS_NO_MATCH},
+ {V_LOCK, 0, KRBMAP_TABLE, 0, "users_id", MR_DEADLOCK},
+ {V_ID, 0, USERS_TABLE, LOGIN, USERS_ID, MR_USER},
+ {V_ID, 1, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
+
};
static struct validate akum_validate =
{
- akum_valobj,
- 1,
- USERS_ID,
- "k.users_id = %d or k.string_id = %d",
- 2,
- USERS_ID,
- access_user,
- setup_akum,
- 0
+ akum_valobj,
+ 3,
+ USERS_ID,
+ "users_id = %d or string_id = %d",
+ 2,
+ USERS_ID,
+ access_user,
+ setup_akum,
+ 0,
};
static struct validate dkum_validate =
{
- akum_valobj,
- 2,
- USERS_ID,
- "k.users_id = %d and k.string_id = %d",
- 2,
- USERS_ID,
- access_user,
- 0,
- 0
+ akum_valobj,
+ 3,
+ USERS_ID,
+ "users_id = %d and string_id = %d",
+ 2,
+ USERS_ID,
+ access_user,
+ 0,
+ 0,
};
static char *gfbl_fields[] = {
LOGIN,
LOGIN, "fullname", "nickname", "home_addr",
- "home_phone", "office_address", "office_phone", "mit_dept",
- "mit_affil", MOD1, MOD2, MOD3,
+ "home_phone", "office_addr", "office_phone", "department",
+ "affiliation", MOD1, MOD2, MOD3,
};
static struct validate gfbl_validate = {
static char *ufbl_fields[] = {
LOGIN,
"fullname", "nickname", "home_addr",
- "home_phone", "office_address", "office_phone", "mit_dept",
- "mit_affil",
+ "home_phone", "office_addr", "office_phone", "department",
+ "affiliation",
+};
+
+static struct valobj ufbl_valobj[] = {
+ {V_LOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_ID, 0, USERS_TABLE, LOGIN, USERS_ID, MR_USER},
+ {V_LEN, 1, USERS_TABLE, "fullname"},
+ {V_LEN, 2, USERS_TABLE, "nickname"},
+ {V_LEN, 3, USERS_TABLE, "home_addr"},
+ {V_LEN, 4, USERS_TABLE, "home_phone"},
+ {V_LEN, 5, USERS_TABLE, "office_addr"},
+ {V_LEN, 6, USERS_TABLE, "office_phone"},
+ {V_LEN, 7, USERS_TABLE, "department"},
+ {V_LEN, 8, USERS_TABLE, "affiliation"},
};
static struct validate ufbl_validate = {
- VOuser0lock,
- 2,
+ ufbl_valobj,
+ 10,
0,
0,
0,
VOuser0,
1,
"potype",
- "u.potype != \"NONE\" and u.users_id=%d",
+ "potype != 'NONE' and users_id=%d",
1,
0,
access_user,
LOGIN, TYPE, "box",
};
+struct valobj gpox_valobj[]={
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK}
+};
+
static struct validate gpox_validate = {
- 0,
- 0,
+ gpox_valobj,
+ 2,
0,
0,
0,
};
static struct valobj spob_valobj[] = {
- {V_LOCK, 0, USERS, 0, USERS_ID, SMS_DEADLOCK},
- {V_ID, 0, USERS, LOGIN, USERS_ID, SMS_USER},
- {V_TYPE, 1, "pobox", 0, 0, SMS_TYPE},
+ {V_LOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_ID, 0, USERS_TABLE, LOGIN, USERS_ID, MR_USER},
+ {V_TYPE, 1, 0, "pobox", 0, MR_TYPE},
};
static struct validate spob_validate = /* SET_POBOX */
{
spob_valobj,
- 3,
+ 4,
0,
0,
0,
set_pobox,
};
+struct valobj spop_valobj[] = {
+ {V_LOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_ID, 0, USERS_TABLE, LOGIN, USERS_ID, MR_USER},
+};
+
static struct validate spop_validate = /* SET_POBOX_POP */
{
- VOuser0lock,
- 2,
+ spop_valobj,
+ 3,
0,
0,
0,
static struct validate dpob_validate = /* DELETE_POBOX */
{
- VOuser0lock,
- 2,
+ spop_valobj,
+ 3,
0,
0,
0,
NAME, TYPE, MOD1, MOD2, MOD3,
};
-static char *amac_fields[] = {
- NAME, TYPE
+static char *ghst_fields[] = {
+ NAME, ADDRESS, "location", "network",
+ NAME, "vendor", "model", "os", "location", "contact", "use", "status", "status_change", "network", ADDRESS, ACE_TYPE, ACE_NAME, "admin_comment", "ops_comment", "created", "creator", "inuse", MOD1, MOD2, MOD3,
};
-static struct valobj amac_valobj[] = {
- {V_CHAR, 0},
- {V_LOCK, 0, MACHINE, 0, MACH_ID, SMS_DEADLOCK},
- {V_TYPE, 1, "mac_type", 0, 0, SMS_TYPE},
+static struct valobj ghst_valobj[] = {
+ {V_UPWILD, 0},
+ {V_UPWILD, 1},
+ {V_UPWILD, 2},
+ {V_UPWILD, 3},
+ {V_SORT, 0},
};
-static struct validate amac_validate = {
- amac_valobj,
- 3,
+static struct validate ghst_validate = {
+ ghst_valobj,
+ 5,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_host,
+ 0,
+ followup_ghst,
+};
+
+static char *ahst_fields[] = {
+ NAME, "vendor", "model", "os", "location", "contact", "use", "status", SUBNET, ADDRESS, ACE_TYPE, ACE_NAME, "admin_comment", "ops_comment",
+};
+
+static struct valobj ahst_valobj[] = {
+ {V_CHAR, 0, MACHINE_TABLE, NAME},
+ {V_CHAR, 1, MACHINE_TABLE, "vendor"},
+ {V_CHAR, 2, MACHINE_TABLE, "model"},
+ {V_CHAR, 3, MACHINE_TABLE, "os"},
+ {V_CHAR, 4, MACHINE_TABLE, "location"},
+ {V_CHAR, 5, MACHINE_TABLE, "contact"},
+ {V_RLOCK,0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, SUBNET_TABLE, 0, SNET_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, HOSTALIAS_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_ID, 8, SUBNET_TABLE, NAME, SNET_ID, MR_SUBNET},
+ {V_TYPE, 10, 0, ACE_TYPE, 0, MR_ACE},
+ {V_TYPEDATA, 11, 0, 0, 0, MR_ACE},
+ {V_ID, 12, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
+ {V_ID, 13, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
+};
+
+static struct validate ahst_validate = {
+ ahst_valobj,
+ 16,
NAME,
- "m.name = uppercase(\"%s\")",
+ "name = UPPER('%s')",
1,
MACH_ID,
- 0,
- 0,
+ access_host,
+ setup_ahst,
set_uppercase_modtime,
};
-static char *umac_fields[] = {
+static char *uhst_fields[] = {
NAME,
- "newname", TYPE,
+ "newname", "vendor", "model", "os", "location", "contact", "use", "status", SUBNET, ADDRESS, ACE_TYPE, ACE_NAME, "admin_comment", "ops_comment",
};
-static struct valobj umac_valobj[] = {
- {V_LOCK, 0, MACHINE, 0, MACH_ID, SMS_DEADLOCK},
- {V_ID, 0, MACHINE, NAME, MACH_ID, SMS_MACHINE},
- {V_RENAME, 1, MACHINE, NAME, MACH_ID, SMS_NOT_UNIQUE},
- {V_TYPE, 2, "mac_type", 0, 0, SMS_TYPE},
+static struct valobj uhst_valobj[] = {
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, SUBNET_TABLE, 0, SNET_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_CHAR, 0, MACHINE_TABLE, "name"},
+ {V_ID, 0, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
+ {V_RENAME, 1, MACHINE_TABLE, NAME, MACH_ID, MR_NOT_UNIQUE},
+ {V_CHAR, 2, MACHINE_TABLE, "vendor"},
+ {V_CHAR, 3, MACHINE_TABLE, "model"},
+ {V_CHAR, 4, MACHINE_TABLE, "os"},
+ {V_CHAR, 5, MACHINE_TABLE, "location"},
+ {V_ID, 9, SUBNET_TABLE, NAME, SNET_ID, MR_SUBNET},
+ {V_TYPE, 11, 0, ACE_TYPE, 0, MR_ACE},
+ {V_TYPEDATA, 12, 0, 0, 0, MR_ACE},
+ {V_ID, 13, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
+ {V_ID, 14, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
};
-static struct validate umac_validate = {
- umac_valobj,
- 4,
+static struct validate uhst_validate = {
+ uhst_valobj,
+ 16,
0,
0,
0,
MACH_ID,
- 0,
- 0,
+ access_host,
+ setup_ahst,
set_modtime_by_id,
};
-static char *dmac_fields[] = {
+static char *dhst_fields[] = {
NAME,
};
-static struct valobj dmac_valobj[] = {
- {V_LOCK, 0, MACHINE, 0, MACH_ID, SMS_DEADLOCK},
- {V_ID, 0, MACHINE, NAME, MACH_ID, SMS_MACHINE},
+static struct valobj dhst_valobj[] = {
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, NFSPHYS_TABLE, 0, "nfsphys_id", MR_DEADLOCK},
+ {V_RLOCK, 0, SERVERHOSTS_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, HOSTACCESS_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, HOSTALIAS_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_LOCK, 0, MCMAP_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, PRINTCAP_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, PALLADIUM_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_ID, 0, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
};
-static struct validate dmac_validate = {
- dmac_valobj,
- 2,
+static struct validate dhst_validate = {
+ dhst_valobj,
+ 10,
0,
0,
0,
0,
};
-static char *gclu_fields[] = {
- NAME,
- NAME, DESC, LOCATION, MOD1, MOD2, MOD3,
+static char *ghal_fields[] = {
+ ALIAS, "canonical_hostname",
+ ALIAS, "canonical_hostname"
};
-static char *aclu_fields[] = {
- NAME, DESC, LOCATION,
-};
-
-static struct valobj aclu_valobj[] = {
- {V_LOCK, 0, CLUSTER, 0, CLU_ID, SMS_DEADLOCK},
- {V_CHAR, 0}
+static struct valobj ghal_valobj[] = {
+ {V_UPWILD, 0},
+ {V_UPWILD, 1},
+ {V_SORT, 0},
};
-static struct validate aclu_validate = /* for aclu */
-{
- aclu_valobj,
- 2,
+static struct validate ghal_validate = {
+ ghal_valobj,
+ 3,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_ahal,
+ 0,
+ 0,
+};
+
+static struct valobj ahal_valobj[] = {
+ {V_CHAR, 0, HOSTALIAS_TABLE, NAME},
+ {V_UPWILD, 0},
+ {V_ID, 1, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
+};
+
+static struct validate ahal_validate = {
+ ahal_valobj,
+ 3,
NAME,
- "c.name = \"%s\"",
+ "name = '%s'",
1,
- "clu_id",
+ MACH_ID,
+ access_ahal,
+ setup_ahal,
+ 0,
+};
+
+static struct valobj dhal_valobj[] = {
+ {V_UPWILD, 0},
+ {V_LOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_ID, 1, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
+};
+
+static struct validate dhal_validate = {
+ dhal_valobj,
+ 3,
+ NAME,
+ "name = '%s' AND mach_id = %d",
+ 2,
+ MACH_ID,
+ access_ahal,
+ 0,
+ 0,
+};
+
+static char *gsnt_fields[] = {
+ NAME,
+ NAME, DESC, ADDRESS, "mask", "low", "high", "prefix", ACE_TYPE, ACE_NAME,
+ MOD1, MOD2, MOD3
+};
+
+static struct valobj gsnt_valobj[] = {
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, SUBNET_TABLE, 0, SNET_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_UPWILD, 0},
+ {V_SORT, 0},
+};
+
+static struct validate gsnt_validate = {
+ gsnt_valobj,
+ 5,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_snt,
+ 0,
+ followup_gsnt,
+};
+
+static char *asnt_fields[] = {
+ NAME, DESC, ADDRESS, "mask", "low", "high", "prefix", ACE_TYPE, ACE_NAME,
+};
+
+static struct valobj asnt_valobj[] = {
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, SUBNET_TABLE, 0, SNET_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_CHAR, 0, SUBNET_TABLE, NAME},
+ {V_LEN, 1, SUBNET_TABLE, DESC},
+ {V_LEN, 6, SUBNET_TABLE, "prefix"},
+ {V_TYPE, 7, 0, ACE_TYPE, 0, MR_ACE},
+ {V_TYPEDATA, 8, 0, 0, 0, MR_ACE},
+};
+
+static struct validate asnt_validate =
+{
+ asnt_valobj,
+ 8,
+ NAME,
+ "name = UPPER('%s')",
+ 1,
+ SNET_ID,
+ 0,
+ prefetch_value,
+ set_uppercase_modtime,
+};
+
+static char *usnt_fields[] = {
+ NAME,
+ "newname", DESC, ADDRESS, "mask", "low", "high", "prefix", ACE_TYPE, ACE_NAME,
+};
+
+static struct valobj usnt_valobj[] = {
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, SUBNET_TABLE, 0, SNET_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_ID, 0, SUBNET_TABLE, NAME, SNET_ID, MR_NO_MATCH},
+ {V_RENAME, 1, SUBNET_TABLE, NAME, SNET_ID, MR_NOT_UNIQUE},
+ {V_LEN, 2, SUBNET_TABLE, DESC},
+ {V_LEN, 7, SUBNET_TABLE, "prefix"},
+ {V_TYPE, 8, 0, ACE_TYPE, 0, MR_ACE},
+ {V_TYPEDATA, 9, 0, 0, 0, MR_ACE},
+};
+
+static struct validate usnt_validate =
+{
+ usnt_valobj,
+ 9,
+ NAME,
+ "snet_id = %d",
+ 1,
+ SNET_ID,
+ 0,
+ 0,
+ set_modtime_by_id,
+};
+
+static char *dsnt_fields[] = {
+ NAME,
+};
+
+static struct valobj dsnt_valobj[] = {
+ {V_RLOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_LOCK, 0, SUBNET_TABLE, 0, SNET_ID, MR_DEADLOCK},
+ {V_ID, 0, SUBNET_TABLE, NAME, SNET_ID, MR_SUBNET},
+};
+
+static struct validate dsnt_validate = {
+ dsnt_valobj,
+ 3,
+ 0,
+ 0,
+ 0,
+ 0,
0,
+ setup_dsnt,
0,
+};
+
+static char *gclu_fields[] = {
+ NAME,
+ NAME, DESC, LOCATION, MOD1, MOD2, MOD3,
+};
+
+static char *aclu_fields[] = {
+ NAME, DESC, LOCATION,
+};
+
+static struct valobj aclu_valobj[] = {
+ {V_LOCK, 0, CLUSTER_TABLE, 0, CLU_ID, MR_DEADLOCK},
+ {V_CHAR, 0, CLUSTER_TABLE, NAME},
+ {V_LEN, 1, CLUSTER_TABLE, DESC},
+ {V_LEN, 2, CLUSTER_TABLE, LOCATION},
+};
+
+static struct validate aclu_validate =
+{
+ aclu_valobj,
+ 4,
+ NAME,
+ "name = '%s'",
+ 1,
+ CLU_ID,
+ 0,
+ prefetch_value,
set_modtime,
};
};
static struct valobj uclu_valobj[] = {
- {V_LOCK, 0, CLUSTER, 0, CLU_ID, SMS_DEADLOCK},
- {V_ID, 0, CLUSTER, NAME, CLU_ID, SMS_CLUSTER},
- {V_RENAME, 1, CLUSTER, NAME, CLU_ID, SMS_NOT_UNIQUE},
+ {V_LOCK, 0, CLUSTER_TABLE, 0, CLU_ID, MR_DEADLOCK},
+ {V_ID, 0, CLUSTER_TABLE, NAME, CLU_ID, MR_CLUSTER},
+ {V_RENAME, 1, CLUSTER_TABLE, NAME, CLU_ID, MR_NOT_UNIQUE},
+ {V_LEN, 2, CLUSTER_TABLE, DESC},
+ {V_LEN, 3, CLUSTER_TABLE, LOCATION},
};
static struct validate uclu_validate = {
uclu_valobj,
- 3,
+ 5,
0,
0,
0,
};
static struct validate dclu_validate = {
- VOclu0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- setup_dclu,
- 0,
+ VOclu0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ setup_dclu,
+ 0,
};
static char *gmcm_fields[] = {
MACHINE, CLUSTER,
};
+static struct valobj gmcm_valobj[] =
+{
+ {V_UPWILD, 0},
+ {V_WILD, 1},
+ {V_SORT, 0},
+ {V_SORT, 1},
+};
+
+static struct validate gmcm_validate = { gmcm_valobj, 4 };
+
static struct valobj amtc_valobj[] = /* ADD_MACHINE_TO_CLUSTER */
{ /* DELETE_MACHINE_FROM_CLUSTER */
- {V_ID, 0, MACHINE, NAME, MACH_ID, SMS_MACHINE},
- {V_ID, 1, CLUSTER, NAME, CLU_ID, SMS_CLUSTER},
+ {V_ID, 0, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
+ {V_ID, 1, CLUSTER_TABLE, NAME, CLU_ID, MR_CLUSTER},
};
static struct validate amtc_validate = /* for amtc and dmfc */
amtc_valobj,
2,
MACH_ID,
- "m.mach_id = %d and m.clu_id = %d",
+ "mach_id = %d and clu_id = %d",
2,
0,
0,
static struct valobj acld_valobj[] =
{
- {V_ID, 0, CLUSTER, NAME, CLU_ID, SMS_CLUSTER},
- {V_CHAR, 2},
+ {V_ID, 0, CLUSTER_TABLE, NAME, CLU_ID, MR_CLUSTER},
+ {V_CHAR, 1, SVC_TABLE, "serv_label"},
+ {V_CHAR, 2, SVC_TABLE, "serv_cluster"}
};
-static struct validate acld_validate = /* ADD_CLUSTER_DATA */
-{ /* DELETE_CLUSTER_DATA */
+static struct validate acld_validate =
+{
acld_valobj,
- 2,
+ 3,
CLU_ID,
- "s.clu_id = %d and s.serv_label = \"%s\" and s.serv_cluster = \"%s\"",
+ "clu_id = %d AND serv_label = '%s' AND serv_cluster = '%s'",
3,
0,
0,
set_cluster_modtime_by_id,
};
+static struct valobj dcld_valobj[] =
+{
+ {V_ID, 0, CLUSTER_TABLE, NAME, CLU_ID, MR_CLUSTER},
+};
+
+static struct validate dcld_validate =
+{
+ dcld_valobj,
+ 1,
+ CLU_ID,
+ "clu_id = %d AND serv_label = '%s' AND serv_cluster = '%s'",
+ 3,
+ 0,
+ 0,
+ 0,
+ set_cluster_modtime_by_id,
+};
+
+static char *glin_fields[] = {
+ NAME,
+ NAME, "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
+ ACE_TYPE, ACE_NAME, DESC, MOD1, MOD2, MOD3,
+};
+
+static struct validate glin_validate = {
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_vis_list_by_name,
+ 0,
+ get_list_info,
+};
+
+static char *alis_fields[] = {
+ NAME, "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
+ ACE_TYPE, ACE_NAME, DESC,
+};
+
+static struct valobj alis_valobj[] = {
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_CHAR, 0, LIST_TABLE, NAME},
+ {V_TYPE, 7, 0, ACE_TYPE, 0, MR_ACE},
+ {V_TYPEDATA, 8, 0, 0, LIST_ID, MR_ACE},
+ {V_LEN, 9, LIST_TABLE, DESC},
+};
+
+static struct validate alis_validate = {
+ alis_valobj,
+ 6,
+ NAME,
+ "name = '%s'",
+ 1,
+ LIST_ID,
+ 0,
+ setup_alis,
+ set_modtime,
+};
+
+static char *ulis_fields[] = {
+ NAME,
+ "newname", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
+ ACE_TYPE, ACE_NAME, DESC,
+};
+
+static struct valobj ulis_valobj[] = {
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_ID, 0, LIST_TABLE, NAME, LIST_ID, MR_LIST},
+ {V_RENAME, 1, LIST_TABLE, NAME, LIST_ID, MR_NOT_UNIQUE},
+ {V_TYPEDATA, 9, 0, 0, LIST_ID, MR_ACE},
+ {V_CHAR, 1, LIST_TABLE, NAME},
+ {V_LEN, 10, LIST_TABLE, DESC},
+};
+
+static struct validate ulis_validate = {
+ ulis_valobj,
+ 7,
+ NAME,
+ "list_id = %d",
+ 1,
+ LIST_ID,
+ access_list,
+ setup_alis,
+ set_modtime_by_id,
+};
+
+static char *dlis_fields[] = {
+ NAME,
+};
+
+static struct valobj dlis_valobj[] ={
+ {V_RLOCK, 0, CAPACLS_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, IMEMBERS_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, FILESYS_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, QUOTA_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, ZEPHYR_TABLE, 0, ZEPH_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, HOSTACCESS_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_ID, 0, LIST_TABLE, NAME, LIST_ID, MR_LIST}
+};
+
+static struct validate dlis_validate = {
+ dlis_valobj,
+ 8,
+ NAME,
+ "list_id = %d",
+ 1,
+ 0,
+ access_list,
+ setup_dlis,
+ 0,
+};
+
+static char *amtl_fields[] = {
+ "list_name", "member_type", "member_name",
+};
+
+static struct valobj amtl_valobj[] = {
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_ID, 0, LIST_TABLE, NAME, LIST_ID, MR_LIST},
+ {V_TYPE, 1, 0, "member", 0, MR_TYPE},
+ {V_TYPEDATA, 2, 0, 0, 0, MR_NO_MATCH},
+};
+
+static struct validate amtl_validate =
+{
+ amtl_valobj,
+ 5,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_list,
+ 0,
+ add_member_to_list,
+};
+
+static struct validate dmfl_validate =
+{
+ amtl_valobj,
+ 5,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_list,
+ 0,
+ delete_member_from_list,
+};
+
+static char *gaus_fields[] = {
+ ACE_TYPE, ACE_NAME,
+ "use_type", "use_name",
+};
+
+static struct valobj gaus_valobj[] = {
+ {V_RLOCK, 0, FILESYS_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, ZEPHYR_TABLE, 0, ZEPH_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, HOSTACCESS_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_TYPE, 0, 0, "gaus", 0, MR_TYPE},
+ {V_TYPEDATA, 1, 0, 0, 0, MR_NO_MATCH},
+};
+
+static struct validate gaus_validate = {
+ gaus_valobj,
+ 7,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_member,
+ 0,
+ get_ace_use,
+};
+
+static char *qgli_fields[] = {
+ "active", "publicflg", "hidden", "maillist", "grouplist",
+ "list",
+};
+
+static struct valobj qgli_valobj[] = {
+ {V_TYPE, 0, 0, "boolean", 0, MR_TYPE},
+ {V_TYPE, 1, 0, "boolean", 0, MR_TYPE},
+ {V_TYPE, 2, 0, "boolean", 0, MR_TYPE},
+ {V_TYPE, 3, 0, "boolean", 0, MR_TYPE},
+ {V_TYPE, 4, 0, "boolean", 0, MR_TYPE},
+};
+
+static struct validate qgli_validate = {
+ qgli_valobj,
+ 5,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_qgli,
+ 0,
+ qualified_get_lists,
+};
+
+static char *gmol_fields[] = {
+ "list_name",
+ "member_type", "member_name",
+};
+
+static struct valobj gmol_valobj[]={
+ {V_LOCK, 0, IMEMBERS_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_ID, 0, LIST_TABLE, NAME, LIST_ID, MR_LIST},
+
+};
+static struct validate gmol_validate = {
+ gmol_valobj,
+ 3,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_visible_list,
+ 0,
+ get_members_of_list,
+};
+
+static struct validate geml_validate = {
+ gmol_valobj,
+ 3,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_visible_list,
+ 0,
+ get_end_members_of_list,
+};
+
+static char *glom_fields[] = {
+ "member_type", "member_name",
+ "list_name", "active", "publicflg", "hidden", "maillist", "grouplist",
+};
+
+static struct valobj glom_valobj[] = {
+ {V_LOCK, 0, IMEMBERS_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_TYPE, 0, 0, "rmember", 0, MR_TYPE},
+ {V_TYPEDATA, 1, 0, 0, 0, MR_NO_MATCH},
+ {V_SORT, 0},
+};
+
+static struct validate glom_validate = {
+ glom_valobj,
+ 6,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_member,
+ 0,
+ get_lists_of_member,
+};
+
+static char *cmol_fields[] = {
+ "list_name",
+ "count",
+};
+
+static struct validate cmol_validate = {
+ VOlist0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_visible_list,
+ 0,
+ count_members_of_list,
+};
+
static char *gsin_fields[] = {
SERVICE,
SERVICE, "update_int", "target_file", "script", "dfgen", "dfcheck",
ACE_TYPE, ACE_NAME, MOD1, MOD2, MOD3,
};
+static struct valobj gsin_valobj[] =
+{
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_UPWILD, 0 },
+};
+
static struct validate gsin_validate =
{
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- access_service,
- 0,
- followup_glin,
+ gsin_valobj,
+ 3,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_service,
+ 0,
+ followup_glin,
};
static char *qgsv_fields[] = {
- "enable", "inprogress", "harderror",
- "service",
+ "enable", "inprogress", "harderror",
+ "service",
};
static struct valobj qgsv_valobj[] = {
- {V_TYPE, 0, "boolean", 0, 0, SMS_TYPE},
- {V_TYPE, 1, "boolean", 0, 0, SMS_TYPE},
- {V_TYPE, 2, "boolean", 0, 0, SMS_TYPE},
+ {V_TYPE, 0, 0, "boolean", 0, MR_TYPE},
+ {V_TYPE, 1, 0, "boolean", 0, MR_TYPE},
+ {V_TYPE, 2, 0, "boolean", 0, MR_TYPE},
};
static struct validate qgsv_validate = {
- qgsv_valobj,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- qualified_get_server,
+ qgsv_valobj,
+ 3,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ qualified_get_server,
};
static char *asin_fields[] = {
};
static struct valobj asin_valobj[] = {
- {V_LOCK, 0, MACHINE, 0, MACH_ID, SMS_DEADLOCK},
- {V_CHAR, 0},
- {V_TYPE, 4, "service", 0, 0, SMS_TYPE},
- {V_TYPE, 6, ACE_TYPE, 0, 0, SMS_ACE},
- {V_TYPEDATA, 7, 0, 0, 0, SMS_ACE},
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_CHAR, 0, SERVERS_TABLE, SERVICE},
+ {V_LEN, 2, SERVERS_TABLE, "target_file"},
+ {V_LEN, 3, SERVERS_TABLE, "script"},
+ {V_TYPE, 4, 0, "service", 0, MR_TYPE},
+ {V_TYPE, 6, 0, ACE_TYPE, 0, MR_ACE},
+ {V_TYPEDATA, 7, 0, 0, 0, MR_ACE},
};
static struct validate asin_validate = /* for asin, usin */
{
asin_valobj,
- 5,
+ 9,
NAME,
- "s.name = uppercase(\"%s\")",
+ "name = UPPER('%s')",
1,
0,
0,
static struct validate rsve_validate = {
asin_valobj,
- 1,
+ 3,
NAME,
- "s.name = uppercase(\"%s\")",
+ "name = UPPER('%s')",
1,
0,
access_service,
SERVICE, "dfgen", "dfcheck", "inprogress", "harderror", "errmsg",
};
+static struct valobj ssif_valobj[] = {
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_LEN, 5, SERVERS_TABLE, "errmsg"},
+};
+
static struct validate ssif_validate = {
- asin_valobj,
- 1,
+ ssif_valobj,
+ 4,
NAME,
- "s.name = uppercase(\"%s\")",
+ "name = UPPER('%s')",
1,
0,
0,
static struct validate dsin_validate = {
asin_valobj,
- 1,
+ 3,
NAME,
- "s.name = uppercase(\"%s\")",
+ "name = UPPER('%s')",
1,
0,
0,
"value3", MOD1, MOD2, MOD3,
};
+static struct valobj gshi_valobj[] = {
+ { V_UPWILD, 0 },
+ { V_UPWILD, 1 },
+};
+
static struct validate gshi_validate = {
- 0,
- 0,
+ gshi_valobj,
+ 2,
0,
0,
0,
};
static char *qgsh_fields[] = {
- "service", "enable", "override", "success", "inprogress", "hosterror",
- "service", MACHINE,
+ "service", "enable", "override", "success", "inprogress", "hosterror",
+ "service", MACHINE,
};
static struct valobj qgsh_valobj[] = {
- {V_TYPE, 1, "boolean", 0, 0, SMS_TYPE},
- {V_TYPE, 2, "boolean", 0, 0, SMS_TYPE},
- {V_TYPE, 3, "boolean", 0, 0, SMS_TYPE},
- {V_TYPE, 4, "boolean", 0, 0, SMS_TYPE},
- {V_TYPE, 5, "boolean", 0, 0, SMS_TYPE},
+ {V_TYPE, 1, 0, "boolean", 0, MR_TYPE},
+ {V_TYPE, 2, 0, "boolean", 0, MR_TYPE},
+ {V_TYPE, 3, 0, "boolean", 0, MR_TYPE},
+ {V_TYPE, 4, 0, "boolean", 0, MR_TYPE},
+ {V_TYPE, 5, 0, "boolean", 0, MR_TYPE},
};
static struct validate qgsh_validate = {
- qgsh_valobj,
- 5,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- qualified_get_serverhost,
+ qgsh_valobj,
+ 5,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ qualified_get_serverhost,
};
static char *ashi_fields[] = {
};
static struct valobj ashi_valobj[] = {
- {V_LOCK, 0, MACHINE, 0, MACH_ID, SMS_DEADLOCK},
- {V_NAME, 0, "servers", NAME, 0, SMS_SERVICE},
- {V_ID, 1, MACHINE, NAME, MACH_ID, SMS_MACHINE},
+ {V_LOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_NAME, 0, SERVERS_TABLE, NAME, 0, MR_SERVICE},
+ {V_LOCK, 0, SERVERHOSTS_TABLE,0, MACH_ID, MR_DEADLOCK},
+ {V_ID, 1, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
+ {V_CHAR, 0, SERVERHOSTS_TABLE, NAME},
+ {V_LEN, 5, SERVERHOSTS_TABLE, "value3"},
};
static struct validate ashi_validate = /* ashi & ushi */
{
ashi_valobj,
- 3,
+ 6,
SERVICE,
- "sh.service = uppercase(\"%s\") and sh.mach_id = %d",
+ "service = UPPER('%s') AND mach_id = %d",
2,
0,
access_service,
static struct validate rshe_validate =
{
ashi_valobj,
- 3,
+ 4,
SERVICE,
- "sh.service = uppercase(\"%s\") and sh.mach_id = %d",
+ "service = UPPER('%s') AND mach_id = %d",
2,
0,
access_service,
static struct validate ssho_validate =
{
ashi_valobj,
- 3,
+ 4,
SERVICE,
- "sh.service = uppercase(\"%s\") and sh.mach_id = %d",
+ "service = UPPER('%s') AND mach_id = %d",
2,
0,
access_service,
};
static char *sshi_fields[] = {
- "service", MACHINE, "override", "success", "inprogress",
- "hosterror", "errmsg", "ltt", "lts"
+ "service", MACHINE, "override", "success", "inprogress",
+ "hosterror", "errmsg", "ltt", "lts",
};
static struct valobj sshi_valobj[] = {
- {V_NAME, 0, "servers", NAME, 0, SMS_SERVICE},
+ {V_RLOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_NAME, 0, SERVERS_TABLE, NAME, 0, MR_SERVICE},
+ {V_ID, 1, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE}, /** Was this ok to add? */
+ {V_LEN, 5, SERVERS_TABLE, "errmsg"},
};
static struct validate sshi_validate =
{
sshi_valobj,
- 1,
+ 4,
+ 0,
0,
0,
0,
0,
0,
- setup_sshi,
0,
};
static struct validate dshi_validate =
{
ashi_valobj,
- 3,
+ 4,
SERVICE,
- "sh.service = uppercase(\"%s\") and sh.mach_id = %d",
+ "service = UPPER('%s') AND mach_id = %d",
2,
0,
access_service,
0,
};
-static char *gsha_fields[] = {
- MACHINE,
- MACHINE, ACE_TYPE, ACE_NAME, MOD1, MOD2, MOD3,
-};
-
-static struct validate gsha_validate =
-{
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- followup_gsha,
-};
-
-static char *asha_fields[] = {
- MACHINE, ACE_TYPE, ACE_NAME,
-};
-
-static struct valobj asha_valobj[] = {
- {V_ID, 0, MACHINE, NAME, MACH_ID, SMS_MACHINE},
- {V_TYPE, 1, ACE_TYPE, 0, 0, SMS_ACE},
- {V_TYPEDATA, 2, 0, 0, 0, SMS_ACE},
-};
-
-static struct validate asha_validate =
-{
- asha_valobj,
- 3,
- MACH_ID,
- "ha.mach_id = %d",
- 1,
- MACH_ID,
- 0,
- 0,
- set_modtime_by_id,
-};
-
static char *gslo_fields[] = {
"server",
"server", MACHINE,
static char *gfsl_fields[] = {
LABEL,
- LABEL, TYPE, MACHINE, NAME, "mount", "access", "comments", "owner", "owners",
+ LABEL, TYPE, MACHINE, NAME, "mount", "access", COMMENTS, "owner", "owners",
"create", "lockertype", MOD1, MOD2, MOD3,
};
static char *gfsm_fields[] = {
MACHINE,
- LABEL, TYPE, MACHINE, NAME, "mount", "access", "comments", "owner", "owners",
+ LABEL, TYPE, MACHINE, NAME, "mount", "access", COMMENTS, "owner", "owners",
"create", "lockertype", MOD1, MOD2, MOD3,
};
+static struct valobj gfsm_valobj[] = {
+ {V_RLOCK, 0, FILESYS_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_ID, 0, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
+};
+
static struct validate gfsm_validate = {
- VOmach0,
- 1,
+ gfsm_valobj,
+ 2,
0,
0,
0,
static char *gfsn_fields[] = {
MACHINE, "parition",
- LABEL, TYPE, MACHINE, NAME, "mount", "access", "comments", "owner", "owners",
+ LABEL, TYPE, MACHINE, NAME, "mount", "access", COMMENTS, "owner", "owners",
+ "create", "lockertype", MOD1, MOD2, MOD3,
+};
+
+static struct valobj gfsn_valobj[] =
+{
+ {V_RLOCK, 0, FILESYS_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_ID, 0, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
+ {V_WILD, 1},
+};
+
+static struct validate gfsn_validate = {
+ gfsn_valobj,
+ 3,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ followup_fix_modby,
+};
+
+static char *gfsp_fields[] = {
+ "path",
+ LABEL, TYPE, MACHINE, NAME, "mount", "access", COMMENTS, "owner", "owners",
"create", "lockertype", MOD1, MOD2, MOD3,
};
static char *gfsg_fields[] = {
LIST,
- LABEL, TYPE, MACHINE, NAME, "mount", "access", "comments", "owner", "owners",
+ LABEL, TYPE, MACHINE, NAME, "mount", "access", COMMENTS, "owner", "owners",
"create", "lockertype", MOD1, MOD2, MOD3,
};
+static struct valobj gfsg_valobj[] = {
+ {V_RLOCK, 0, FILESYS_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_ID, 0, LIST_TABLE, NAME, LIST_ID, MR_LIST}
+};
+
static struct validate gfsg_validate = {
- VOlist0,
- 1,
+ gfsg_valobj,
+ 2,
0,
0,
0,
};
static char *afil_fields[] = {
- LABEL, TYPE, MACHINE, NAME, "mount", "access", "comments", "owner", "owners",
+ LABEL, TYPE, MACHINE, NAME, "mount", "access", COMMENTS, "owner", "owners",
"create", "lockertype",
};
static struct valobj afil_valobj[] = {
- {V_CHAR, 0},
- {V_LOCK, 0, FILESYS, 0, FILSYS_ID, SMS_DEADLOCK},
- {V_TYPE, 1, FILESYS, 0, 0, SMS_FSTYPE},
- {V_ID, 2, MACHINE, NAME, MACH_ID, SMS_MACHINE},
- {V_CHAR, 3},
- {V_ID, 7, USERS, LOGIN, USERS_ID, SMS_USER},
- {V_ID, 8, LIST, NAME, LIST_ID, SMS_LIST},
- {V_TYPE, 10, "lockertype", 0, 0, SMS_TYPE}
+ {V_LOCK, 0, FILESYS_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_CHAR, 0, FILESYS_TABLE, LABEL},
+ {V_TYPE, 1, 0, "filesys", 0, MR_FSTYPE},
+ {V_ID, 2, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
+ {V_CHAR, 3, FILESYS_TABLE, NAME},
+ {V_LEN, 4, FILESYS_TABLE, "mount"},
+ {V_LEN, 6, FILESYS_TABLE, COMMENTS},
+ {V_ID, 7, USERS_TABLE, LOGIN, USERS_ID, MR_USER},
+ {V_ID, 8, LIST_TABLE, NAME, LIST_ID, MR_LIST},
+ {V_TYPE, 10, 0, "lockertype", 0, MR_TYPE},
};
static struct validate afil_validate = {
afil_valobj,
- 8,
+ 13,
LABEL,
- "fs.label = \"%s\"",
+ "label = '%s'",
1,
FILSYS_ID,
0,
};
static char *ufil_fields[] = {
- LABEL, "newlabel", TYPE, MACHINE, NAME, "mount", "access", "comments",
+ LABEL, "newlabel", TYPE, MACHINE, NAME, "mount", "access", COMMENTS,
"owner", "owners", "create", "lockertype",
};
static struct valobj ufil_valobj[] = {
- {V_LOCK, 0, FILESYS, 0, FILSYS_ID, SMS_DEADLOCK},
- {V_ID, 0, FILESYS, LABEL, FILSYS_ID, SMS_FILESYS},
- {V_RENAME, 1, FILESYS, LABEL, FILSYS_ID, SMS_NOT_UNIQUE},
- {V_TYPE, 2, FILESYS, 0, 0, SMS_FSTYPE},
- {V_ID, 3, MACHINE, NAME, MACH_ID, SMS_MACHINE},
- {V_CHAR, 4},
- {V_ID, 8, USERS, LOGIN, USERS_ID, SMS_USER},
- {V_ID, 9, LIST, NAME, LIST_ID, SMS_LIST},
- {V_TYPE, 11, "lockertype", 0, 0, SMS_TYPE}
+ {V_LOCK, 0, FILESYS_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_LOCK, 0, QUOTA_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_ID, 0, FILESYS_TABLE, LABEL, FILSYS_ID, MR_FILESYS},
+ {V_RENAME, 1, FILESYS_TABLE, LABEL, FILSYS_ID, MR_NOT_UNIQUE},
+ {V_TYPE, 2, 0, "filesys", 0, MR_FSTYPE},
+ {V_ID, 3, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
+ {V_CHAR, 4, FILESYS_TABLE, NAME},
+ {V_LEN, 5, FILESYS_TABLE, "mount"},
+ {V_LEN, 7, FILESYS_TABLE, COMMENTS},
+ {V_ID, 8, USERS_TABLE, LOGIN, USERS_ID, MR_USER},
+ {V_ID, 9, LIST_TABLE, NAME, LIST_ID, MR_LIST},
+ {V_TYPE, 11, 0, "lockertype", 0, MR_TYPE},
};
static struct validate ufil_validate = {
ufil_valobj,
- 9,
+ 15,
LABEL,
- "fs.filsys_id = %d",
+ "filsys_id = %d",
1,
FILSYS_ID,
0,
};
static struct valobj dfil_valobj[] = {
- {V_LOCK, 0, FILESYS, 0, FILSYS_ID, SMS_DEADLOCK},
- {V_ID, 0, FILESYS, LABEL, FILSYS_ID, SMS_FILESYS},
+ {V_LOCK, 0, FILESYS_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, NFSPHYS_TABLE, 0, "nfsphys_id", MR_DEADLOCK},
+ {V_LOCK, 0, QUOTA_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, FSGROUP_TABLE, 0, "filsys_id", MR_DEADLOCK},
+ {V_ID, 0, FILESYS_TABLE, LABEL, FILSYS_ID, MR_FILESYS},
};
static struct validate dfil_validate = {
dfil_valobj,
- 2,
+ 5,
"label",
- "fs.filsys_id = %d",
+ "filsys_id = %d",
1,
0,
0,
};
static char *gfgm_fields[] = {
- "fsgroup", FILESYS, "sortkey"
-};
+ "fsgroup", FILESYS, "sortkey"
+ };
static struct valobj gfgm_valobj[] = {
- {V_ID, 0, FILESYS, LABEL, FILSYS_ID, SMS_FILESYS},
- {V_SORT, 1},
- {V_SORT, 0},
+ {V_ID, 0, FILESYS_TABLE, LABEL, FILSYS_ID, MR_FILESYS},
+ {V_SORT, 1},
+ {V_SORT, 0},
};
static struct validate gfgm_validate = {
- gfgm_valobj,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
+ gfgm_valobj,
+ 3,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
};
static struct valobj aftg_valobj[] = {
- {V_LOCK, 0, FILESYS, 0, FILSYS_ID, SMS_DEADLOCK},
- {V_ID, 0, FILESYS, LABEL, FILSYS_ID, SMS_FILESYS},
- {V_ID, 1, FILESYS, LABEL, FILSYS_ID, SMS_FILESYS},
+ {V_LOCK, 0, FILESYS_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, FSGROUP_TABLE, 0, "filsys_id", MR_DEADLOCK},
+ {V_ID, 0, FILESYS_TABLE, LABEL, FILSYS_ID, MR_FILESYS},
+ {V_ID, 1, FILESYS_TABLE, LABEL, FILSYS_ID, MR_FILESYS},
};
static struct validate aftg_validate = {
- aftg_valobj,
- 3,
- "group_id",
- "fg.group_id = %d and fg.filsys_id = %d",
- 2,
- 0,
- 0,
- 0,
- 0,
+ aftg_valobj,
+ 4,
+ "group_id",
+ "group_id = %d and filsys_id = %d",
+ 2,
+ 0,
+ 0,
+ 0,
+ 0,
};
static char *ganf_fields[] = {
MACHINE, DIR, DEVICE, STATUS, "allocated", "size", MOD1, MOD2, MOD3,
};
+static struct valobj gnfp_valobj[] = {
+ {V_ID, 0, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
+ {V_RLOCK, 0, NFSPHYS_TABLE, 0, "nfsphys_id", MR_DEADLOCK},
+ {V_WILD, 1},
+};
+
static struct validate gnfp_validate = {
- VOmach0,
- 1,
+ gnfp_valobj,
+ 3,
0,
0,
0,
};
static struct valobj anfp_valobj[] = {
- {V_ID, 0, MACHINE, NAME, MACH_ID, SMS_MACHINE},
- {V_CHAR, 1},
+ {V_RLOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_LOCK, 0, NFSPHYS_TABLE, 0, "nfsphys_id", MR_DEADLOCK},
+ {V_ID, 0, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
+ {V_CHAR, 1, NFSPHYS_TABLE, "dir"},
+ {V_LEN, 2, NFSPHYS_TABLE, "device"},
};
static struct validate anfp_validate = {
anfp_valobj,
- 2,
+ 5,
DIR,
- "np.mach_id = %d and np.dir = \"%s\"",
+ "mach_id = %d and dir = '%s'",
2,
"nfsphys_id",
0,
- 0,
+ prefetch_value,
set_nfsphys_modtime,
};
-static char *dnfp_fields[] = {
- MACHINE, DIR,
-};
-
-static struct validate dnfp_validate = {
- VOmach0,
- 1,
+static struct validate unfp_validate = {
+ anfp_valobj,
+ 5,
DIR,
- "np.mach_id = %d and np.dir = \"%s\"",
+ "mach_id = %d and dir = '%s'",
2,
"nfsphys_id",
0,
- setup_dnfp,
+ 0,
set_nfsphys_modtime,
};
-static char *gnfq_fields[] = {
- FILESYS, LOGIN,
- FILESYS, LOGIN, "quota", DIR, MACHINE, MOD1, MOD2, MOD3,
-};
-
-static struct valobj gnfq_valobj[] = {
- {V_ID, 1, USERS, LOGIN, USERS_ID, SMS_USER},
- {V_SORT, 0},
-};
-
-static struct validate gnfq_validate = {
- gnfq_valobj,
- 2,
- 0,
- 0,
- 0,
- 0,
- access_filesys,
- 0,
- followup_gnfq,
+static char *ajnf_fields[] = {
+ MACHINE, DIR, "adjustment",
};
-static char *gnqp_fields[] = {
+static char *dnfp_fields[] = {
MACHINE, DIR,
- FILESYS, LOGIN, "quota", DIR, MACHINE, MOD1, MOD2, MOD3,
-};
-
-static char *anfq_fields[] = {
- FILESYS, LOGIN, "quota",
-};
-
-static struct validate anfq_validate = {
- VOfilsys0user1,
- 3,
- USERS_ID,
- "nq.filsys_id = %d and nq.users_id = %d",
- 2,
- 0,
- 0,
- 0,
- followup_anfq,
-};
-
-static struct validate unfq_validate = {
- VOfilsys0user1,
- 3,
- USERS_ID,
- "nq.filsys_id = %d and nq.users_id = %d",
- 2,
- 0,
- 0,
- setup_dnfq,
- followup_anfq,
-};
-
-static struct validate dnfq_validate = {
- VOfilsys0user1,
- 3,
- USERS_ID,
- "nq.filsys_id = %d and nq.users_id = %d",
- 2,
- 0,
- 0,
- setup_dnfq,
- 0,
-};
-
-static char *glin_fields[] = {
- NAME,
- NAME, "active", "public", "hidden", "maillist", "group", "gid",
- ACE_TYPE, ACE_NAME, DESC, MOD1, MOD2, MOD3,
-};
-
-static struct validate glin_validate = {
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- access_vis_list_by_name,
- 0,
- get_list_info,
};
-static char *alis_fields[] = {
- NAME, "active", "public", "hidden", "maillist", "group", "gid",
- ACE_TYPE, ACE_NAME, DESC,
-};
+static struct valobj dnfp_valobj[] = {
+ {V_RLOCK, 0, FILESYS_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_LOCK, 0, NFSPHYS_TABLE, 0, "nfsphys_id", MR_DEADLOCK},
+ {V_ID, 0, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
-static struct valobj alis_valobj[] = {
- {V_LOCK, 0, LIST, 0, LIST_ID, SMS_DEADLOCK},
- {V_CHAR, 0},
- {V_TYPE, 7, ACE_TYPE, 0, 0, SMS_ACE},
- {V_TYPEDATA, 8, 0, 0, LIST_ID, SMS_ACE},
};
-static struct validate alis_validate = {
- alis_valobj,
+static struct validate dnfp_validate = {
+ dnfp_valobj,
4,
- NAME,
- "l.name = \"%s\"",
- 1,
- LIST_ID,
+ DIR,
+ "mach_id = %d and dir = '%s'",
+ 2,
+ "nfsphys_id",
0,
- setup_alis,
- set_modtime,
-};
-
-static char *ulis_fields[] = {
- NAME,
- "newname", "active", "public", "hidden", "maillist", "group", "gid",
- ACE_TYPE, ACE_NAME, DESC,
-};
-
-static struct valobj ulis_valobj[] = {
- {V_LOCK, 0, LIST, 0, LIST_ID, SMS_DEADLOCK},
- {V_ID, 0, LIST, NAME, LIST_ID, SMS_LIST},
- {V_RENAME, 1, LIST, NAME, LIST_ID, SMS_NOT_UNIQUE},
- {V_TYPE, 8, ACE_TYPE, 0, 0, SMS_ACE},
- {V_TYPEDATA, 9, 0, 0, LIST_ID, SMS_ACE},
+ setup_dnfp,
+ set_nfsphys_modtime,
};
-static struct validate ulis_validate = {
- ulis_valobj,
- 5,
- NAME,
- "l.list_id = %d",
- 1,
- LIST_ID,
- access_list,
- setup_alis,
- set_modtime_by_id,
+static char *gqot_fields[] = {
+ FILESYS, TYPE, NAME,
+ FILESYS, TYPE, NAME, QUOTA, DIR, MACHINE, MOD1, MOD2, MOD3,
};
-static char *dlis_fields[] = {
- NAME,
+static struct valobj gqot_valobj[] = {
+ {V_RLOCK, 0, FILESYS_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, NFSPHYS_TABLE, 0, "nfsphys_id", MR_DEADLOCK},
+ {V_RLOCK, 0, QUOTA_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_WILD, 0},
+ {V_TYPE, 1, 0, QUOTA_TYPE, 0, MR_TYPE},
+ {V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
+ {V_SORT, 0, 0, 0, 0, 0},
};
-static struct validate dlis_validate = {
- VOlist0,
- 1,
- NAME,
- "l.list_id = %d",
- 1,
- 0,
- access_list,
- setup_dlis,
+static struct validate gqot_validate = {
+ gqot_valobj,
+ 9,
0,
-};
-
-static char *amtl_fields[] = {
- "list_name", "member_type", "member_name",
-};
-
-static struct valobj amtl_valobj[] = {
- {V_LOCK, 0, LIST, 0, LIST_ID, SMS_DEADLOCK},
- {V_ID, 0, LIST, NAME, LIST_ID, SMS_LIST},
- {V_TYPE, 1, "member", 0, 0, SMS_TYPE},
- {V_TYPEDATA, 2, 0, 0, 0, SMS_NO_MATCH},
-};
-
-static struct validate amtl_validate =
-{
- amtl_valobj,
- 4,
0,
0,
0,
0,
- access_list,
0,
- add_member_to_list,
+ followup_gqot,
};
-
-static struct validate dmfl_validate =
-{
- amtl_valobj,
- 4,
+
+static char *gqbf_fields[] = {
+ FILESYS,
+ FILESYS, TYPE, NAME, QUOTA, DIR, MACHINE, MOD1, MOD2, MOD3,
+};
+
+static struct validate gqbf_validate = {
+ VOwild0sort,
+ 2,
0,
0,
0,
0,
- access_list,
+ access_filesys,
0,
- delete_member_from_list,
-};
-
-static char *gaus_fields[] = {
- ACE_TYPE, ACE_NAME,
- "use_type", "use_name",
+ followup_gqot,
};
-static struct valobj gaus_valobj[] = {
- {V_TYPE, 0, "gaus", 0, 0, SMS_TYPE},
- {V_TYPEDATA, 1, 0, 0, 0, SMS_NO_MATCH},
+static char *aqot_fields[] = {
+ FILESYS, TYPE, NAME, QUOTA,
};
-static struct validate gaus_validate = {
- gaus_valobj,
- 2,
- 0,
- 0,
- 0,
- 0,
- access_member,
- 0,
- get_ace_use,
+static struct valobj aqot_valobj[] = {
+ {V_LOCK, 0, FILESYS_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_LOCK, 0, NFSPHYS_TABLE, 0, "nfsphys_id", MR_DEADLOCK},
+ {V_LOCK, 0, QUOTA_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_ID, 0, FILESYS_TABLE, LABEL, FILSYS_ID, MR_FILESYS},
+ {V_TYPE, 1, 0, QUOTA_TYPE, 0, MR_TYPE},
+ {V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
};
-static char *qgli_fields[] = {
- "active", "public", "hidden", "maillist", "group",
- "list",
+static struct validate aqot_validate = {
+ aqot_valobj,
+ 8,
+ FILSYS_ID,
+ "filsys_id = %d and type = '%s' and entity_id = %d",
+ 3,
+ 0,
+ 0,
+ prefetch_filesys,
+ followup_aqot,
};
-static struct valobj qgli_valobj[] = {
- {V_TYPE, 0, "boolean", 0, 0, SMS_TYPE},
- {V_TYPE, 1, "boolean", 0, 0, SMS_TYPE},
- {V_TYPE, 2, "boolean", 0, 0, SMS_TYPE},
- {V_TYPE, 3, "boolean", 0, 0, SMS_TYPE},
- {V_TYPE, 4, "boolean", 0, 0, SMS_TYPE},
+static struct validate uqot_validate = {
+ aqot_valobj,
+ 8,
+ FILSYS_ID,
+ "filsys_id = %d AND type = '%s' AND entity_id = %d",
+ 3,
+ 0,
+ 0,
+ setup_dqot,
+ followup_aqot,
};
-static struct validate qgli_validate = {
- qgli_valobj,
- 5,
- 0,
- 0,
- 0,
- 0,
- access_qgli,
- 0,
- qualified_get_lists,
+static struct validate dqot_validate = {
+ aqot_valobj,
+ 8,
+ FILSYS_ID,
+ "filsys_id = %d AND type = '%s' AND entity_id = %d",
+ 3,
+ 0,
+ 0,
+ setup_dqot,
+ followup_dqot,
};
-static char *gmol_fields[] = {
- "list_name",
- "member_type", "member_name",
+static char *gnfq_fields[] = {
+ FILESYS, LOGIN,
+ FILESYS, LOGIN, QUOTA, DIR, MACHINE, MOD1, MOD2, MOD3,
};
-static struct validate gmol_validate = {
- VOlist0,
- 1,
+static struct validate gnfq_validate = {
+ VOwild0sort,
+ 2,
0,
0,
0,
0,
- access_visible_list,
+ access_filesys,
0,
- get_members_of_list,
+ followup_gqot,
};
-static char *glom_fields[] = {
- "member_type", "member_name",
- "list_name", "active", "public", "hidden", "maillist", "group",
+static char *gnqp_fields[] = {
+ MACHINE, DIR,
+ FILESYS, LOGIN, QUOTA, DIR, MACHINE, MOD1, MOD2, MOD3,
};
-static struct valobj glom_valobj[] = {
- {V_TYPE, 0, "rmember", 0, 0, SMS_TYPE},
- {V_TYPEDATA, 1, 0, 0, 0, SMS_NO_MATCH},
- {V_SORT, 0},
+static struct valobj gnqp_valobj[] = {
+ {V_ID, 0, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
+ {V_WILD, 1},
};
-static struct validate glom_validate = {
- glom_valobj,
- 3,
- 0,
- 0,
- 0,
- 0,
- access_member,
- 0,
- get_lists_of_member,
-};
+static struct validate gnqp_validate = { gnqp_valobj, 2, };
-static char *cmol_fields[] = {
- "list_name",
- "count",
+static char *anfq_fields[] = {
+ FILESYS, LOGIN, QUOTA,
};
-static struct validate cmol_validate = {
- VOlist0,
- 1,
+static struct validate anfq_validate = {
+ VOfilsys0user1,
+ 3,
+ FILSYS_ID,
+ "filsys_id = %d AND type = 'USER' AND entity_id = %d",
+ 2,
+ 0, /* object ? */
0,
+ prefetch_filesys,
+ followup_aqot,
+};
+
+static struct validate unfq_validate = {
+ VOfilsys0user1,
+ 3,
+ FILSYS_ID,
+ "filsys_id = %d AND type = 'USER' AND entity_id = %d",
+ 2,
0,
0,
+ setup_dqot,
+ followup_aqot,
+};
+
+static struct validate dnfq_validate = {
+ VOfilsys0user1,
+ 3,
+ FILSYS_ID,
+ "filsys_id = %d AND entity_id = %d",
+ 2,
0,
- access_visible_list,
0,
- count_members_of_list,
+ setup_dqot,
+ followup_dqot,
};
static char *gzcl_fields[] = {
- CLASS,
- CLASS, "xmt_type", "xmt_name", "sub_type", "sub_name",
- "iws_type", "iws_name", "iui_type", "iui_name", MOD1, MOD2, MOD3,
+ CLASS,
+ CLASS, "xmt_type", "xmt_name", "sub_type", "sub_name",
+ "iws_type", "iws_name", "iui_type", "iui_name", MOD1, MOD2, MOD3,
};
+static struct valobj gzcl_valobj[] = {
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, ZEPHYR_TABLE, 0, ZEPH_ID, MR_DEADLOCK},
+ {V_WILD, 0},
+ {V_SORT, 0},
+};
static struct validate gzcl_validate = {
- VOsort0,
- 1,
+ gzcl_valobj,
+ 5,
0,
0,
0,
};
static char *azcl_fields[] = {
- CLASS, "xmt_type", "xmt_name", "sub_type", "sub_name",
- "iws_type", "iws_name", "iui_type", "iui_name",
+ CLASS, "xmt_type", "xmt_name", "sub_type", "sub_name",
+ "iws_type", "iws_name", "iui_type", "iui_name",
};
static struct valobj azcl_valobj[] = {
- {V_CHAR, 0},
- {V_TYPE, 1, ACE_TYPE, 0, 0, SMS_ACE},
- {V_TYPEDATA, 2, 0, 0, LIST_ID, SMS_ACE},
- {V_TYPE, 3, ACE_TYPE, 0, 0, SMS_ACE},
- {V_TYPEDATA, 4, 0, 0, LIST_ID, SMS_ACE},
- {V_TYPE, 5, ACE_TYPE, 0, 0, SMS_ACE},
- {V_TYPEDATA, 6, 0, 0, LIST_ID, SMS_ACE},
- {V_TYPE, 7, ACE_TYPE, 0, 0, SMS_ACE},
- {V_TYPEDATA, 8, 0, 0, LIST_ID, SMS_ACE},
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_LOCK, 0, ZEPHYR_TABLE, 0, ZEPH_ID, MR_DEADLOCK},
+ {V_CHAR, 0, ZEPHYR_TABLE, CLASS},
+ {V_TYPE, 1, 0, ACE_TYPE, 0, MR_ACE},
+ {V_TYPEDATA, 2, 0, 0, LIST_ID, MR_ACE},
+ {V_TYPE, 3, 0, ACE_TYPE, 0, MR_ACE},
+ {V_TYPEDATA, 4, 0, 0, LIST_ID, MR_ACE},
+ {V_TYPE, 5, 0, ACE_TYPE, 0, MR_ACE},
+ {V_TYPEDATA, 6, 0, 0, LIST_ID, MR_ACE},
+ {V_TYPE, 7, 0, ACE_TYPE, 0, MR_ACE},
+ {V_TYPEDATA, 8, 0, 0, LIST_ID, MR_ACE},
};
static struct validate azcl_validate = {
azcl_valobj,
- 8,
+ 12,
CLASS,
- "z.class = \"%s\"",
+ "class = '%s'",
1,
0,
0,
};
static char *uzcl_fields[] = {
- CLASS, "newclass", "xmt_type", "xmt_name", "sub_type", "sub_name",
- "iws_type", "iws_name", "iui_type", "iui_name",
+ CLASS, "newclass", "xmt_type", "xmt_name", "sub_type", "sub_name",
+ "iws_type", "iws_name", "iui_type", "iui_name",
};
static struct valobj uzcl_valobj[] = {
- {V_RENAME, 1, "zephyr", CLASS, 0, SMS_NOT_UNIQUE},
- {V_TYPE, 2, ACE_TYPE, 0, 0, SMS_ACE},
- {V_TYPEDATA, 3, 0, 0, LIST_ID, SMS_ACE},
- {V_TYPE, 4, ACE_TYPE, 0, 0, SMS_ACE},
- {V_TYPEDATA, 5, 0, 0, LIST_ID, SMS_ACE},
- {V_TYPE, 6, ACE_TYPE, 0, 0, SMS_ACE},
- {V_TYPEDATA, 7, 0, 0, LIST_ID, SMS_ACE},
- {V_TYPE, 8, ACE_TYPE, 0, 0, SMS_ACE},
- {V_TYPEDATA, 9, 0, 0, LIST_ID, SMS_ACE},
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_LOCK, 0, ZEPHYR_TABLE, 0, ZEPH_ID, MR_DEADLOCK},
+ {V_RENAME, 1, ZEPHYR_TABLE, CLASS, 0, MR_NOT_UNIQUE},
+ {V_TYPE, 2, 0, ACE_TYPE, 0, MR_ACE},
+ {V_TYPEDATA, 3, 0, 0, LIST_ID, MR_ACE},
+ {V_TYPE, 4, 0, ACE_TYPE, 0, MR_ACE},
+ {V_TYPEDATA, 5, 0, 0, LIST_ID, MR_ACE},
+ {V_TYPE, 6, 0, ACE_TYPE, 0, MR_ACE},
+ {V_TYPEDATA, 7, 0, 0, LIST_ID, MR_ACE},
+ {V_TYPE, 8, 0, ACE_TYPE, 0, MR_ACE},
+ {V_TYPEDATA, 9, 0, 0, LIST_ID, MR_ACE},
};
static struct validate uzcl_validate = {
uzcl_valobj,
- 9,
+ 12,
CLASS,
- "z.class = \"%s\"",
+ "class = '%s'",
1,
0,
0,
0,
0,
CLASS,
- "z.class = \"%s\"",
+ "class = '%s'",
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+};
+
+static char *gsha_fields[] = {
+ MACHINE,
+ MACHINE, ACE_TYPE, ACE_NAME, MOD1, MOD2, MOD3,
+};
+
+static struct validate gsha_validate =
+{
+ VOupwild0,
1,
0,
0,
0,
0,
+ 0,
+ 0,
+ followup_gsha,
+};
+
+static char *asha_fields[] = {
+ MACHINE, ACE_TYPE, ACE_NAME,
+};
+
+static struct valobj asha_valobj[] = {
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_ID, 0, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_TYPE, 1, 0, ACE_TYPE, 0, MR_ACE},
+ {V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
+};
+
+static struct validate asha_validate =
+{
+ asha_valobj,
+ 5,
+ MACH_ID,
+ "mach_id = %d",
+ 1,
+ MACH_ID,
+ 0,
+ 0,
+ set_modtime_by_id,
+};
+
+static char *gsvc_fields[] = {
+ SERVICE,
+ SERVICE, "protocol", "port", DESC, MOD1, MOD2, MOD3,
};
-static char *gasv_fields[] = {
+static char *asvc_fields[] = {
SERVICE, "protocol", "port", DESC,
};
-static char *gpcp_fields[] = {
- "printer",
- "printer", "spooling_host", "spool_directory", "rprinter", "comments",
- MOD1, MOD2, MOD3,
+static struct valobj asvc_valobj[] = {
+ {V_CHAR, 0, SERVICES_TABLE, NAME},
+ {V_CHAR, 1, SERVICES_TABLE, "protocol"},
+ {V_CHAR, 3, SERVICES_TABLE, DESC},
+};
+
+static struct validate asvc_validate = {
+ asvc_valobj,
+ 3,
+ NAME,
+ "name = '%s'",
+ 1,
+ 0,
+ 0,
+ 0,
+ set_modtime,
};
-static char *apcp_fields[] = {
- "printer", "spooling_host", "spool_directory", "rprinter", "comments",
- MOD1, MOD2, MOD3,
+static char *gpce_fields[] = {
+ "printer",
+ "printer", "spooling_host", "spool_directory", "rprinter",
+ "quotaserver", "authenticate", "price", COMMENTS,
+ MOD1, MOD2, MOD3,
};
-static struct valobj apcp_valobj[] = {
- {V_CHAR, 0},
- {V_ID, 1, MACHINE, NAME, MACH_ID, SMS_MACHINE},
+static struct valobj gpce_valobj[]={
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, PRINTCAP_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_WILD, 0},
+ {V_SORT, 0},
};
-static struct validate apcp_validate = {
- apcp_valobj,
- 2,
+static struct validate gpce_validate = {
+ gpce_valobj,
+ 5,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ followup_gpce,
+};
+
+static char *apce_fields[] = {
+ "printer", "spooling_host", "spool_directory", "rprinter",
+ "quotaserver", "authenticate", "price", COMMENTS,
+ MOD1, MOD2, MOD3,
+};
+
+static struct valobj apce_valobj[] = {
+ {V_CHAR, 0, PRINTCAP_TABLE, NAME},
+ {V_ID, 1, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
+ {V_LEN, 2, PRINTCAP_TABLE, "dir"},
+ {V_LEN, 3, PRINTCAP_TABLE, "rp"},
+ {V_ID, 4, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
+ {V_CHAR, 7, PRINTCAP_TABLE, "comments"},
+};
+
+static struct validate apce_validate = {
+ apce_valobj,
+ 6,
NAME,
- "p.name = \"%s\"",
+ "name = '%s'",
1,
0,
0,
set_modtime,
};
-static struct validate dpcp_validate = {
+static struct validate dpce_validate = {
0,
0,
NAME,
- "p.name = \"%s\"",
+ "name = '%s'",
1,
0,
0,
0,
};
+static char *gpcp_fields[] = {
+ "printer",
+ "printer", "spooling_host", "spool_directory", "rprinter", COMMENTS,
+ MOD1, MOD2, MOD3,
+};
+
static char *gpdm_fields[] = {
- NAME,
- NAME, "rpcnum", "host", MOD1, MOD2, MOD3,
+ NAME,
+ NAME, "rpcnum", "host", MOD1, MOD2, MOD3,
};
static char *apdm_fields[] = {
- NAME, "rpcnum", "host"
+ NAME, "rpcnum", "host"
};
static struct valobj apdm_valobj[] = {
- {V_CHAR, 0},
- {V_ID, 2, MACHINE, NAME, MACH_ID, SMS_MACHINE},
+ {V_CHAR, 0, PALLADIUM_TABLE, NAME},
+ {V_ID, 2, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
};
static struct validate apdm_validate = {
apdm_valobj,
2,
NAME,
- "p.name = \"%s\"",
+ "name = '%s'",
1,
0,
0,
0,
0,
NAME,
- "p.name = \"%s\"",
+ "name = '%s'",
1,
0,
0,
};
static struct valobj aali_valobj[] = {
- {V_CHAR, 0},
- {V_TYPE, 1, "alias", 0, 0, SMS_TYPE},
- {V_CHAR, 2},
+ {V_CHAR, 0, ALIAS_TABLE, NAME},
+ {V_TYPE, 1, 0, ALIAS, 0, MR_TYPE},
+ {V_CHAR, 2, ALIAS_TABLE, "trans"},
};
static struct validate aali_validate = {
aali_valobj,
3,
"trans",
- "a.name = \"%s\" and a.type = \"%s\" and a.trans = \"%s\"",
+ "name = '%s' and type = '%s' and trans = '%s'",
3,
0,
0,
0,
0,
"trans",
- "a.name = \"%s\" and a.type = \"%s\" and a.trans = \"%s\"",
+ "name = '%s' and type = '%s' and trans = '%s'",
3,
0,
0,
};
static struct valobj gval_valobj[] = {
- {V_NAME, 0, "values", NAME, 0, SMS_NO_MATCH},
+ {V_NAME, 0, NUMVALUES_TABLE, NAME, 0, MR_NO_MATCH},
};
static struct validate gval_validate = {
NAME, "value",
};
+static struct valobj aval_valobj[] = {
+ {V_CHAR, 0, NUMVALUES_TABLE, NAME},
+};
+
static struct validate aval_validate = /* for aval, uval, and dval */
{
- VOchar0,
+ aval_valobj,
1,
NAME,
- "v.name = \"%s\"",
+ "name = '%s'",
1,
0,
0,
};
static char *gats_fields[] = {
- "table", "retrieves", "appends", "updates", "deletes", MOD1, MOD2, MOD3,
+ "table_name", "appends", "updates", "deletes", MOD1, MOD2, MOD3,
+};
+
+static char *_sdl_fields[] = {
+ "level",
+};
+
+static struct validate _sdl_validate =
+{
+ 0,
+ 0,
+ (char *)0,
+ (char *)0,
+ 0,
+ 0,
+ 0,
+ 0,
+ _sdl_followup,
};
\f
/* Generalized Query Definitions */
+/* Note: For any query which uses prefetch_value, the vcnt should be
+ * one less than the number of %-format specifiers in the tlist.
+ */
+
struct query Queries2[] = {
{
/* Q_GALO - GET_ALL_LOGINS */
"galo",
RETRIEVE,
"u",
- USERS,
- "%c = u.login, %c = text(u.uid), %c = u.shell, %c = u.last, %c = u.first, %c = u.middle",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle FROM users u",
galo_fields,
6,
"u.users_id != 0",
0,
- 0,
+ &VDsort0,
},
-
+
{
/* Q_GAAL - GET_ALL_ACTIVE_LOGINS */
"get_all_active_logins",
"gaal",
RETRIEVE,
"u",
- USERS,
- "%c = u.login, %c = text(u.uid), %c = u.shell, %c = u.last, %c = u.first, %c = u.middle",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle FROM users u",
galo_fields,
6,
"u.status = 1",
0,
- 0,
+ &VDsort0,
},
-
+
+ {
+ /* Q_GUAL - GET_USER_ACCOUNT_BY_LOGIN */
+ "get_user_account_by_login",
+ "gual",
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, u.signature, u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
+ gual_fields,
+ 15,
+ "u.login LIKE '%s' ESCAPE '*' AND u.users_id != 0 AND u.comments = str.string_id",
+ 1,
+ &gubl_validate,
+ },
+
+ {
+ /* Q_GUAU - GET_USER_ACCOUNT_BY_UID */
+ "get_user_account_by_uid",
+ "guau",
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, u.signature, u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
+ guau_fields,
+ 15,
+ "u.unix_uid = %s AND u.users_id != 0 AND u.comments = str.string_id",
+ 1,
+ &gubu_validate,
+ },
+
+ {
+ /* Q_GUAN - GET_USER_ACCOUNT_BY_NAME */
+ "get_user_account_by_name",
+ "guan",
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, u.signature, u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
+ guan_fields,
+ 15,
+ "u.first LIKE '%s' ESCAPE '*' AND u.last LIKE '%s' ESCAPE '*' AND u.users_id != 0 and u.comments = str.string_id",
+ 2,
+ &guan_validate,
+ },
+
+ {
+ /* Q_GUAC - GET_USER_ACCOUNT_BY_CLASS */
+ "get_user_account_by_class",
+ "guac",
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, u.signature, u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
+ guac_fields,
+ 15,
+ "u.type = UPPER('%s') AND u.users_id != 0 AND u.comments = str.string_id",
+ 1,
+ &VDsortf,
+ },
+
+ {
+ /* Q_GUAM - GET_USER_ACCOUNT_BY_MITID */
+ "get_user_account_by_id",
+ "guai",
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, u.signature, u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
+ guam_fields,
+ 15,
+ "u.clearid LIKE '%s' ESCAPE '*' AND u.users_id != 0 AND u.comments = str.string_id",
+ 1,
+ &VDwildsortf,
+ },
+
{
/* Q_GUBL - GET_USER_BY_LOGIN */
"get_user_by_login",
"gubl",
RETRIEVE,
"u",
- USERS,
- "%c = u.login, %c = text(u.uid), %c = u.shell, %c = u.last, %c = u.first, %c = u.middle, %c = text(u.status), %c = u.mit_id, %c = u.mit_year, %c = u.modtime, %c = text(u.modby), %c = u.modwith",
+ USERS_TABLE,
+ "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",
gubl_fields,
12,
- "u.login = \"%s\" and u.users_id != 0",
+ "u.login LIKE '%s' ESCAPE '*' AND u.users_id != 0",
1,
- &gubx_validate,
+ &gubl_validate,
},
-
+
{
/* Q_GUBU - GET_USER_BY_UID */
"get_user_by_uid",
"gubu",
RETRIEVE,
"u",
- USERS,
- "%c = u.login, %c = text(u.uid), %c = u.shell, %c = u.last, %c = u.first, %c = u.middle, %c = text(u.status), %c = u.mit_id, %c = u.mit_year, %c = u.modtime, %c = text(u.modby), %c = u.modwith",
+ USERS_TABLE,
+ "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",
gubu_fields,
12,
- "u.uid = %s and u.users_id != 0",
+ "u.unix_uid = %s AND u.users_id != 0",
1,
- &gubx_validate,
+ &gubu_validate,
},
-
+
{
/* Q_GUBN - GET_USER_BY_NAME */
"get_user_by_name",
"gubn",
RETRIEVE,
"u",
- USERS,
- "%c = u.login, %c = text(u.uid), %c = u.shell, %c = u.last, %c = u.first, %c = u.middle, %c = text(u.status), %c = u.mit_id, %c = u.mit_year, %c = u.modtime, %c = text(u.modby), %c = u.modwith",
+ USERS_TABLE,
+ "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",
gubn_fields,
12,
- "u.first = \"%s\" and u.last = \"%s\" and u.users_id != 0",
+ "u.first LIKE '%s' ESCAPE '*' AND u.last LIKE '%s' ESCAPE '*' AND u.users_id != 0",
2,
- &VDsortf,
+ &gubn_validate,
},
-
+
{
/* Q_GUBC - GET_USER_BY_CLASS */
"get_user_by_class",
"gubc",
RETRIEVE,
"u",
- USERS,
- "%c = u.login, %c = text(u.uid), %c = u.shell, %c = u.last, %c = u.first, %c = u.middle, %c = text(u.status), %c = u.mit_id, %c = u.mit_year, %c = u.modtime, %c = text(u.modby), %c = u.modwith",
+ USERS_TABLE,
+ "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",
gubc_fields,
12,
- "u.mit_year = uppercase(\"%s\") and u.users_id != 0",
+ "u.type = UPPER('%s') AND u.users_id != 0",
1,
&VDsortf,
},
-
+
{
/* Q_GUBM - GET_USER_BY_MITID */
"get_user_by_mitid",
"gubm",
RETRIEVE,
"u",
- USERS,
- "%c = u.login, %c = text(u.uid), %c = u.shell, %c = u.last, %c = u.first, %c = u.middle, %c = text(u.status), %c = u.mit_id, %c = u.mit_year, %c = u.modtime, %c = text(u.modby), %c = u.modwith",
+ USERS_TABLE,
+ "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",
gubm_fields,
12,
- "u.mit_id = \"%s\" and u.users_id != 0",
+ "u.clearid LIKE '%s' ESCAPE '*' AND u.users_id != 0",
1,
- &VDsortf,
+ &VDwildsortf,
+ },
+
+ {
+ /* Q_GUDF - GET_USER_DIRECTORY_FLAGS */
+ "get_user_directory_flags",
+ "gudf",
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.dirflags FROM users u",
+ gudf_fields,
+ 1,
+ "u.users_id = %d",
+ 1,
+ &gudf_validate,
+ },
+
+ {
+ /* Q_AUAC - ADD_USER_ACCOUNT */ /* uses prefetch_value() for users_id */
+ "add_user_account",
+ "auac",
+ APPEND,
+ "u",
+ USERS_TABLE,
+ "INTO users (login, unix_uid, shell, last, first, middle, status, clearid, type, comments, signature, secure, users_id) VALUES ('%s', %s, '%s', NVL('%s',CHR(0)), NVL('%s',CHR(0)), NVL('%s',CHR(0)), %s, NVL('%s',CHR(0)), '%s', %d, LENGTH(NVL('%s',CHR(0))), %s, %s)", /* followup_ausr fixes signature field */
+ auac_fields,
+ 12,
+ (char *)0,
+ 0,
+ &auac_validate,
},
-
+
{
- /* Q_AUSR - ADD_USER */
+ /* Q_AUSR - ADD_USER */ /* uses prefetch_value() for users_id */
"add_user",
"ausr",
APPEND,
"u",
- USERS,
- "login = %c, users_id = values.value, uid = int4(%c), shell = %c, last = %c, first = %c, middle = %c, status = int4(%c), mit_id = %c, mit_year = %c",
- ausr_fields,
+ USERS_TABLE,
+ "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)",
+ auac_fields,
9,
- "values.name = \"users_id\"",
+ 0,
0,
&ausr_validate,
},
-
+
{
/* Q_RUSR - REGISTER_USER */
"register_user",
0,
&rusr_validate,
},
-
+
+ {
+ /* Q_UUAC - UPDATE_USER_ACCOUNT */
+ "update_user_account",
+ "uuac",
+ UPDATE,
+ "u",
+ USERS_TABLE,
+ "users SET login = '%s', unix_uid = %s, shell = '%s', last = NVL('%s',CHR(0)), first = NVL('%s',CHR(0)), middle = NVL('%s',CHR(0)), status = %s, clearid = NVL('%s',CHR(0)), type = '%s', comments = %d, signature = LENGTH(NVL('%s',CHR(0))), secure = %s", /* followup_uuac fixes signature */
+ uuac_fields,
+ 12,
+ "users_id = %d",
+ 1,
+ &uuac_validate,
+ },
+
{
/* Q_UUSR - UPDATE_USER */
"update_user",
"uusr",
UPDATE,
"u",
- USERS,
- "login = %c, uid = int4(%c), shell = %c, last = %c, first = %c, middle = %c, status = int4(%c), mit_id = %c, mit_year = %c",
- uusr_fields,
+ USERS_TABLE,
+ "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'",
+ uuac_fields,
9,
- "u.users_id = %d",
+ "users_id = %d",
1,
&uusr_validate,
},
"uush",
UPDATE,
"u",
- USERS,
- "shell = %c",
+ USERS_TABLE,
+ "users SET shell = '%s'",
uush_fields,
1,
- "u.users_id = %d",
+ "users_id = %d",
1,
&uush_validate,
},
"uust",
UPDATE,
"u",
- USERS,
- "status = int4(%c)",
+ USERS_TABLE,
+ "users SET status = %s",
uust_fields,
1,
- "u.users_id = %d",
+ "users_id = %d",
+ 1,
+ &uust_validate,
+ },
+
+ {
+ /* Q_UUSS - UPDATE_USER_SECURITY_STATUS */
+ "update_user_security_status",
+ "uuss",
+ UPDATE,
+ "u",
+ USERS_TABLE,
+ "users SET secure = %s",
+ uuss_fields,
+ 1,
+ "users_id = %d",
1,
&uust_validate,
},
+
+ {
+ /* Q_UUDF - UPDATE_USER_DIRECTORY_FLAGS */
+ "update_user_directory_flags",
+ "uudf",
+ UPDATE,
+ "u",
+ USERS_TABLE,
+ "users SET dirflags = %s",
+ uudf_fields,
+ 1,
+ "users_id = %d",
+ 1,
+ &uudf_validate,
+ },
{
- /* Q_DUSR - DELETE_USER */
+ /* Q_DUSR - DELETE_USER */
"delete_user",
"dusr",
DELETE,
"u",
- USERS,
+ USERS_TABLE,
(char *)0,
dusr_fields,
0,
- "u.users_id = %d",
+ "users_id = %d",
1,
&dusr_validate,
},
"dubu",
DELETE,
"u",
- USERS,
+ USERS_TABLE,
(char *)0,
dubu_fields,
0,
- "u.users_id = %d",
+ "users_id = %d",
1,
&dubu_validate,
},
{
- /* Q_GKUM - GET_KERBEROS_USER_MAP */
+ /* Q_GKUM - GET_KERBEROS_USER_MAP */
"get_kerberos_user_map",
"gkum",
RETRIEVE,
"k",
- "krbmap",
- "%c = users.login, %c = strings.string",
+ KRBMAP_TABLE,
+ "u.login, str.string FROM krbmap km, users u, strings str",
gkum_fields,
2,
- "users.login = \"%s\" and strings.string = \"%s\" and k.users_id = users.users_id and k.string_id = strings.string_id",
+ "u.login LIKE '%s' ESCAPE '*' AND str.string LIKE '%s' ESCAPE '*' AND km.users_id = u.users_id AND km.string_id = str.string_id",
2,
- &VDsort2,
+ &VDwild2sort2,
},
{
"akum",
APPEND,
"k",
- "krbmap",
- "users_id = %i4, string_id = %i4",
+ KRBMAP_TABLE,
+ "INTO krbmap (users_id, string_id) VALUES (%d, %d)",
akum_fields,
2,
0,
"dkum",
DELETE,
"k",
- "krbmap",
+ KRBMAP_TABLE,
0,
akum_fields,
0,
- "k.users_id = %d and k.string_id = %d",
+ "users_id = %d AND string_id = %d",
2,
&dkum_validate,
},
"gfbl",
RETRIEVE,
"u",
- USERS,
- "%c = u.login,%c=u.fullname,%c=u.nickname,%c=u.home_addr,%c=u.home_phone,%c=u.office_addr,%c=u.office_phone,%c=u.mit_dept,%c=u.mit_affil,%c=u.fmodtime,%c=text(u.fmodby),%c=u.fmodwith",
+ USERS_TABLE,
+ "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",
gfbl_fields,
12,
- "u.users_id = %d",
+ "users_id = %d",
1,
&gfbl_validate,
},
"ufbl",
UPDATE,
"u",
- USERS,
- "fullname=%c,nickname=%c,home_addr=%c,home_phone=%c,office_addr=%c,office_phone=%c,mit_dept=%c,mit_affil=%c",
+ USERS_TABLE,
+ "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))",
ufbl_fields,
8,
- "u.users_id = %d",
+ "users_id = %d",
1,
&ufbl_validate,
},
"gpob",
RETRIEVE,
"u",
- USERS,
- "%c = u.login, %c = u.potype, %c = text(u.pop_id) + \":\" + text(u.box_id), %c = u.pmodtime, %c = text(u.pmodby), %c = u.pmodwith",
+ USERS_TABLE,
+ "login, potype, pop_id || ':' || box_id, TO_CHAR(pmodtime, 'DD-mon-YYYY HH24:MI:SS'), pmodby, pmodwith FROM users",
gpob_fields,
6,
- "u.users_id = %d",
+ "users_id = %d",
1,
&gpob_validate,
},
"gapo",
RETRIEVE,
"u",
- USERS,
- "%c = u.login, %c = u.potype, %c = text(u.pop_id) + \":\" + text(u.box_id)",
+ USERS_TABLE,
+ "login, potype, pop_id || ':' || box_id FROM users",
gpox_fields,
3,
- "u.potype != \"NONE\"",
+ "potype != 'NONE'",
0,
&gpox_validate,
},
"gpop",
RETRIEVE,
"u",
- USERS,
- "%c = u.login, %c = u.potype, %c = text(u.pop_id) + \":\" + text(u.box_id)",
+ USERS_TABLE,
+ "login, potype, pop_id || ':' || box_id FROM users",
gpox_fields,
3,
- "u.potype = \"POP\"",
+ "potype = 'POP'",
0,
&gpox_validate
},
"gpos",
RETRIEVE,
"u",
- USERS,
- "%c = u.login, %c = u.potype, %c = text(u.pop_id) + \":\" + text(u.box_id)",
+ USERS_TABLE,
+ "login, potype, pop_id || ':' || box_id FROM users",
gpox_fields,
3,
- "u.potype = \"SMTP\"",
+ "potype = 'SMTP'",
0,
&gpox_validate
},
"spob",
UPDATE,
0,
- USERS,
+ USERS_TABLE,
0,
spob_fields,
3,
"spop",
UPDATE,
"u",
- USERS,
- "potype = \"POP\"",
+ USERS_TABLE,
+ "users SET potype = 'POP'",
spob_fields,
0,
- "u.users_id = %d",
+ "users_id = %d",
1,
&spop_validate,
},
"dpob",
UPDATE,
"u",
- USERS,
- "potype = \"NONE\"",
+ USERS_TABLE,
+ "users SET potype = 'NONE'",
spob_fields,
0,
- "u.users_id = %d",
+ "users_id = %d",
1,
&dpob_validate,
},
+ {
+ /* Q_GHST - GET_HOST */
+ "get_host",
+ "ghst",
+ RETRIEVE,
+ "m",
+ MACHINE_TABLE,
+ "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",
+ ghst_fields,
+ 21,
+ "m.name LIKE '%s' ESCAPE '*' AND m.address LIKE '%s' ESCAPE '*' AND m.location LIKE '%s' ESCAPE '*' AND s.name LIKE '%s' ESCAPE '*' AND m.mach_id != 0 AND s.snet_id = m.snet_id",
+ 4,
+ &ghst_validate,
+ },
+
+ {
+ /* Q_AHST - ADD_HOST */ /* uses prefetch_value() for mach_id */
+ "add_host",
+ "ahst",
+ APPEND,
+ "m",
+ MACHINE_TABLE,
+ "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)",
+ ahst_fields,
+ 14,
+ 0,
+ 0,
+ &ahst_validate,
+ },
+
+ {
+ /* Q_UHST - UPDATE_HOST */
+ "update_host",
+ "uhst",
+ UPDATE,
+ "m",
+ MACHINE_TABLE,
+ "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",
+ uhst_fields,
+ 14,
+ "mach_id = %d",
+ 1,
+ &uhst_validate,
+ },
+
+ {
+ /* Q_DHST - DELETE_HOST */
+ "delete_host",
+ "dhst",
+ DELETE,
+ "m",
+ MACHINE_TABLE,
+ (char *)0,
+ dhst_fields,
+ 0,
+ "mach_id = %d",
+ 1,
+ &dhst_validate,
+ },
+
{
/* Q_GMAC - GET_MACHINE */
"get_machine",
"gmac",
RETRIEVE,
"m",
- MACHINE,
- "%c = m.name, %c = m.type, %c = m.modtime, %c = text(m.modby), %c =m.modwith",
+ MACHINE_TABLE,
+ "name, vendor, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM machine",
gmac_fields,
5,
- "m.name = uppercase(\"%s\") and m.mach_id != 0",
+ "name LIKE '%s' ESCAPE '*' AND mach_id != 0",
1,
- &VDsortf,
+ &VDupwildsortf,
+ },
+
+ {
+ /* Q_GHAL - GET_HOSTALIAS */
+ "get_hostalias",
+ "ghal",
+ RETRIEVE,
+ "a",
+ HOSTALIAS_TABLE,
+ "a.name, m.name FROM hostalias a, machine m",
+ ghal_fields,
+ 2,
+ "m.mach_id = a.mach_id and a.name LIKE '%s' ESCAPE '*' AND m.name LIKE '%s' ESCAPE '*'",
+ 2,
+ &ghal_validate,
},
{
- /* Q_AMAC - ADD_MACHINE */
- "add_machine",
- "amac",
+ /* Q_AHAL - ADD_HOSTALIAS */
+ "add_hostalias",
+ "ahal",
APPEND,
- "m",
- MACHINE,
- "name = uppercase(%c), mach_id = values.value, type = %c",
- amac_fields,
+ "a",
+ HOSTALIAS_TABLE,
+ "INTO hostalias (name, mach_id) VALUES (UPPER('%s'),%d)",
+ ghal_fields,
2,
- "values.name = \"mach_id\"",
0,
- &amac_validate,
+ 0,
+ &ahal_validate,
},
{
- /* Q_UMAC - UPDATE_MACHINE */
- "update_machine",
- "umac",
- UPDATE,
- "m",
- MACHINE,
- "name = uppercase(%c), type = %c",
- umac_fields,
+ /* Q_DHAL - DELETE_HOSTALIAS */
+ "delete_hostalias",
+ "dhal",
+ DELETE,
+ "a",
+ HOSTALIAS_TABLE,
+ (char *)0,
+ ghal_fields,
+ 0,
+ "name = UPPER('%s') AND mach_id = %d",
2,
- "m.mach_id = %d",
+ &dhal_validate,
+ },
+
+ {
+ /* Q_GSNT - GET_SUBNET */
+ "get_subnet",
+ "gsnt",
+ RETRIEVE,
+ "s",
+ SUBNET_TABLE,
+ "name, description, saddr, mask, low, high, prefix, owner_type, owner_id, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM subnet",
+ gsnt_fields,
+ 12,
+ "name LIKE '%s' ESCAPE '*' and snet_id != 0",
+ 1,
+ &gsnt_validate,
+ },
+
+ {
+ /* Q_ASNT - ADD_SUBNET */
+ "add_subnet",
+ "asnt",
+ APPEND,
+ "s",
+ SUBNET_TABLE,
+ "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)",
+ asnt_fields,
+ 9,
+ 0,
+ 0,
+ &asnt_validate,
+ },
+
+ {
+ /* Q_USNT - UPDATE_SUBNET */
+ "update_subnet",
+ "usnt",
+ UPDATE,
+ "s",
+ SUBNET_TABLE,
+ "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",
+ usnt_fields,
+ 9,
+ "snet_id = %d",
1,
- &umac_validate,
+ &usnt_validate,
},
{
- /* Q_DMAC - DELETE_MACHINE */
- "delete_machine",
- "dmac",
+ /* Q_DSNT - DELETE_SUBNET */
+ "delete_subnet",
+ "dsnt",
DELETE,
- "m",
- MACHINE,
+ "s",
+ SUBNET_TABLE,
(char *)0,
- dmac_fields,
+ dsnt_fields,
0,
- "m.mach_id = %d",
+ "snet_id = %d",
1,
- &dmac_validate,
+ &dsnt_validate,
},
{
"gclu",
RETRIEVE,
"c",
- CLUSTER,
- "%c = c.name, %c = c.desc, %c = c.location, %c = c.modtime, %c = text(c.modby), %c = c.modwith",
+ CLUSTER_TABLE,
+ "name, description, location, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM clusters",
gclu_fields,
6,
- "c.name = \"%s\" and c.clu_id != 0",
+ "name LIKE '%s' ESCAPE '*' AND clu_id != 0",
1,
- &VDsortf,
+ &VDwildsortf,
},
{
- /* Q_ACLU - ADD_CLUSTER */
+ /* Q_ACLU - ADD_CLUSTER */ /* uses prefetch_value() for clu_id */
"add_cluster",
"aclu",
APPEND,
"c",
- CLUSTER,
- "name = %c, clu_id = values.value, desc = %c, location = %c",
+ CLUSTER_TABLE,
+ "INTO clusters (name, description, location, clu_id) VALUES ('%s',NVL('%s',CHR(0)),NVL('%s',CHR(0)),%s)",
aclu_fields,
3,
- "values.name = \"clu_id\"",
+ 0,
0,
&aclu_validate,
},
"uclu",
UPDATE,
"c",
- CLUSTER,
- "name = %c, desc = %c, location = %c",
+ CLUSTER_TABLE,
+ "clusters SET name = '%s', description = NVL('%s',CHR(0)), location = NVL('%s',CHR(0))",
uclu_fields,
3,
- "c.clu_id = %d",
- 1,
- &uclu_validate,
+ "clu_id = %d",
+ 1,
+ &uclu_validate,
+ },
+
+ {
+ /* Q_DCLU - DELETE_CLUSTER */
+ "delete_cluster",
+ "dclu",
+ DELETE,
+ "c",
+ CLUSTER_TABLE,
+ (char *)0,
+ dclu_fields,
+ 0,
+ "clu_id = %d",
+ 1,
+ &dclu_validate,
+ },
+
+ {
+ /* Q_GMCM - GET_MACHINE_TO_CLUSTER_MAP */
+ "get_machine_to_cluster_map",
+ "gmcm",
+ RETRIEVE,
+ "mcm",
+ MCMAP_TABLE,
+ "m.name, c.name FROM machine m, clusters c, mcmap mcm",
+ gmcm_fields,
+ 2,
+ "m.name LIKE '%s' ESCAPE '*' AND c.name LIKE '%s' ESCAPE '*' AND mcm.clu_id = c.clu_id AND mcm.mach_id = m.mach_id",
+ 2,
+ &gmcm_validate,
+ },
+
+ {
+ /* Q_AMTC - ADD_MACHINE_TO_CLUSTER */
+ "add_machine_to_cluster",
+ "amtc",
+ APPEND,
+ "mcm",
+ MCMAP_TABLE,
+ "INTO mcmap (mach_id, clu_id) VALUES (%d, %d)",
+ gmcm_fields,
+ 2,
+ 0,
+ 0,
+ &amtc_validate,
+ },
+
+ {
+ /* Q_DMFC - DELETE_MACHINE_FROM_CLUSTER */
+ "delete_machine_from_cluster",
+ "dmfc",
+ DELETE,
+ "mcm",
+ MCMAP_TABLE,
+ 0,
+ gmcm_fields,
+ 0,
+ "mach_id = %d AND clu_id = %d",
+ 2,
+ &amtc_validate,
+ },
+
+ {
+ /* Q_GCLD - GET_CLUSTER_DATA */
+ "get_cluster_data",
+ "gcld",
+ RETRIEVE,
+ "svc",
+ SVC_TABLE,
+ "c.name, svc.serv_label, svc.serv_cluster FROM svc svc, clusters c",
+ gcld_fields,
+ 3,
+ "c.clu_id = svc.clu_id AND c.name LIKE '%s' ESCAPE '*' AND svc.serv_label LIKE '%s' ESCAPE '*'",
+ 2,
+ &VDwild2sort2,
+ },
+
+ {
+ /* Q_ACLD - ADD_CLUSTER_DATA */
+ "add_cluster_data",
+ "acld",
+ APPEND,
+ "svc",
+ SVC_TABLE,
+ "INTO svc (clu_id, serv_label, serv_cluster) VALUES (%d,'%s','%s')",
+ acld_fields,
+ 3,
+ (char *)0,
+ 0,
+ &acld_validate,
+ },
+
+ {
+ /* Q_DCLD - DELETE_CLUSTER_DATA */
+ "delete_cluster_data",
+ "dcld",
+ DELETE,
+ "svc",
+ SVC_TABLE,
+ (char *)0,
+ acld_fields,
+ 0,
+ "clu_id = %d AND serv_label = '%s' AND serv_cluster = '%s'",
+ 3,
+ &dcld_validate,
+ },
+
+ {
+ /* Q_GLIN - GET_LIST_INFO */
+ "get_list_info",
+ "glin",
+ RETRIEVE,
+ 0,
+ LIST_TABLE,
+ 0,
+ glin_fields,
+ 13,
+ 0,
+ 1,
+ &glin_validate,
+ },
+
+ {
+ /* Q_EXLN - EXPAND_LIST_NAMES */
+ "expand_list_names",
+ "exln",
+ RETRIEVE,
+ "l",
+ LIST_TABLE,
+ "name FROM list",
+ glin_fields,
+ 1,
+ "name LIKE '%s' ESCAPE '*' AND list_id != 0",
+ 1,
+ &VDwild0,
+ },
+
+ {
+ /* Q_ALIS - ADD_LIST */ /* uses prefetch_value() for list_id */
+ "add_list",
+ "alis",
+ APPEND,
+ "l",
+ LIST_TABLE,
+ "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)",
+ alis_fields,
+ 10,
+ 0,
+ 0,
+ &alis_validate,
+ },
+
+ {
+ /* Q_ULIS - UPDATE_LIST */
+ "update_list",
+ "ulis",
+ UPDATE,
+ "l",
+ LIST_TABLE,
+ "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))",
+ ulis_fields,
+ 10,
+ "list_id = %d",
+ 1,
+ &ulis_validate,
+ },
+
+ {
+ /* Q_DLIS - DELETE_LIST */
+ "delete_list",
+ "dlis",
+ DELETE,
+ "l",
+ LIST_TABLE,
+ (char *)0,
+ dlis_fields,
+ 0,
+ "list_id = %d",
+ 1,
+ &dlis_validate,
+ },
+
+ {
+ /* Q_AMTL - ADD_MEMBER_TO_LIST */
+ "add_member_to_list",
+ "amtl",
+ APPEND,
+ 0,
+ IMEMBERS_TABLE,
+ 0,
+ amtl_fields,
+ 3,
+ (char *)0,
+ 0,
+ &amtl_validate,
},
{
- /* Q_DCLU - DELETE_CLUSTER */
- "delete_cluster",
- "dclu",
+ /* Q_DMFL - DELETE_MEMBER_FROM_LIST */
+ "delete_member_from_list",
+ "dmfl",
DELETE,
- "c",
- CLUSTER,
+ 0,
+ IMEMBERS_TABLE,
(char *)0,
- dclu_fields,
+ amtl_fields,
0,
- "c.clu_id = %d",
- 1,
- &dclu_validate,
+ 0,
+ 3,
+ &dmfl_validate,
},
{
- /* Q_GMCM - GET_MACHINE_TO_CLUSTER_MAP */
- "get_machine_to_cluster_map",
- "gmcm",
+ /* Q_GAUS - GET_ACE_USE */
+ "get_ace_use",
+ "gaus",
RETRIEVE,
- "m",
- "mcmap",
- "%c = machine.name, %c = cluster.name",
- gmcm_fields,
+ 0,
+ 0,
+ 0,
+ gaus_fields,
2,
- "machine.name = uppercase(\"%s\") and cluster.name = \"%s\" and m.clu_id = cluster.clu_id and m.mach_id = machine.mach_id",
+ 0,
2,
- &VDsort2,
+ &gaus_validate,
},
{
- /* Q_AMTC - ADD_MACHINE_TO_CLUSTER */
- "add_machine_to_cluster",
- "amtc",
- APPEND,
- "m",
- "mcmap",
- "mach_id = %i4, clu_id = %i4",
- gmcm_fields,
- 2,
- 0,
+ /* Q_QGLI - QUALIFIED_GET_LISTS */
+ "qualified_get_lists",
+ "qgli",
+ RETRIEVE,
0,
- &amtc_validate,
- },
-
- {
- /* Q_DMFC - DELETE_MACHINE_FROM_CLUSTER */
- "delete_machine_from_cluster",
- "dmfc",
- DELETE,
- "m",
- "mcmap",
+ LIST_TABLE,
0,
- gmcm_fields,
+ qgli_fields,
+ 1,
0,
- "m.mach_id = %d and m.clu_id = %d",
- 2,
- &amtc_validate,
+ 5,
+ &qgli_validate,
},
{
- /* Q_GCLD - GET_CLUSTER_DATA */
- "get_cluster_data",
- "gcld",
+ /* Q_GMOL - GET_MEMBERS_OF_LIST */
+ "get_members_of_list",
+ "gmol",
RETRIEVE,
- "s",
- "svc",
- "%c = cluster.name, %c = s.serv_label, %c = s.serv_cluster",
- gcld_fields,
- 3,
- "cluster.clu_id = s.clu_id and cluster.name = \"%s\" and s.serv_label = \"%s\"",
+ (char *)0,
+ IMEMBERS_TABLE,
+ (char *)0,
+ gmol_fields,
2,
- &VDsort2,
+ (char *)0,
+ 1,
+ &gmol_validate,
},
{
- /* Q_ACLD - ADD_CLUSTER_DATA */
- "add_cluster_data",
- "acld",
- APPEND,
- "s",
- "svc",
- "clu_id = %i4, serv_label = %c, serv_cluster = %c",
- acld_fields,
- 3,
+ /* Q_GEML - GET_END_MEMBERS_OF_LIST */
+ "get_end_members_of_list",
+ "geml",
+ RETRIEVE,
+ (char *)0,
+ IMEMBERS_TABLE,
(char *)0,
+ gmol_fields,
0,
- &acld_validate,
+ (char *)0,
+ 1,
+ &geml_validate,
+ },
+
+ {
+ /* Q_GLOM - GET_LISTS_OF_MEMBER */
+ "get_lists_of_member",
+ "glom",
+ RETRIEVE,
+ 0,
+ IMEMBERS_TABLE,
+ 0,
+ glom_fields,
+ 6,
+ 0,
+ 2,
+ &glom_validate,
},
{
- /* Q_DCLD - DELETE_CLUSTER_DATA */
- "delete_cluster_data",
- "dcld",
- DELETE,
- "s",
- "svc",
- (char *)0,
- acld_fields,
+ /* Q_CMOL - COUNT_MEMBERS_OF_LIST */
+ "count_members_of_list",
+ "cmol",
+ RETRIEVE,
0,
- "s.clu_id = %d and s.serv_label = \"%s\" and s.serv_cluster = \"%s\"",
- 3,
- &acld_validate,
+ IMEMBERS_TABLE,
+ 0,
+ cmol_fields,
+ 1,
+ 0,
+ 1,
+ &cmol_validate,
},
{
"gsin",
RETRIEVE,
"s",
- "servers",
- "%c = s.name, %c = text(s.update_int), %c = s.target_file, %c = s.script, %c = text(s.dfgen), %c = text(s.dfcheck), %c = s.type, %c = text(s.enable), %c = text(s.inprogress), %c = text(s.harderror), %c = s.errmsg, %c = s.acl_type, %c = text(s.acl_id), %c = s.modtime, %c = text(s.modby), %c = s.modwith",
+ SERVERS_TABLE,
+ "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",
gsin_fields,
16,
- "s.name = uppercase(\"%s\")",
+ "name LIKE '%s' ESCAPE '*'",
1,
&gsin_validate,
},
"qgsv",
RETRIEVE,
0,
- "servers",
+ SERVERS_TABLE,
0,
qgsv_fields,
1,
"asin",
APPEND,
"s",
- "servers",
- "name = uppercase(%c), update_int = int4(%c), target_file = %c, script = %c, type = %c, enable = int1(%c), acl_type = %c, acl_id = %i4",
+ SERVERS_TABLE,
+ "INTO servers (name, update_int, target_file, script, type, enable, acl_type, acl_id) VALUES (UPPER('%s'),%s,'%s','%s','%s',%s,'%s',%d)",
asin_fields,
8,
(char *)0,
"usin",
UPDATE,
"s",
- "servers",
- "update_int = int4(%c), target_file = %c, script = %c, type = %c, enable = int1(%c), acl_type = %c, acl_id = %i4",
+ SERVERS_TABLE,
+ "servers SET update_int = %s, target_file = '%s', script = '%s', type = '%s', enable = %s, acl_type = '%s', acl_id = %d",
asin_fields,
7,
- "s.name = uppercase(\"%s\")",
+ "name = UPPER('%s')",
1,
&asin_validate,
},
"rsve",
UPDATE,
"s",
- "servers",
- "harderror = 0, dfcheck = s.dfgen",
+ SERVERS_TABLE,
+ "servers SET harderror = 0, dfcheck = dfgen",
dsin_fields,
0,
- "s.name = uppercase(\"%s\")",
+ "name = UPPER('%s')",
1,
&rsve_validate,
},
"ssif",
UPDATE,
"s",
- "servers",
- "dfgen = int4(%c), dfcheck = int4(%c), inprogress = int1(%c), harderror = int1(%c), errmsg = %c",
+ SERVERS_TABLE,
+ "servers SET dfgen = %s, dfcheck = %s, inprogress = %s, harderror = %s, errmsg = NVL('%s',CHR(0))",
ssif_fields,
5,
- "s.name = uppercase(\"%s\")",
+ "name = UPPER('%s')",
1,
&ssif_validate,
},
"dsin",
DELETE,
"s",
- "servers",
+ SERVERS_TABLE,
(char *)0,
dsin_fields,
0,
- "s.name = uppercase(\"%s\")",
+ "name = UPPER('%s')",
1,
&dsin_validate,
},
{
- /* Q_GSHI - GET_SERVER_HOST_INFO */
+ /* Q_GSHI - GET_SERVER_HOST_INFO */
"get_server_host_info",
"gshi",
RETRIEVE,
"sh",
- "serverhosts",
- "%c = sh.service, %c = machine.name, %c = text(sh.enable), %c = text(sh.override), %c = text(sh.success), %c = text(sh.inprogress), %c = text(sh.hosterror), %c = sh.hosterrmsg, %c = text(sh.ltt), %c = text(sh.lts), %c = text(sh.value1), %c = text(sh.value2), %c = sh.value3, %c = sh.modtime, %c = text(sh.modby), %c = sh.modwith",
+ SERVERHOSTS_TABLE,
+ "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",
gshi_fields,
16,
- "sh.service = uppercase(\"%s\") and machine.name = uppercase(\"%s\") and machine.mach_id = sh.mach_id",
+ "sh.service LIKE '%s' ESCAPE '*' AND m.name LIKE '%s' ESCAPE '*' AND m.mach_id = sh.mach_id",
2,
&gshi_validate,
},
{
- /* Q_QGSV - QUALIFIED_GET_SERVER_HOST */
+ /* Q_QGSH - QUALIFIED_GET_SERVER_HOST */
"qualified_get_server_host",
"qgsh",
RETRIEVE,
0,
- "serverhosts",
+ SERVERHOSTS_TABLE,
0,
qgsh_fields,
2,
"ashi",
APPEND,
"sh",
- "serverhosts",
- "service = uppercase(%c), mach_id = %i4, enable = int1(%c), value1 = int4(%c), value2 = int4(%c), value3 = %c",
+ SERVERHOSTS_TABLE,
+ "INTO serverhosts (service, mach_id, enable, value1, value2, value3) VALUES (UPPER('%s'), %d, %s, %s, %s, NVL('%s',CHR(0)))",
ashi_fields,
6,
(char *)0,
"ushi",
UPDATE,
"sh",
- "serverhosts",
- "enable = int1(%c), value1 = int4(%c), value2 = int4(%c), value3 = %c",
+ SERVERHOSTS_TABLE,
+ "serverhosts SET enable = %s, value1 = %s, value2 = %s, value3 = NVL('%s',CHR(0))",
ashi_fields,
4,
- "sh.service = uppercase(\"%s\") and sh.mach_id = %d",
+ "service = UPPER('%s') AND mach_id = %d",
2,
&ashi_validate,
},
"rshe",
UPDATE,
"sh",
- "serverhosts",
- "hosterror = 0",
+ SERVERHOSTS_TABLE,
+ "serverhosts SET hosterror = 0",
dshi_fields,
0,
- "sh.service = uppercase(\"%s\") and sh.mach_id = %d",
+ "service = UPPER('%s') AND mach_id = %d",
2,
&rshe_validate,
},
"ssho",
UPDATE,
"sh",
- "serverhosts",
- "override = 1",
+ SERVERHOSTS_TABLE,
+ "serverhosts SET override = 1",
dshi_fields,
0,
- "sh.service = uppercase(\"%s\") and sh.mach_id = %d",
+ "service = UPPER('%s') AND mach_id = %d",
2,
&ssho_validate,
},
"sshi",
UPDATE,
"s",
- "serverhosts",
- "override = int1(%c), success = int1(%c), inprogress = int1(%c), hosterror = int1(%c), hosterrmsg = %c, ltt = int4(%c), lts = int4(%c)",
+ SERVERHOSTS_TABLE,
+ "serverhosts SET override = %s, success = %s, inprogress = %s, hosterror = %s, hosterrmsg = NVL('%s',CHR(0)), ltt = %s, lts = %s",
sshi_fields,
7,
- "s.service = uppercase(\"%s\") and s.mach_id = machine.mach_id and machine.name = \"%s\"",
+ "service = UPPER('%s') AND mach_id = %d",
2,
&sshi_validate,
},
"dshi",
DELETE,
"sh",
- "serverhosts",
+ SERVERHOSTS_TABLE,
(char *)0,
dshi_fields,
0,
- "sh.service = uppercase(\"%s\") and sh.mach_id = %d",
+ "service = UPPER('%s') AND mach_id = %d",
2,
&dshi_validate,
},
{
- /* Q_GSHA - GET_SERVER_HOST_ACCESS */
- "get_server_host_access",
- "gsha",
- RETRIEVE,
- "ha",
- "hostaccess",
- "%c = machine.name, %c = ha.acl_type, %c = text(ha.acl_id), %c = ha.modtime, %c = text(ha.modby), %c = ha.modwith",
- gsha_fields,
- 6,
- "machine.name = uppercase(\"%s\") and ha.mach_id = machine.mach_id",
- 1,
- &gsha_validate,
- },
-
- {
- /* Q_ASHA - ADD_SERVER_HOST_ACCESS */
- "add_server_host_access",
- "asha",
- APPEND,
- "ha",
- "hostaccess",
- "mach_id = %i4, acl_type = %c, acl_id = %i4",
- asha_fields,
- 3,
- 0,
- 0,
- &asha_validate,
- },
-
- {
- /* Q_USHA - UPDATE_SERVER_HOST_ACCESS */
- "update_server_host_access",
- "usha",
- UPDATE,
- "ha",
- "hostaccess",
- "acl_type = %c, acl_id = %i4",
- asha_fields,
- 2,
- "ha.mach_id = %d",
- 1,
- &asha_validate,
- },
-
- {
- /* Q_DSHA - DELETE_SERVER_HOST_ACCESS */
- "delete_server_host_access",
- "dsha",
- DELETE,
- "ha",
- "hostaccess",
- 0,
- asha_fields,
- 0,
- "ha.mach_id = %d",
- 1,
- &VDmach,
- },
-
- {
- /* Q_GSLO - GET_SERVER_LOCATIONS */
+ /* Q_GSLO - GET_SERVER_LOCATIONS */
"get_server_locations",
"gslo",
RETRIEVE,
"sh",
- "serverhosts",
- "%c = sh.service, %c = machine.name",
+ SERVERHOSTS_TABLE,
+ "sh.service, m.name FROM serverhosts sh, machine m",
gslo_fields,
2,
- "sh.service = uppercase(\"%s\") and sh.mach_id = machine.mach_id",
+ "sh.service LIKE '%s' ESCAPE '*' AND sh.mach_id = m.mach_id",
1,
- 0,
+ &VDupwild0,
},
{
- /* Q_GFSL - GET_FILESYS_BY_LABEL */
+ /* Q_GFSL - GET_FILESYS_BY_LABEL */
"get_filesys_by_label",
"gfsl",
RETRIEVE,
"fs",
- FILESYS,
- "%c = fs.label, %c = fs.type, %c = machine.name, %c = fs.name, %c = fs.mount, %c = fs.access, %c = fs.comments, %c = users.login, %c = list.name, %c = text(fs.createflg), %c = fs.lockertype, %c = fs.modtime, %c = text(fs.modby), %c = fs.modwith",
+ FILESYS_TABLE,
+ "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",
gfsl_fields,
14,
- "fs.label = \"%s\" and fs.mach_id = machine.mach_id and fs.owner = users.users_id and fs.owners = list.list_id",
+ "fs.label LIKE '%s' ESCAPE '*' AND fs.mach_id = m.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
1,
- &VDsortf,
+ &VDwildsortf,
},
{
- /* Q_GFSM - GET_FILESYS_BY_MACHINE */
+ /* Q_GFSM - GET_FILESYS_BY_MACHINE */
"get_filesys_by_machine",
"gfsm",
RETRIEVE,
"fs",
- FILESYS,
- "%c = fs.label, %c = fs.type, %c = machine.name, %c = fs.name, %c = fs.mount, %c = fs.access, %c = fs.comments, %c = users.login, %c = list.name, %c = text(fs.createflg), %c = fs.lockertype, %c = fs.modtime, %c = text(fs.modby), %c = fs.modwith",
+ FILESYS_TABLE,
+ "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",
gfsm_fields,
14,
- "fs.mach_id = %d and machine.mach_id = fs.mach_id and fs.owner = users.users_id and fs.owners = list.list_id",
+ "fs.mach_id = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
1,
&gfsm_validate,
},
{
- /* Q_GFSN - GET_FILESYS_BY_NFSPHYS */
+ /* Q_GFSN - GET_FILESYS_BY_NFSPHYS */
"get_filesys_by_nfsphys",
"gfsn",
RETRIEVE,
"fs",
- FILESYS,
- "%c = fs.label, %c = fs.type, %c = machine.name, %c = fs.name, %c = fs.mount, %c = fs.access, %c = fs.comments, %c = users.login, %c = list.name, %c = text(fs.createflg), %c = fs.lockertype, %c = fs.modtime, %c = text(fs.modby), %c = fs.modwith",
+ FILESYS_TABLE,
+ "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",
gfsn_fields,
14,
- "fs.mach_id = %d and machine.mach_id = fs.mach_id and fs.owner = users.users_id and fs.owners = list.list_id and nfsphys.nfsphys_id = fs.phys_id and nfsphys.dir = \"%s\" and fs.type = \"NFS\"",
+ "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' ESCAPE '*' AND fs.type = 'NFS'",
2,
- &gfsm_validate,
+ &gfsn_validate,
},
{
- /* Q_GFSG - GET_FILESYS_BY_GROUP */
+ /* Q_GFSG - GET_FILESYS_BY_GROUP */
"get_filesys_by_group",
"gfsg",
RETRIEVE,
"fs",
- FILESYS,
- "%c = fs.label, %c = fs.type, %c = machine.name, %c = fs.name, %c = fs.mount, %c = fs.access, %c = fs.comments, %c = users.login, %c = list.name, %c = text(fs.createflg), %c = fs.lockertype, %c = fs.modtime, %c = text(fs.modby), %c = fs.modwith",
+ FILESYS_TABLE,
+ "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",
gfsg_fields,
14,
- "fs.owners = %d and machine.mach_id = fs.mach_id and fs.owner = users.users_id and fs.owners = list.list_id",
+ "fs.owners = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
1,
&gfsg_validate,
},
{
- /* Q_AFIL - ADD_FILESYS */
+ /* Q_GFSP - GET_FILESYS_BY_PATH */
+ "get_filesys_by_path",
+ "gfsp",
+ RETRIEVE,
+ "fs",
+ FILESYS_TABLE,
+ "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",
+ gfsp_fields,
+ 14,
+ "fs.name LIKE '%s' ESCAPE '*' AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = list_id",
+ 1,
+ &VDwildsortf,
+ },
+
+ {
+ /* Q_AFIL - ADD_FILESYS */ /* uses prefetch_value() for filsys_id */
"add_filesys",
"afil",
APPEND,
"fs",
- FILESYS,
- "filsys_id = values.value, label = %c, type = %c, mach_id = %i4, name = %c, mount = %c, access = %c, comments = %c, owner = %i4, owners = %i4, createflg = int1(%c), lockertype = %c",
+ FILESYS_TABLE,
+ "INTO filesys (label, type, mach_id, name, mount, rwaccess, comments, owner, owners, createflg, lockertype, filsys_id) VALUES ('%s','%s',%d,NVL('%s',CHR(0)),'%s','%s',NVL('%s',CHR(0)),%d,%d,%s,'%s',%s)",
afil_fields,
11,
- "values.name = \"filsys_id\"",
+ 0,
0,
&afil_validate,
},
"ufil",
UPDATE,
"fs",
- FILESYS,
- "label = %c, type = %c, mach_id = %i4, name = %c, mount = %c, access = %c, comments = %c, owner = %i4, owners = %i4, createflg = int1(%c), lockertype = %c",
+ FILESYS_TABLE,
+ "filesys SET label = '%s', type = '%s', mach_id = %d, name = NVL('%s',CHR(0)), mount = '%s', rwaccess = '%s', comments = NVL('%s',CHR(0)), owner = %d, owners = %d, createflg = %s, lockertype = '%s'",
ufil_fields,
11,
- "fs.filsys_id = %d",
+ "filsys_id = %d",
1,
- &ufil_validate,
+ &ufil_validate,
},
{
"dfil",
DELETE,
"fs",
- FILESYS,
+ FILESYS_TABLE,
(char *)0,
dfil_fields,
0,
- "fs.filsys_id = %d",
+ "filsys_id = %d",
1,
&dfil_validate,
},
{
- /* Q_GFGM - GET_FSGROUOP_MEMBERS */
+ /* Q_GFGM - GET_FSGROUP_MEMBERS */
"get_fsgroup_members",
"gfgm",
RETRIEVE,
"fg",
- "fsgroup",
- "%c = filesys.label, %c = fg.key",
+ FSGROUP_TABLE,
+ "fs.label, fg.key FROM fsgroup fg, filesys fs",
gfgm_fields,
2,
- "fg.group_id = %d and filesys.filsys_id = fg.filsys_id",
+ "fg.group_id = %d AND fs.filsys_id = fg.filsys_id",
1,
&gfgm_validate,
},
"aftg",
APPEND,
"fg",
- "fsgroup",
- "group_id = filesys.filsys_id, filsys_id = %i4, key = %c",
+ FSGROUP_TABLE,
+ "INTO fsgroup (group_id,filsys_id,key) VALUES (%d, %d, '%s')",
gfgm_fields,
- 2,
- "filesys.filsys_id = %d and filesys.type = \"FSGROUP\"",
- 1,
+ 3,
+ (char *)0,
+ 0,
&aftg_validate,
},
"rffg",
DELETE,
"fg",
- "fsgroup",
+ FSGROUP_TABLE,
(char *)0,
gfgm_fields,
0,
- "fg.group_id = %d and fg.filsys_id = %d",
+ "group_id = %d AND filsys_id = %d",
2,
&aftg_validate,
},
{
- /* Q_GANF - GET_ALL_NFSPHYS */
+ /* Q_GANF - GET_ALL_NFSPHYS */
"get_all_nfsphys",
"ganf",
RETRIEVE,
"np",
- "nfsphys",
- "%c = machine.name, %c = np.dir, %c = np.device, %c = text(np.status), %c = text(np.allocated), %c = text(np.size), %c = np.modtime, %c = text(np.modby), %c = np.modwith",
+ NFSPHYS_TABLE,
+ "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",
ganf_fields,
9,
- "machine.mach_id = np.mach_id",
+ "m.mach_id = np.mach_id",
0,
&VDsortf,
},
{
- /* Q_GNFP - GET_NFSPHYS */
+ /* Q_GNFP - GET_NFSPHYS */
"get_nfsphys",
"gnfp",
RETRIEVE,
"np",
- "nfsphys",
- "%c = machine.name, %c = np.dir, %c = np.device, %c = text(np.status), %c = text(np.allocated), %c = text(np.size), %c = np.modtime, %c = text(np.modby), %c = np.modwith",
+ NFSPHYS_TABLE,
+ "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",
gnfp_fields,
9,
- "np.mach_id = %d and np.dir = \"%s\" and machine.mach_id = np.mach_id",
+ "np.mach_id = %d AND np.dir LIKE '%s' ESCAPE '*' AND m.mach_id = np.mach_id",
2,
&gnfp_validate,
},
{
- /* Q_ANFP - ADD_NFSPHYS */
+ /* Q_ANFP - ADD_NFSPHYS */ /* uses prefetch_value() for nfsphys_id */
"add_nfsphys",
"anfp",
APPEND,
"np",
- "nfsphys",
- "nfsphys_id = values.value, mach_id = %i4, dir = %c, device = %c, status = int4(%c), allocated = int4(%c), size = int4(%c)",
+ NFSPHYS_TABLE,
+ "INTO nfsphys (mach_id, dir, device, status, allocated, partsize, nfsphys_id) VALUES (%d, '%s', NVL('%s',CHR(0)), %s, %s, %s, %s)",
ganf_fields,
6,
- "values.name = \"nfsphys_id\"",
+ 0,
0,
&anfp_validate,
},
"unfp",
UPDATE,
"np",
- "nfsphys",
- "device = %c, status = int4(%c), allocated = int4(%c), size = int4(%c)",
- gnfp_fields,
+ NFSPHYS_TABLE,
+ "nfsphys SET device = NVL('%s',CHR(0)), status = %s, allocated = %s, partsize = %s",
+ ganf_fields,
4,
- "np.mach_id = %d and np.dir = \"%s\"",
+ "mach_id = %d AND dir = '%s'",
2,
- &anfp_validate,
+ &unfp_validate,
},
{
/* Q_AJNF - ADJUST_NFSPHYS_ALLOCATION */
"adjust_nfsphys_allocation",
- "ajnf",
- UPDATE,
- "np",
- "nfsphys",
- "allocated = np.allocated + int4(%c)",
- dnfp_fields,
- 1,
- "np.mach_id = %d and np.dir = \"%s\"",
- 2,
- &anfp_validate,
- },
-
- {
- /* Q_DNFP - DELETE_NFSPHYS */
- "delete_nfsphys",
- "dnfp",
- DELETE,
- "np",
- "nfsphys",
- (char *)0,
- dnfp_fields,
- 0,
- "np.mach_id = %d and np.dir = \"%s\"",
- 2,
- &dnfp_validate,
- },
-
- {
- /* Q_GNFQ - GET_NFS_QUOTAS */
- "get_nfs_quota",
- "gnfq",
- RETRIEVE,
- "nq",
- "nfsquota",
- "%c = filesys.label, %c = users.login, %c = text(nq.quota), %c = text(nq.phys_id), %c = machine.name, %c = nq.modtime, %c = text(nq.modby), %c = nq.modwith",
- gnfq_fields,
- 8,
- "filesys.label = \"%s\" and nq.users_id = %d and filesys.filsys_id = nq.filsys_id and machine.mach_id = filesys.mach_id and users.users_id = nq.users_id",
- 2,
- &gnfq_validate,
- },
-
- {
- /* Q_GNQP - GET_NFS_QUOTAS_BY_PARTITION */
- "get_nfs_quotas_by_partition",
- "gnqp",
- RETRIEVE,
- "nq",
- "nfsquota",
- "%c = filesys.label, %c = users.login, %c = text(nq.quota), %c = nfsphys.dir, %c = machine.name",
- gnqp_fields,
- 5,
- "nfsphys.mach_id = %d and nfsphys.dir = \"%s\" and nq.phys_id = nfsphys.nfsphys_id and filesys.filsys_id = nq.filsys_id and users.users_id = nq.users_id and machine.mach_id = nfsphys.mach_id",
- 2,
- &VDmach,
- },
-
- {
- /* Q_ANFQ - ADD_NFS_QUOTA */
- "add_nfs_quota",
- "anfq",
- APPEND,
- "nq",
- "nfsquota",
- "filsys_id = filesys.filsys_id, users_id = %i4, quota = int4(%c), phys_id = filesys.phys_id",
- anfq_fields,
- 2,
- "filesys.filsys_id = %d",
- 1,
- &anfq_validate,
- },
-
- {
- /* Q_UNFQ - UPDATE_NFS_QUOTA */
- "update_nfs_quota",
- "unfq",
+ "ajnf",
UPDATE,
- "nq",
- "nfsquota",
- "quota = int4(%c)",
- anfq_fields,
+ "np",
+ NFSPHYS_TABLE,
+ "nfsphys SET allocated = allocated + %s",
+ ajnf_fields,
1,
- "nq.filsys_id = %d and nq.users_id = %d",
+ "mach_id = %d AND dir = '%s'",
2,
- &unfq_validate,
+ &unfp_validate,
},
{
- /* Q_DNFQ - DELETE_NFS_QUOTA */
- "delete_nfs_quota",
- "dnfq",
+ /* Q_DNFP - DELETE_NFSPHYS */
+ "delete_nfsphys",
+ "dnfp",
DELETE,
- "nq",
- "nfsquota",
+ "np",
+ NFSPHYS_TABLE,
(char *)0,
- anfq_fields,
+ dnfp_fields,
0,
- "nq.filsys_id = %d and nq.users_id = %d",
+ "mach_id = %d AND dir = '%s'",
2,
- &dnfq_validate,
+ &dnfp_validate,
},
{
- /* Q_GLIN - GET_LIST_INFO */
- "get_list_info",
- "glin",
+ /* Q_GQOT - GET_QUOTA */
+ "get_quota",
+ "gqot",
RETRIEVE,
- 0,
- LIST,
- 0,
- glin_fields,
- 13,
- 0,
- 1,
- &glin_validate,
+ "q",
+ QUOTA_TABLE,
+ "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",
+ gqot_fields,
+ 9,
+ "fs.label LIKE '%s' ESCAPE '*' AND q.type = '%s' AND q.entity_id = %d AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id",
+ 3,
+ &gqot_validate,
},
-
+
{
- /* Q_EXLN - EXPAND_LIST_NAMES */
- "expand_list_names",
- "exln",
+ /* Q_GQBF - GET_QUOTA_BY_FILESYS */
+ "get_quota_by_filesys",
+ "gqbf",
RETRIEVE,
- "l",
- LIST,
- "%c = l.name",
- glin_fields,
- 1,
- "l.name = \"%s\" and l.list_id != 0",
+ "q",
+ QUOTA_TABLE,
+ "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",
+ gqbf_fields,
+ 9,
+ "fs.label LIKE '%s' ESCAPE '*' AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id",
1,
- 0
+ &gqbf_validate,
},
-
+
{
- /* Q_ALIS - ADD_LIST */
- "add_list",
- "alis",
+ /* Q_AQOT - ADD_QUOTA */ /* prefetch_filsys() gets last 1 value */
+ "add_quota",
+ "aqot",
APPEND,
- "l",
- LIST,
- "list_id=values.value, name=%c, active=int1(%c), public=int1(%c), hidden=int1(%c), maillist=int1(%c), group=int1(%c), gid=int2(%c), acl_type=%c, acl_id=%i4, desc=%c",
- alis_fields,
- 10,
- "values.name = \"list_id\"",
0,
- &alis_validate,
- },
-
- {
- /* Q_ULIS - UPDATE_LIST */
- "update_list",
- "ulis",
- UPDATE,
- "l",
- LIST,
- "name=%c, active=int1(%c), public=int1(%c), hidden=int1(%c), maillist=int1(%c), group=int1(%c), gid=int2(%c), acl_type=%c, acl_id=%i4, desc=%c",
- ulis_fields,
- 10,
- "l.list_id = %d",
- 1,
- &ulis_validate,
- },
-
- {
- /* Q_DLIS - DELETE_LIST */
- "delete_list",
- "dlis",
- DELETE,
- "l",
- LIST,
+ QUOTA_TABLE,
+ "INTO quota (filsys_id, type, entity_id, quota, phys_id) VALUES ('%s', %d, %d, %s, %s)",
+ aqot_fields,
+ 4,
(char *)0,
- dlis_fields,
0,
- "l.list_id = %d",
- 1,
- &dlis_validate,
+ &aqot_validate,
},
{
- /* Q_AMTL - ADD_MEMBER_TO_LIST */
- "add_member_to_list",
- "amtl",
- APPEND,
+ /* Q_UQOT - UPDATE_QUOTA */
+ "update_quota",
+ "uqot",
+ UPDATE,
0,
- "imembers",
+ QUOTA_TABLE,
+ "quota SET quota = %s",
+ aqot_fields,
+ 1,
0,
- amtl_fields,
3,
- (char *)0,
- 0,
- &amtl_validate,
+ &uqot_validate,
},
{
- /* Q_DMFL - DELETE_MEMBER_FROM_LIST */
- "delete_member_from_list",
- "dmfl",
+ /* Q_DQOT - DELETE_QUOTA */
+ "delete_quota",
+ "dqot",
DELETE,
0,
- "imembers",
+ QUOTA_TABLE,
(char *)0,
- amtl_fields,
+ aqot_fields,
0,
0,
3,
- &dmfl_validate,
+ &dqot_validate,
},
{
- /* Q_GAUS - GET_ACE_USE */
- "get_ace_use",
- "gaus",
+ /* Q_GNFQ - GET_NFS_QUOTAS */
+ "get_nfs_quota",
+ "gnfq",
RETRIEVE,
- 0,
- 0,
- 0,
- gaus_fields,
- 2,
- 0,
+ "q",
+ QUOTA_TABLE,
+ "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",
+ gnfq_fields,
+ 8,
+ "fs.label LIKE '%s' ESCAPE '*' 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'",
2,
- &gaus_validate,
+ &gnfq_validate,
},
{
- /* Q_QGLI - QUALIFIED_GET_LISTS */
- "qualified_get_lists",
- "qgli",
+ /* Q_GNQP - GET_NFS_QUOTAS_BY_PARTITION */
+ "get_nfs_quotas_by_partition",
+ "gnqp",
RETRIEVE,
- 0,
- LIST,
- 0,
- qgli_fields,
- 1,
- 0,
+ "q",
+ QUOTA_TABLE,
+ "fs.label, u.login, q.quota, np.dir, m.name FROM quota q, filesys fs, users u, nfsphys np, machine m",
+ gnqp_fields,
5,
- &qgli_validate,
+ "np.mach_id = %d AND np.dir LIKE '%s' ESCAPE '*' 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",
+ 2,
+ &gnqp_validate,
},
{
- /* Q_GMOL - GET_MEMBERS_OF_LIST */
- "get_members_of_list",
- "gmol",
- RETRIEVE,
- (char *)0,
- "imembers",
- (char *)0,
- gmol_fields,
+ /* Q_ANFQ - ADD_NFS_QUOTA */ /* prefetch_filsys() gets last 1 value */
+ "add_nfs_quota",
+ "anfq",
+ APPEND,
0,
+ QUOTA_TABLE,
+ "INTO quota (type, filsys_id, entity_id, quota, phys_id ) VALUES ('USER', %d, %d, %s, %s)",
+ anfq_fields,
+ 3,
(char *)0,
- 1,
- &gmol_validate,
+ 0,
+ &anfq_validate,
},
{
- /* Q_GLOM - GET_LISTS_OF_MEMBER */
- "get_lists_of_member",
- "glom",
- RETRIEVE,
- 0,
- "imembers",
+ /* Q_UNFQ - UPDATE_NFS_QUOTA */
+ "update_nfs_quota",
+ "unfq",
+ UPDATE,
0,
- glom_fields,
- 6,
+ QUOTA_TABLE,
+ "quota SET quota = %s",
+ anfq_fields,
+ 1,
0,
2,
- &glom_validate,
+ &unfq_validate,
},
{
- /* Q_CMOL - COUNT_MEMBERS_OF_LIST */
- "count_members_of_list",
- "cmol",
- RETRIEVE,
+ /* Q_DNFQ - DELETE_NFS_QUOTA */
+ "delete_nfs_quota",
+ "dnfq",
+ DELETE,
0,
- "imembers",
+ QUOTA_TABLE,
+ (char *)0,
+ anfq_fields,
0,
- cmol_fields,
- 1,
0,
- 1,
- &cmol_validate,
+ 2,
+ &dnfq_validate,
},
{
"gzcl",
RETRIEVE,
"z",
- "zephyr",
- "%c = z.class, %c = z.xmt_type, %c = text(z.xmt_id),%c = z.sub_type, %c = text(z.sub_id),%c = z.iws_type, %c = text(z.iws_id),%c = z.iui_type, %c = text(z.iui_id), %c=z.modtime, %c = text(z.modby), %c = z.modwith",
+ ZEPHYR_TABLE,
+ "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",
gzcl_fields,
12,
- "z.class = \"%s\"",
+ "class LIKE '%s' ESCAPE '*'",
1,
&gzcl_validate,
- },
+ },
{
/* Q_AZCL - ADD_ZEPHYR_CLASS */
"azcl",
APPEND,
"z",
- "zephyr",
- "class = %c, xmt_type = %c, xmt_id = %i4, sub_type = %c, sub_id = %i4, iws_type = %c, iws_id = %i4, iui_type = %c, iui_id = %i4",
+ ZEPHYR_TABLE,
+ "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)",
azcl_fields,
9,
0,
"uzcl",
UPDATE,
"z",
- "zephyr",
- "class = %c, xmt_type = %c, xmt_id = %i4, sub_type = %c, sub_id = %i4, iws_type = %c, iws_id = %i4, iui_type = %c, iui_id = %i4",
+ ZEPHYR_TABLE,
+ "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",
uzcl_fields,
9,
- "z.class = \"%s\"",
+ "class = '%s'",
1,
&uzcl_validate,
},
"dzcl",
DELETE,
"z",
- "zephyr",
+ ZEPHYR_TABLE,
0,
uzcl_fields,
0,
- "z.class = \"%s\"",
+ "class = '%s'",
1,
&dzcl_validate,
},
-#ifdef notdef
+
+ {
+ /* Q_GSHA - GET_SERVER_HOST_ACCESS */
+ "get_server_host_access",
+ "gsha",
+ RETRIEVE,
+ "ha",
+ HOSTACCESS_TABLE,
+ "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",
+ gsha_fields,
+ 6,
+ "m.name LIKE '%s' ESCAPE '*' AND ha.mach_id = m.mach_id",
+ 1,
+ &gsha_validate,
+ },
+
+ {
+ /* Q_ASHA - ADD_SERVER_HOST_ACCESS */
+ "add_server_host_access",
+ "asha",
+ APPEND,
+ "ha",
+ HOSTACCESS_TABLE,
+ "INTO hostaccess (mach_id, acl_type, acl_id) VALUES (%d,'%s',%d)",
+ asha_fields,
+ 3,
+ 0,
+ 0,
+ &asha_validate,
+ },
+
+ {
+ /* Q_USHA - UPDATE_SERVER_HOST_ACCESS */
+ "update_server_host_access",
+ "usha",
+ UPDATE,
+ "ha",
+ HOSTACCESS_TABLE,
+ "hostaccess SET acl_type = '%s', acl_id = %d",
+ asha_fields,
+ 2,
+ "mach_id = %d",
+ 1,
+ &asha_validate,
+ },
+
+ {
+ /* Q_DSHA - DELETE_SERVER_HOST_ACCESS */
+ "delete_server_host_access",
+ "dsha",
+ DELETE,
+ "ha",
+ HOSTACCESS_TABLE,
+ 0,
+ asha_fields,
+ 0,
+ "mach_id = %d",
+ 1,
+ &VDmach,
+ },
+
{
/* Q_GSVC - GET_SERVICE */
"get_service",
"gsvc",
RETRIEVE,
- "s",
- "services",
- "%c = s.name, %c = s.protocol, %c = text(s.port), %c = s.desc, %c = s.modtime, %c = text(s.modby), %c = s.modwith",
- gasv_fields,
+ "ss",
+ SERVICES_TABLE,
+ "name, protocol, port, description, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM services",
+ gsvc_fields,
7,
- (char *)0,
- 0,
- &gsvc_validate,
+ "name LIKE '%s' ESCAPE '*'",
+ 1,
+ &VDwildsortf,
},
{
"add_service",
"asvc",
APPEND,
- "s",
- "services",
- "name = %c, protocol = %c, port = int2(%c), desc = %c",
- gasv_fields,
+ "ss",
+ SERVICES_TABLE,
+ "INTO services (name, protocol, port, description) VALUES ('%s','%s',%s,NVL('%s',CHR(0)))",
+ asvc_fields,
4,
(char *)0,
0,
"delete_service",
"dsvc",
DELETE,
- "s",
- "services",
+ "ss",
+ SERVICES_TABLE,
0,
- gasv_fields,
+ asvc_fields,
0,
- "s.name = \"%s\"",
+ "name = '%s'",
1,
- &dsvc_validate,
+ &asvc_validate,
},
-#endif
+
{
- /* Q_GPCP - GET_PRINTCAP */
- "get_printcap",
- "gpcp",
+ /* Q_GPCE - GET_PRINTCAP_ENTRY */
+ "get_printcap_entry",
+ "gpce",
RETRIEVE,
- "p",
- "printcap",
- "%c = p.name, %c = machine.name, %c = p.dir, %c = p.rp, %c = p.comments, %c = p.modtime, %c = text(p.modby), %c = p.modwith",
- gpcp_fields,
- 8,
- "p.name = \"%s\" and machine.mach_id = p.mach_id",
+ "pc",
+ PRINTCAP_TABLE,
+ "pc.name, m.name, pc.dir, pc.rp, pc.quotaserver, pc.auth, pc.price, pc.comments, TO_CHAR(pc.modtime, 'DD-mon-YYYY HH24:MI:SS'), pc.modby, pc.modwith FROM printcap pc, machine m",
+ gpce_fields,
+ 11,
+ "pc.name LIKE '%s' ESCAPE '*' AND m.mach_id = pc.mach_id",
1,
- &VDsortf,
+ &gpce_validate,
},
{
- /* Q_APCP - ADD_PRINTCAP */
- "add_printcap",
- "apcp",
+ /* Q_APCE - ADD_PRINTCAP_ENTRY */
+ "add_printcap_entry",
+ "apce",
APPEND,
- "p",
- "printcap",
- "name = %c, mach_id = %i4, dir = %c, rp = %c, comments = %c",
- apcp_fields,
- 5,
+ "pc",
+ PRINTCAP_TABLE,
+ "INTO printcap (name, mach_id, dir, rp, quotaserver, auth, price, comments) VALUES ('%s',%d,'%s','%s',%d,%s,%s,NVL('%s',CHR(0)))",
+ apce_fields,
+ 8,
+ 0,
+ 0,
+ &apce_validate,
+ },
+
+ {
+ /* Q_DPCE - DELETE_PRINTCAP_ENTRY */
+ "delete_printcap_entry",
+ "dpce",
+ DELETE,
+ "pc",
+ PRINTCAP_TABLE,
0,
+ apce_fields,
0,
- &apcp_validate,
+ "name = '%s'",
+ 1,
+ &dpce_validate,
+ },
+
+ {
+ /* Q_GPCP - GET_PRINTCAP */
+ "get_printcap",
+ "gpcp",
+ RETRIEVE,
+ "pc",
+ PRINTCAP_TABLE,
+ "pc.name, m.name, pc.dir, pc.rp, pc.comments, TO_CHAR(pc.modtime, 'DD-mon-YYYY HH24:MI:SS'), pc.modby, pc.modwith FROM printcap pc, machine m",
+ gpcp_fields,
+ 8,
+ "pc.name LIKE '%s' ESCAPE '*' AND m.mach_id = pc.mach_id",
+ 1,
+ &VDwildsortf,
},
{
"delete_printcap",
"dpcp",
DELETE,
- "p",
- "printcap",
+ "pc",
+ PRINTCAP_TABLE,
0,
- apcp_fields,
+ apce_fields,
0,
- "p.name = \"%s\"",
+ "name = '%s'",
1,
- &dpcp_validate,
+ &dpce_validate,
},
{
"get_palladium",
"gpdm",
RETRIEVE,
- "p",
- "palladium",
- "%c = p.name, %c = text(p.ident), %c = machine.name, %c = p.modtime, %c = text(p.modby), %c = p.modwith",
+ "pal",
+ PALLADIUM_TABLE,
+ "pal.name, pal.identifier, m.name, TO_CHAR(pal.modtime, 'DD-mon-YYYY HH24:MI:SS'), pal.modby, pal.modwith FROM palladium pal, machine m",
gpdm_fields,
6,
- "p.name = \"%s\" and machine.mach_id = p.mach_id",
+ "pal.name LIKE '%s' ESCAPE '*' AND m.mach_id = pal.mach_id",
1,
- &VDsortf,
+ &VDwildsortf,
},
{
"add_palladium",
"apdm",
APPEND,
- "p",
- "palladium",
- "name = %c, ident = int4(%c), mach_id = %i4",
+ "pal",
+ PALLADIUM_TABLE,
+ "INTO palladium (name, identifier, mach_id) VALUES ('%s',%s,%d)",
apdm_fields,
3,
0,
"delete_palladium",
"dpdm",
DELETE,
- "p",
- "palladium",
+ "pal",
+ PALLADIUM_TABLE,
0,
apdm_fields,
0,
- "p.name = \"%s\"",
+ "name = '%s'",
1,
&dpdm_validate,
},
"gali",
RETRIEVE,
"a",
- "alias",
- "%c = a.name, %c = a.type, %c = a.trans",
+ ALIAS_TABLE,
+ "name, type, trans FROM alias",
gali_fields,
3,
- "a.name = \"%s\" and a.type = \"%s\" and a.trans = \"%s\"",
+ "name LIKE '%s' ESCAPE '*' AND type LIKE '%s' ESCAPE '*' AND trans LIKE '%s' ESCAPE '*'",
3,
- 0,
+ &VDwild3sort1,
},
{
"aali",
APPEND,
"a",
- "alias",
- "name = %c, type = %c, trans = %c",
+ ALIAS_TABLE,
+ "INTO alias (name, type, trans) VALUES ('%s', '%s', '%s')",
aali_fields,
3,
(char *)0,
"dali",
DELETE,
"a",
- "alias",
+ ALIAS_TABLE,
(char *)0,
aali_fields,
0,
- "a.name = \"%s\" and a.type = \"%s\" and a.trans = \"%s\"",
+ "name = '%s' AND type = '%s' AND trans = '%s'",
3,
&dali_validate,
},
"get_value",
"gval",
RETRIEVE,
- "v",
- "values",
- "%c = text(v.value)",
+ "val",
+ NUMVALUES_TABLE,
+ "value FROM numvalues",
gval_fields,
1,
- "v.name = \"%s\"",
+ "name = '%s'",
1,
&gval_validate,
},
"add_value",
"aval",
APPEND,
- "v",
- "values",
- "name = %c, value = int4(%c)",
+ "val",
+ NUMVALUES_TABLE,
+ "INTO numvalues (name, value) VALUES ('%s', %s)",
aval_fields,
2,
(char *)0,
"update_value",
"uval",
UPDATE,
- "v",
- "values",
- "value = int4(%c)",
+ "val",
+ NUMVALUES_TABLE,
+ "numvalues SET value = %s",
aval_fields,
1,
- "v.name = \"%s\"",
+ "name = '%s'",
1,
&aval_validate,
},
"delete_value",
"dval",
DELETE,
- "v",
- "values",
+ "val",
+ NUMVALUES_TABLE,
(char *)0,
dval_fields,
0,
- "v.name = \"%s\"",
+ "name = '%s'",
1,
&aval_validate,
},
"gats",
RETRIEVE,
"tbs",
- "tblstats",
- "%c = tbs.table, %c = text(tbs.retrieves), %c = text(tbs.appends), %c = text(tbs.updates), %c = text(tbs.deletes), %c = tbs.modtime",
+ TBLSTATS_TABLE,
+ "table_name, appends, updates, deletes, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS') FROM tblstats",
gats_fields,
- 6,
+ 5,
+ (char *)0,
+ 0,
+ 0,
+ },
+
+ {
+ /* Q__SDL - _SET_DEBUG_LEVEL */
+ "_set_debug_level",
+ "_sdl",
+ UPDATE,
(char *)0,
0,
+ (char *)0,
+ _sdl_fields,
+ 1,
+ (char *)0,
0,
+ &_sdl_validate,
},
};