]> andersk Git - moira.git/blobdiff - server/queries2.c
typo; commit lookup in incremental
[moira.git] / server / queries2.c
index 349674d70173191242d0487051c79480bfdadc4e..219ee337f856a3eeb453e5591083307ea24ac805 100644 (file)
@@ -26,6 +26,7 @@ int access_filesys();
 
 /* Query Setup Routines */
 int prefetch_value();
+int prefetch_filesys();
 int setup_ausr();
 int setup_dusr();
 int setup_spop();
@@ -39,6 +40,7 @@ int setup_dshi();
 int setup_afil();
 int setup_ufil();
 int setup_dfil();
+int setup_aftg();
 int setup_dnfp();
 int setup_dqot();
 int setup_sshi();
@@ -54,6 +56,8 @@ int followup_gzcl();
 int followup_gsha();
 int followup_gqot();
 int followup_gpce();
+int followup_guax();
+int followup_uuac();
 
 int set_modtime();
 int set_modtime_by_id();
@@ -75,6 +79,7 @@ int delete_member_from_list();
 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();
@@ -94,6 +99,7 @@ static char ACE_TYPE[] = "ace_type";
 static char CLASS[] = "class";
 static char CLU_ID[] = "clu_id";
 static char CLUSTER[] = "cluster";
+static char COMMENTS[] = "comments";
 static char DESC[] = "description";
 static char DEVICE[] = "device";
 static char DIR[] = "dir";
@@ -116,8 +122,10 @@ static char MOD3[] = "modwith";
 static char NAME[] = "name";
 static char QUOTA[] = "quota";
 static char QUOTA_TYPE[] = "quota_type";
+static char SECURE[] = "secure";
 static char SERVICE[] = "service";
 static char SHELL[] = "shell";
+static char SIGNATURE[] = "signature";
 static char STATUS[] = "status";
 static char TYPE[] = "type";
 static char USERS[] = "users";
@@ -132,7 +140,45 @@ static char UID[] = "uid";
  */
 
 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 VOwild012sort0[] = {  /* get_alias */
+  {V_WILD, 0},
+  {V_WILD, 1},
+  {V_WILD, 2},
+  {V_SORT, 0},
 };
 
 static struct valobj VOdate1[] = {
@@ -191,17 +237,58 @@ static struct valobj VOfilsys0user1[] = {
  */
 
 static struct validate VDmach = { VOmach0, 1 };
+static struct validate VDsort0= { VOsort0, 1 };
+static struct validate VDwild0= { VOwild0, 1 };
+static struct validate VDupwild0= { VOupwild0, 1 };
 static struct validate VDsort2= { VOsort01,2 };
+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 VDwild2sortf = { 
+  VOwild01sort01,
+  4,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  followup_fix_modby,
+};
+
+static struct validate VDupwildsortf = { 
+  VOupwild0sort,
+  2,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  followup_fix_modby,
 };
 
 
@@ -212,23 +299,53 @@ 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 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[] = {
@@ -237,12 +354,38 @@ 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, 
@@ -255,12 +398,12 @@ static char *gubm_fields[] = {
   MIT_ID, CLASS, MOD1, MOD2, MOD3,
 };
 
-static char *ausr_fields[] = {
+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[] = {
+static struct valobj auac_valobj[] = {
   {V_LOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
   {V_CHAR, 0},
   {V_CHAR, 3},
@@ -268,13 +411,26 @@ static struct valobj ausr_valobj[] = {
   {V_CHAR, 5},
   {V_CHAR, 7},
   {V_TYPE, 8, CLASS, 0, 0, MR_BAD_CLASS},
+  {V_ID, 9, "strings", "string", "string_id", MR_NO_MATCH},
+};
+
+static struct validate auac_validate = {
+  auac_valobj,
+  8,
+  LOGIN,
+  "login = LEFT('%s',SIZE(login))",
+  1,
+  USERS_ID,
+  0,
+  setup_ausr,
+  followup_ausr,
 };
 
 static struct validate ausr_validate = {
-  ausr_valobj,
+  auac_valobj,
   7,
   LOGIN,
-  "users.login = '%s'",
+  "login = LEFT('%s',SIZE(login))",  
   1,
   USERS_ID,
   0,
@@ -284,7 +440,7 @@ static struct validate ausr_validate = {
 
 static char *rusr_fields[] = {
   UID, LOGIN, "fs_type"
-};
+    };
 
 static struct valobj rusr_valobj[] = {
   {V_LOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
@@ -305,32 +461,45 @@ static struct validate rusr_validate = {
   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 uuac_valobj[] = {
+  {V_LOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_ID, 0, USERS, LOGIN, USERS_ID, MR_USER},
+  {V_RENAME, 1, USERS, LOGIN, USERS_ID, MR_NOT_UNIQUE},
+  {V_CHAR, 4},
+  {V_CHAR, 5},
+  {V_CHAR, 6},
+  {V_CHAR, 8},
+  {V_TYPE, 9, CLASS, 0, 0, MR_BAD_CLASS},
+  {V_ID, 10, "strings", "string", "string_id", MR_NO_MATCH},
 };
 
-static struct valobj uusr_valobj[] = {
-    {V_LOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
-    {V_ID, 0, USERS, LOGIN, USERS_ID, MR_USER},
-    {V_RENAME, 1, USERS, LOGIN, USERS_ID, MR_NOT_UNIQUE},
-    {V_CHAR, 4},
-    {V_CHAR, 5},
-    {V_CHAR, 6},
-    {V_CHAR, 8},
-    {V_TYPE, 9, CLASS, 0, 0, MR_BAD_CLASS},
+static struct validate uuac_validate = {
+  uuac_valobj,
+  9,
+  0,
+  0,
+  0,
+  USERS_ID,
+  0,
+  setup_ausr,
+  followup_uuac,
 };
 
 static struct validate uusr_validate = {
-  uusr_valobj,
+  uuac_valobj,
   8,
   0,
   0,
   0,
   USERS_ID,
   0,
-  0,
+  setup_ausr,
   set_modtime_by_id,
 };
 
@@ -356,6 +525,11 @@ static char *uust_fields[] = {
   STATUS,
 };
 
+static char *uuss_fields[] = {
+  LOGIN,
+  SECURE,
+};
+
 static struct validate uust_validate = {
   VOuser0lock,
   2,
@@ -389,8 +563,8 @@ static char *dubu_fields[] = {
 };
 
 static struct valobj dubu_valobj[] = {
-    {V_LOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
-    {V_ID, 0, USERS, UID, USERS_ID, MR_USER}
+  {V_LOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_ID, 0, USERS, UID, USERS_ID, MR_USER}
 };
 
 static struct validate dubu_validate = {
@@ -406,41 +580,41 @@ 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, MR_USER},
-    {V_ID, 1, "strings", "string", "string_id", MR_NO_MATCH},
+  {V_ID, 0, USERS, LOGIN, USERS_ID, MR_USER},
+  {V_ID, 1, "strings", "string", "string_id", MR_NO_MATCH},
 };
 
 static struct validate akum_validate =
 {
-    akum_valobj,
-    1,
-    USERS_ID,
-    "kerberos.users_id = %d or kerberos.string_id = %d",
-    2,
-    USERS_ID,
-    access_user,
-    setup_akum,
-    0
-};
+  akum_valobj,
+  1,
+  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,
-    "kerberos.users_id = %d and kerberos.string_id = %d",
-    2,
-    USERS_ID,
-    access_user,
-    0,
-    0
-};
+  akum_valobj,
+  2,
+  USERS_ID,
+  "users_id = %d and string_id = %d",
+  2,
+  USERS_ID,
+  access_user,
+  0,
+  0
+    };
 
 static char *gfbl_fields[] = {
   LOGIN,
@@ -489,7 +663,7 @@ static struct validate gpob_validate = {
   VOuser0,
   1,
   "potype",
-  "users.potype != 'NONE' and users.users_id=%d",
+  "potype != 'NONE' and users_id=%d",
   1,
   0,
   access_user,
@@ -568,7 +742,7 @@ static char *gmac_fields[] = {
 };
 
 static char *amac_fields[] = {
-  NAME, TYPE
+  NAME, TYPE,
 };
 
 static struct valobj amac_valobj[] = {
@@ -581,7 +755,7 @@ static struct validate amac_validate = {
   amac_valobj,
   3,
   NAME,
-  "machine.name = uppercase('%s')",
+  "name = uppercase(LEFT('%s',SIZE(name)))",
   1,
   MACH_ID,
   0,
@@ -642,18 +816,18 @@ static char *gclu_fields[] = {
 static char *aclu_fields[] = {
   NAME, DESC, LOCATION,
 };
-  
+
 static struct valobj aclu_valobj[] = {
   {V_LOCK, 0, CLUSTER, 0, CLU_ID, MR_DEADLOCK},
   {V_CHAR, 0}
 };
 
-static struct validate aclu_validate = /* for aclu  */
+static struct validate aclu_validate = 
 {
   aclu_valobj,
   2,
   NAME,
-  "cluster.name = '%s'",
+  "name = LEFT('%s',SIZE(name))",
   1,
   CLU_ID,
   0,
@@ -689,15 +863,15 @@ static char *dclu_fields[] = {
 };
 
 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[] = {
@@ -705,6 +879,16 @@ 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, MR_MACHINE},
@@ -716,7 +900,7 @@ static struct validate amtc_validate = /* for amtc and dmfc */
   amtc_valobj,
   2,
   MACH_ID,
-  "mcmap.mach_id = %d and mcmap.clu_id = %d",
+  "mach_id = %d and clu_id = %d",
   2,
   0,
   0,
@@ -736,15 +920,35 @@ static char *acld_fields[] = {
 static struct valobj acld_valobj[] =
 {
   {V_ID, 0, CLUSTER, NAME, CLU_ID, MR_CLUSTER},
+  {V_CHAR, 1},
   {V_CHAR, 2},
 };
 
-static struct validate acld_validate = /* ADD_CLUSTER_DATA */
-{                                      /* DELETE_CLUSTER_DATA */
+static struct validate acld_validate = 
+{                                      
   acld_valobj,
+  3,
+  CLU_ID,
+  "clu_id = %d AND serv_label = '%s' AND serv_cluster = LEFT('%s',SIZE(serv_cluster))",
+  3,
+  0,
+  0,
+  0,
+  set_cluster_modtime_by_id,
+};
+
+static struct valobj dcld_valobj[] =
+{
+  {V_ID, 0, CLUSTER, NAME, CLU_ID, MR_CLUSTER},
+  {V_CHAR, 2},
+};
+
+static struct validate dcld_validate = 
+{                                      
+  dcld_valobj,
   2,
   CLU_ID,
-  "svc.clu_id = %d and svc.serv_label = '%s' and svc.serv_cluster = '%s'",
+  "clu_id = %d AND serv_label = '%s' AND serv_cluster = '%s'",
   3,
   0,
   0,
@@ -759,22 +963,27 @@ static char *gsin_fields[] = {
   ACE_TYPE, ACE_NAME, MOD1, MOD2, MOD3,
 };
 
+static struct valobj gsin_valobj[] =
+{
+  { V_UPWILD, 0 },
+};
+
 static struct validate gsin_validate = 
 {
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    access_service,
-    0,
-    followup_glin,
+  gsin_valobj,
+  1,
+  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[] = {
@@ -784,15 +993,15 @@ static struct valobj qgsv_valobj[] = {
 };
 
 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[] = {
@@ -813,7 +1022,7 @@ static struct validate asin_validate =     /* for asin, usin */
   asin_valobj,
   5,
   NAME,
-  "services.name = uppercase('%s')",
+  "name = uppercase(LEFT('%s',SIZE(name)))",
   1,
   0,
   0,
@@ -825,7 +1034,7 @@ static struct validate rsve_validate = {
   asin_valobj,
   1,
   NAME,
-  "services.name = uppercase('%s')",
+  "name = uppercase('%s')",
   1,
   0,
   access_service,
@@ -841,7 +1050,7 @@ static struct validate ssif_validate = {
   asin_valobj,
   1,
   NAME,
-  "services.name = uppercase('%s')",
+  "name = uppercase('%s')",
   1,
   0,
   0,
@@ -857,7 +1066,7 @@ static struct validate dsin_validate = {
   asin_valobj,
   1,
   NAME,
-  "services.name = uppercase('%s')",
+  "name = uppercase('%s')",
   1,
   0,
   0,
@@ -872,9 +1081,14 @@ static char *gshi_fields[] = {
   "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,
@@ -885,8 +1099,8 @@ static struct validate gshi_validate = {
 };
 
 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[] = {
@@ -898,15 +1112,15 @@ static struct valobj qgsh_valobj[] = {
 };
 
 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[] = {
@@ -924,7 +1138,7 @@ static struct validate ashi_validate = /* ashi & ushi */
   ashi_valobj,
   3,
   SERVICE,
-  "serverhosts.service = uppercase('%s') and serverhosts.mach_id = %d",
+  "service = uppercase(LEFT('%s',SIZE(service))) AND mach_id = %d",
   2,
   0,
   access_service,
@@ -937,7 +1151,7 @@ static struct validate rshe_validate =
   ashi_valobj,
   3,
   SERVICE,
-  "serverhosts.service = uppercase('%s') and serverhosts.mach_id = %d",
+  "service = uppercase('%s') AND mach_id = %d",
   2,
   0,
   access_service,
@@ -950,7 +1164,7 @@ static struct validate ssho_validate =
   ashi_valobj,
   3,
   SERVICE,
-  "serverhosts.service = uppercase('%s') and serverhosts.mach_id = %d",
+  "service = uppercase('%s') AND mach_id = %d",
   2,
   0,
   access_service,
@@ -959,18 +1173,19 @@ static struct validate ssho_validate =
 };
 
 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, MR_SERVICE},
+  {V_ID, 1, MACHINE, NAME, MACH_ID, MR_MACHINE},  /** Was this ok to add? */
 };
 
 static struct validate sshi_validate = 
 {
   sshi_valobj,
-  1,
+  2,
   0,
   0,
   0,
@@ -989,7 +1204,7 @@ static struct validate dshi_validate =
   ashi_valobj,
   3,
   SERVICE,
-  "serverhosts.service = uppercase('%s') and serverhosts.mach_id = %d",
+  "service = uppercase('%s') AND mach_id = %d",
   2,
   0,
   access_service,
@@ -1004,8 +1219,8 @@ static char *gsha_fields[] = {
 
 static struct validate gsha_validate = 
 {
-  0,
-  0,
+  VOupwild0,
+  1,
   0,
   0,
   0,
@@ -1030,7 +1245,7 @@ static struct validate asha_validate =
   asha_valobj,
   3,
   MACH_ID,
-  "hostaccess.mach_id = %d",
+  "mach_id = %d",
   1,
   MACH_ID,
   0,
@@ -1045,13 +1260,13 @@ static char *gslo_fields[] = {
 
 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,
 };
 
@@ -1069,13 +1284,37 @@ static struct validate gfsm_validate = {
 
 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_ID, 0, MACHINE, NAME, MACH_ID, MR_MACHINE},
+  {V_WILD, 1},
+};
+
+static struct validate gfsn_validate = {
+  gfsn_valobj,
+  2,
+  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,
 };
 
@@ -1092,7 +1331,7 @@ static struct validate gfsg_validate = {
 };
 
 static char *afil_fields[] = {
-  LABEL, TYPE, MACHINE, NAME, "mount", "access", "comments", "owner", "owners",
+  LABEL, TYPE, MACHINE, NAME, "mount", "access", COMMENTS, "owner", "owners",
   "create", "lockertype",
 };
 
@@ -1111,7 +1350,7 @@ static struct validate afil_validate = {
   afil_valobj,
   8,
   LABEL,
-  "filesys.label = '%s'",
+  "label = LEFT('%s',SIZE(label))",
   1,
   FILSYS_ID,
   0,
@@ -1120,7 +1359,7 @@ static struct validate afil_validate = {
 };
 
 static char *ufil_fields[] = {
-  LABEL, "newlabel", TYPE, MACHINE, NAME, "mount", "access", "comments",
+  LABEL, "newlabel", TYPE, MACHINE, NAME, "mount", "access", COMMENTS,
   "owner", "owners", "create", "lockertype",
 };
 
@@ -1140,7 +1379,7 @@ static struct validate ufil_validate = {
   ufil_valobj,
   9,
   LABEL,
-  "filesys.filsys_id = %d",
+  "filsys_id = %d",
   1,
   FILSYS_ID,
   0,
@@ -1161,7 +1400,7 @@ static struct validate dfil_validate = {
   dfil_valobj,
   2,
   "label",
-  "filesys.filsys_id = %d",
+  "filsys_id = %d",
   1,
   0,
   0,
@@ -1170,43 +1409,43 @@ static struct validate dfil_validate = {
 };
 
 static char *gfgm_fields[] = {
-    "fsgroup", FILESYS, "sortkey"
-};
+  "fsgroup", FILESYS, "sortkey"
+    };
 
 static struct valobj gfgm_valobj[] = {
-    {V_ID, 0, FILESYS, LABEL, FILSYS_ID, MR_FILESYS},
-    {V_SORT, 1},
-    {V_SORT, 0},
+  {V_ID, 0, FILESYS, 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, MR_DEADLOCK},
-    {V_ID, 0, FILESYS, LABEL, FILSYS_ID, MR_FILESYS},
-    {V_ID, 1, FILESYS, LABEL, FILSYS_ID, MR_FILESYS},
+  {V_LOCK, 0, FILESYS, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_ID, 0, FILESYS, LABEL, FILSYS_ID, MR_FILESYS},
+  {V_ID, 1, FILESYS, LABEL, FILSYS_ID, MR_FILESYS},
 };
 
 static struct validate aftg_validate = {
-    aftg_valobj,
-    3,
-    "group_id",
-    "fsgroup.group_id = %d and fsgroup.filsys_id = %d",
-    2,
-    0,
-    0,
-    0,
-    0,
+  aftg_valobj,
+  3,
+  "group_id",
+  "group_id = %d and filsys_id = %d",
+  2,
+  0,
+  0,
+  0,
+  0,
 };
 
 static char *ganf_fields[] = {
@@ -1218,9 +1457,14 @@ static char *gnfp_fields[] = {
   MACHINE, DIR, DEVICE, STATUS, "allocated", "size", MOD1, MOD2, MOD3,
 };
 
+static struct valobj gnfp_valobj[] = {
+  {V_ID, 0, MACHINE, NAME, MACH_ID, MR_MACHINE},
+  {V_WILD, 1},
+};
+
 static struct validate gnfp_validate = {
-  VOmach0,
-  1,
+  gnfp_valobj,
+  2,
   0,
   0,
   0,
@@ -1239,7 +1483,7 @@ static struct validate anfp_validate = {
   anfp_valobj,
   2,
   DIR,
-  "nfsphys.mach_id = %d and nfsphys.dir = '%s'",
+  "mach_id = %d and dir = LEFT('%s',SIZE(dir))",
   2,
   "nfsphys_id",
   0,
@@ -1251,7 +1495,7 @@ static struct validate unfp_validate = {
   anfp_valobj,
   2,
   DIR,
-  "nfsphys.mach_id = %d and nfsphys.dir = '%s'",
+  "mach_id = %d and dir = '%s'",
   2,
   "nfsphys_id",
   0,
@@ -1259,6 +1503,10 @@ static struct validate unfp_validate = {
   set_nfsphys_modtime,
 };
 
+static char *ajnf_fields[] = {
+  MACHINE, DIR, "adjustment",
+};
+
 static char *dnfp_fields[] = {
   MACHINE, DIR,
 };
@@ -1267,7 +1515,7 @@ static struct validate dnfp_validate = {
   VOmach0,
   1,
   DIR,
-  "nfsphys.mach_id = %d and nfsphys.dir = '%s'",
+  "mach_id = %d and dir = '%s'",
   2,
   "nfsphys_id",
   0,
@@ -1330,11 +1578,11 @@ static struct validate aqot_validate = {
   aqot_valobj,
   4,
   FILSYS_ID,
-  "quota.filsys_id = %d and quota.type = '%s' and quota.entity_id = %d",
+  "filsys_id = %d and type = '%s' and entity_id = %d",
   3,
   0,
   0,
-  0,
+  prefetch_filesys,
   followup_aqot,
 };
 
@@ -1342,7 +1590,7 @@ static struct validate uqot_validate = {
   aqot_valobj,
   4,
   FILSYS_ID,
-  "quota.filsys_id = %d and quota.type = '%s' and quota.entity_id = %d",
+  "filsys_id = %d AND type = '%s' AND entity_id = %d",
   3,
   0,
   0,
@@ -1354,7 +1602,7 @@ static struct validate dqot_validate = {
   aqot_valobj,
   4,
   FILSYS_ID,
-  "quota.filsys_id = %d and quota.type = '%s' and quota.entity_id = %d",
+  "filsys_id = %d AND type = '%s' AND entity_id = %d",
   3,
   0,
   0,
@@ -1368,8 +1616,8 @@ static char *gnfq_fields[] = {
 };
 
 static struct validate gnfq_validate = {
-  VOsort0,
-  1,
+  VOwild0sort,
+  2,
   0,
   0,
   0,
@@ -1384,6 +1632,13 @@ static char *gnqp_fields[] = {
   FILESYS, LOGIN, QUOTA, DIR, MACHINE, MOD1, MOD2, MOD3,
 };
 
+static struct valobj gnqp_valobj[] = {
+  {V_ID, 0, MACHINE, NAME, MACH_ID, MR_MACHINE},
+  {V_WILD, 1},
+};
+
+static struct validate gnqp_validate = { gnqp_valobj, 2, };
+
 static char *anfq_fields[] = {
   FILESYS, LOGIN, QUOTA,
 };
@@ -1392,11 +1647,11 @@ static struct validate anfq_validate = {
   VOfilsys0user1,
   3,
   FILSYS_ID,
-  "quota.filsys_id = %d and quota.type = 'USER' and quota.entity_id = %d",
+  "filsys_id = %d AND type = 'USER' AND entity_id = %d",
   2,
   0,
   0,
-  0,
+  prefetch_filesys,
   followup_aqot,
 };
 
@@ -1404,7 +1659,7 @@ static struct validate unfq_validate = {
   VOfilsys0user1,
   3,
   FILSYS_ID,
-  "quota.filsys_id = %d and quota.type = 'USER' and quota.entity_id = %d",
+  "filsys_id = %d AND type = 'USER' AND entity_id = %d",
   2,
   0,
   0,
@@ -1416,7 +1671,7 @@ static struct validate dnfq_validate = {
   VOfilsys0user1,
   3,
   FILSYS_ID,
-  "quota.filsys_id = %d and quota.entity_id = %d",
+  "filsys_id = %d AND entity_id = %d",
   2,
   0,
   0,
@@ -1458,7 +1713,7 @@ static struct validate alis_validate = {
   alis_valobj,
   4,
   NAME,
-  "list.name = '%s'",
+  "name = LEFT('%s',SIZE(name))",
   1,
   LIST_ID,
   0,
@@ -1484,7 +1739,7 @@ static struct validate ulis_validate = {
   ulis_valobj,
   5,
   NAME,
-  "list.list_id = %d",
+  "list_id = %d",
   1,
   LIST_ID,
   access_list,
@@ -1500,7 +1755,7 @@ static struct validate dlis_validate = {
   VOlist0,
   1,
   NAME,
-  "list.list_id = %d",
+  "list_id = %d",
   1,
   0,
   access_list,
@@ -1546,8 +1801,8 @@ static struct validate dmfl_validate =
 };
 
 static char *gaus_fields[] = {
-    ACE_TYPE, ACE_NAME,
-    "use_type", "use_name",
+  ACE_TYPE, ACE_NAME,
+  "use_type", "use_name",
 };
 
 static struct valobj gaus_valobj[] = {
@@ -1556,20 +1811,20 @@ static struct valobj gaus_valobj[] = {
 };
 
 static struct validate gaus_validate = {
-    gaus_valobj,
-    2,
-    0,
-    0,
-    0,
-    0,
-    access_member,
-    0,
-    get_ace_use,
+  gaus_valobj,
+  2,
+  0,
+  0,
+  0,
+  0,
+  access_member,
+  0,
+  get_ace_use,
 };
 
 static char *qgli_fields[] = {
-    "active", "publicflg", "hidden", "maillist", "grouplist",
-    "list",
+  "active", "publicflg", "hidden", "maillist", "grouplist",
+  "list",
 };
 
 static struct valobj qgli_valobj[] = {
@@ -1581,15 +1836,15 @@ static struct valobj qgli_valobj[] = {
 };
 
 static struct validate qgli_validate = {
-    qgli_valobj,
-    5,
-    0,
-    0,
-    0,
-    0,
-    access_qgli,
-    0,
-    qualified_get_lists,
+  qgli_valobj,
+  5,
+  0,
+  0,
+  0,
+  0,
+  access_qgli,
+  0,
+  qualified_get_lists,
 };
 
 static char *gmol_fields[] = {
@@ -1609,6 +1864,18 @@ static struct validate gmol_validate = {
   get_members_of_list,
 };
 
+static struct validate geml_validate = {
+  VOlist0,
+  1,
+  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",
@@ -1650,14 +1917,14 @@ static struct validate cmol_validate = {
 };
 
 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 validate gzcl_validate = {
-  VOsort0,
-  1,
+  VOwild0sort,
+  2,
   0,
   0,
   0,
@@ -1668,8 +1935,8 @@ static struct validate gzcl_validate = {
 };
 
 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[] = {
@@ -1688,7 +1955,7 @@ static struct validate azcl_validate = {
   azcl_valobj,
   9,
   CLASS,
-  "zephyr.class = '%s'",
+  "class = LEFT('%s',SIZE(class))",
   1,
   0,
   0,
@@ -1697,8 +1964,8 @@ static struct validate azcl_validate = {
 };
 
 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[] = {
@@ -1717,7 +1984,7 @@ static struct validate uzcl_validate = {
   uzcl_valobj,
   9,
   CLASS,
-  "zephyr.class = '%s'",
+  "class = '%s'",
   1,
   0,
   0,
@@ -1729,7 +1996,7 @@ static struct validate dzcl_validate = {
   0,
   0,
   CLASS,
-  "zephyr.class = '%s'",
+  "class = '%s'",
   1,
   0,
   0,
@@ -1739,18 +2006,18 @@ static struct validate dzcl_validate = {
 
 static char *gsvc_fields[] = {
   SERVICE,
-  SERVICE, "protocol", "port", DESC, MOD1, MOD2, MOD3
+  SERVICE, "protocol", "port", DESC, MOD1, MOD2, MOD3,
 };
 
 static char *asvc_fields[] = {
-  SERVICE, "protocol", "port", DESC
+  SERVICE, "protocol", "port", DESC,
 };
 
 static struct validate asvc_validate = {
   VOchar0,
   1,
   NAME,
-  "services.name = '%s'",
+  "name = LEFT('%s',SIZE(name))",
   1,
   0,
   0,
@@ -1759,15 +2026,15 @@ static struct validate asvc_validate = {
 };
 
 static char *gpce_fields[] = {
-    "printer",
-    "printer", "spooling_host", "spool_directory", "rprinter",
-    "quotaserver", "authenticate", "price", "comments",
-    MOD1, MOD2, MOD3,
+  "printer",
+  "printer", "spooling_host", "spool_directory", "rprinter",
+  "quotaserver", "authenticate", "price", COMMENTS,
+  MOD1, MOD2, MOD3,
 };
 
 static struct validate gpce_validate = {
-  VOsort0,
-  1,
+  VOwild0sort,
+  2,
   0,
   0,
   0,
@@ -1778,22 +2045,22 @@ static struct validate gpce_validate = {
 };
 
 static char *apce_fields[] = {
-    "printer", "spooling_host", "spool_directory", "rprinter",
-    "quotaserver", "authenticate", "price", "comments",
-    MOD1, MOD2, MOD3,
+  "printer", "spooling_host", "spool_directory", "rprinter",
+  "quotaserver", "authenticate", "price", COMMENTS,
+  MOD1, MOD2, MOD3,
 };
 
 static struct valobj apce_valobj[] = {
-    {V_CHAR, 0},
-    {V_ID, 1, MACHINE, NAME, MACH_ID, MR_MACHINE},
-    {V_ID, 4, MACHINE, NAME, MACH_ID, MR_MACHINE},
+  {V_CHAR, 0},
+  {V_ID, 1, MACHINE, NAME, MACH_ID, MR_MACHINE},
+  {V_ID, 4, MACHINE, NAME, MACH_ID, MR_MACHINE},
 };
 
 static struct validate apce_validate = {
   apce_valobj,
   3,
   NAME,
-  "printcap.name = '%s'",
+  "name = LEFT('%s',SIZE(name))",
   1,
   0,
   0,
@@ -1805,7 +2072,7 @@ static struct validate dpce_validate = {
   0,
   0,
   NAME,
-  "printcap.name = '%s'",
+  "name = '%s'",
   1,
   0,
   0,
@@ -1814,30 +2081,30 @@ static struct validate dpce_validate = {
 };
 
 static char *gpcp_fields[] = {
-    "printer",
-    "printer", "spooling_host", "spool_directory", "rprinter", "comments",
-    MOD1, MOD2, MOD3,
+  "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, MR_MACHINE},
+  {V_CHAR, 0},
+  {V_ID, 2, MACHINE, NAME, MACH_ID, MR_MACHINE},
 };
 
 static struct validate apdm_validate = {
   apdm_valobj,
   2,
   NAME,
-  "palladium.name = '%s'",
+  "name = LEFT('%s',SIZE(name))",
   1,
   0,
   0,
@@ -1849,7 +2116,7 @@ static struct validate dpdm_validate = {
   0,
   0,
   NAME,
-  "palladium.name = '%s'",
+  "name = '%s'",
   1,
   0,
   0,
@@ -1876,7 +2143,7 @@ static struct validate aali_validate = {
   aali_valobj,
   3,
   "trans",
-  "alias.name = '%s' and alias.type = '%s' and alias.trans = '%s'",
+  "name = LEFT('%s',SIZE(name)) and type = '%s' and trans = LEFT('%s',SIZE(trans))",
   3,
   0,
   0,
@@ -1889,7 +2156,7 @@ static struct validate dali_validate =    /* DELETE_ALIAS */
   0,
   0,
   "trans",
-  "alias.name = '%s' and alias.type = '%s' and alias.trans = '%s'",
+  "name = '%s' and type = '%s' and trans = '%s'",
   3,
   0,
   0,
@@ -1926,7 +2193,7 @@ static struct validate aval_validate =    /* for aval, uval, and dval */
   VOchar0,
   1,
   NAME,
-  "numvalues.name = '%s'",
+  "name = LEFT('%s',SIZE(name))",  /* LEFT() only needed for aval */
   1,
   0,
   0,
@@ -1946,6 +2213,10 @@ static char *gats_fields[] = {
 \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 */
@@ -1954,14 +2225,14 @@ struct query Queries2[] = {
     RETRIEVE,
     "u",
     USERS,
-    "login, CHAR(uid), shell, last, first, middle FROM users",
+    "CHAR(u.login), CHAR(u.uid), u.shell, CHAR(u.last), CHAR(u.first), u.middle FROM users u",
     galo_fields,
     6,
-    "users_id != 0",
-    0,
+    "u.users_id != 0",
     0,
+    &VDsort0,
   },
-
+  
   {
     /* Q_GAAL - GET_ALL_ACTIVE_LOGINS */
     "get_all_active_logins",
@@ -1969,14 +2240,89 @@ struct query Queries2[] = {
     RETRIEVE,
     "u",
     USERS,
-    "login, CHAR(uid), shell, last, first, middle FROM users",
+    "CHAR(u.login), CHAR(u.uid), u.shell, CHAR(u.last), CHAR(u.first), u.middle FROM users u",
     galo_fields,
     6,
-    "status = 1",
-    0,
+    "u.status = 1",
     0,
+    &VDsort0,
   },
-
+  
+  {
+    /* Q_GUAL - GET_USER_ACCOUNT_BY_LOGIN */
+    "get_user_account_by_login",
+    "gual",
+    RETRIEVE,
+    "u",
+    USERS,
+    "CHAR(u.login), CHAR(u.uid), u.shell, CHAR(u.last), CHAR(u.first), u.middle, CHAR(u.status), CHAR(u.clearid), u.type, str.string, CHAR(u.signature), CHAR(u.secure), CHAR(u.modtime), CHAR(u.modby), u.modwith FROM users u, strings str",
+    gual_fields,
+    15,
+    "u.login LIKE '%s' ESCAPE '*' AND u.users_id != 0 AND u.comment = str.string_id",
+    1,
+    &gubl_validate,
+  },
+  
+  {
+    /* Q_GUAU - GET_USER_ACCOUNT_BY_UID */
+    "get_user_account_by_uid",
+    "guau",
+    RETRIEVE,
+    "u",
+    USERS,
+    "CHAR(u.login), CHAR(u.uid), u.shell, CHAR(u.last), CHAR(u.first), u.middle, CHAR(u.status), CHAR(u.clearid), u.type, str.string, CHAR(u.signature), CHAR(u.secure), CHAR(u.modtime), CHAR(u.modby), u.modwith FROM users u, strings str",
+    guau_fields,
+    15,
+    "u.uid = %s AND u.users_id != 0 AND u.comment = str.string_id",
+    1,
+    &gubu_validate,
+  },
+  
+  {
+    /* Q_GUAN - GET_USER_ACCOUNT_BY_NAME */
+    "get_user_account_by_name",
+    "guan",
+    RETRIEVE,
+    "u",
+    USERS,
+    "CHAR(u.login), CHAR(u.uid), u.shell, CHAR(u.last), CHAR(u.first), u.middle, CHAR(u.status), CHAR(u.clearid), u.type, str.string, CHAR(u.signature), CHAR(u.secure), CHAR(u.modtime), CHAR(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.comment = str.string_id",
+    2,
+    &VDwild2sortf,
+  },
+  
+  {
+    /* Q_GUAC - GET_USER_ACCOUNT_BY_CLASS */
+    "get_user_account_by_class",
+    "guac",
+    RETRIEVE,
+    "u",
+    USERS,
+    "CHAR(u.login), CHAR(u.uid), u.shell, CHAR(u.last), CHAR(u.first), u.middle, CHAR(u.status), CHAR(u.clearid), u.type, str.string, CHAR(u.signature), CHAR(u.secure), CHAR(u.modtime), CHAR(u.modby), u.modwith FROM users u, strings str",
+    guac_fields,
+    15,
+    "u.type = uppercase('%s') AND u.users_id != 0 AND u.comment = str.string_id",
+    1,
+    &VDsortf,
+  },
+  
+  {
+    /* Q_GUAM - GET_USER_ACCOUNT_BY_MITID */
+    "get_user_account_by_id",
+    "guai",
+    RETRIEVE,
+    "u",
+    USERS,
+    "CHAR(u.login), CHAR(u.uid), u.shell, CHAR(u.last), CHAR(u.first), u.middle, CHAR(u.status), CHAR(u.clearid), u.type, str.string, CHAR(u.signature), CHAR(u.secure), CHAR(u.modtime), CHAR(u.modby), u.modwith FROM users u, strings str",
+    guam_fields,
+    15,
+    "u.clearid LIKE '%s' ESCAPE '*' AND u.users_id != 0 AND u.comment = str.string_id",
+    1,
+    &VDwildsortf,
+  },
+  
   {
     /* Q_GUBL - GET_USER_BY_LOGIN */
     "get_user_by_login",
@@ -1984,14 +2330,14 @@ struct query Queries2[] = {
     RETRIEVE,
     "u",
     USERS,  
-    "login, CHAR(uid), shell, last, first, middle, CHAR(status), clearid, type, CHAR(modtime), CHAR(modby), modwith FROM users",
+    "CHAR(u.login), CHAR(u.uid), u.shell, CHAR(u.last), CHAR(u.first), u.middle, CHAR(u.status), CHAR(u.clearid), u.type, CHAR(u.modtime), CHAR(u.modby), u.modwith FROM users u",
     gubl_fields,
     12,
-    "login = '%s' AND 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",
@@ -1999,14 +2345,14 @@ struct query Queries2[] = {
     RETRIEVE,
     "u",
     USERS,
-    "login, CHAR(uid), shell, last, first, middle, CHAR(status), clearid, type, CHAR(modtime), CHAR(modby), modwith FROM users",
+    "CHAR(u.login), CHAR(u.uid), u.shell, CHAR(u.last), CHAR(u.first), u.middle, CHAR(u.status), CHAR(u.clearid), u.type, CHAR(u.modtime), CHAR(u.modby), u.modwith FROM users u",
     gubu_fields,
     12,
-    "uid = %s AND users_id != 0",
+    "u.uid = %s AND u.users_id != 0",
     1,
-    &gubx_validate,
+    &gubu_validate,
   },
-
+  
   {
     /* Q_GUBN - GET_USER_BY_NAME */
     "get_user_by_name",
@@ -2014,14 +2360,14 @@ struct query Queries2[] = {
     RETRIEVE,
     "u",
     USERS,
-    "login, CHAR(uid), shell, last, first, middle, CHAR(status), clearid, type, CHAR(modtime), CHAR(modby), modwith FROM users",
+    "CHAR(u.login), CHAR(u.uid), u.shell, CHAR(u.last), CHAR(u.first), u.middle, CHAR(u.status), CHAR(u.clearid), u.type, CHAR(u.modtime), CHAR(u.modby), u.modwith FROM users u",
     gubn_fields,
     12,
-    "first = '%s' AND last = '%s' AND 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",
@@ -2029,14 +2375,14 @@ struct query Queries2[] = {
     RETRIEVE,
     "u",
     USERS,
-    "login, CHAR(uid), shell, last, first, middle, CHAR(status), clearid, type, CHAR(modtime), CHAR(modby), modwith FROM users",
+    "CHAR(u.login), CHAR(u.uid), u.shell, CHAR(u.last), CHAR(u.first), u.middle, CHAR(u.status), CHAR(u.clearid), u.type, CHAR(u.modtime), CHAR(u.modby), u.modwith FROM users u",
     gubc_fields,
     12,
-    "type = uppercase('%s') AND users_id != 0",
+    "u.type = uppercase('%s') AND u.users_id != 0",
     1,
     &VDsortf,
   },
-
+  
   {
     /* Q_GUBM - GET_USER_BY_MITID */
     "get_user_by_mitid",
@@ -2044,15 +2390,29 @@ struct query Queries2[] = {
     RETRIEVE,
     "u",
     USERS,
-    "login, CHAR(uid), shell, last, first, middle, CHAR(status), clearid, type, CHAR(modtime), CHAR(modby), modwith FROM users",
+    "CHAR(u.login), CHAR(u.uid), u.shell, CHAR(u.last), CHAR(u.first), u.middle, CHAR(u.status), CHAR(u.clearid), u.type, CHAR(u.modtime), CHAR(u.modby), u.modwith FROM users u",
     gubm_fields,
     12,
-    "clearid = '%s' AND users_id != 0",
+    "u.clearid LIKE '%s' ESCAPE '*' AND u.users_id != 0",
     1,
-    &VDsortf,
+    &VDwildsortf,
   },
-
-
+  
+  {
+    /* Q_AUAC - ADD_USER_ACCOUNT */  /* uses prefetch_value() for users_id */
+    "add_user_account",
+    "auac",
+    APPEND,
+    "u",
+    USERS,
+    "INTO users (login, uid, shell, last, first, middle, status, clearid, type, comment, signature, secure, users_id) VALUES ('%s', %s, '%s', '%s', '%s', '%s', %s, '%s', '%s', %d, '%s', %s, %s)",
+    auac_fields,
+    12,
+    (char *)0,
+    0,
+    &auac_validate,
+  },
+  
   {
     /* Q_AUSR - ADD_USER */  /* uses prefetch_value() for users_id */
     "add_user",
@@ -2060,14 +2420,14 @@ struct query Queries2[] = {
     APPEND,
     "u",
     USERS,
-    "INTO users (login, uid, shell, last, first, middle, status, clearid, type, users_id) VALUES ( '%s', %s, '%s', '%s',  '%s',  '%s',  %s, '%s',  '%s', %s)",
-    ausr_fields,
+    "INTO users (login, uid, shell, last, first, middle, status, clearid, type, comment, signature, secure, users_id) VALUES ('%s', %s, '%s', '%s', '%s', '%s', %s, '%s', '%s', 0, '', 0, %s)",
+    auac_fields,
     9,
     0,
     0,
     &ausr_validate,
   },
-
+  
   {
     /* Q_RUSR - REGISTER_USER */
     "register_user",
@@ -2082,7 +2442,22 @@ struct query Queries2[] = {
     0,
     &rusr_validate,
   },
-
+  
+  {
+    /* Q_UUAC - UPDATE_USER_ACCOUNT */
+    "update_user_account",
+    "uuac",
+    UPDATE,
+    "u",
+    USERS,
+    "users SET login = '%s', uid = %s, shell = '%s', last = '%s', first = '%s', middle = '%s', status = %s, clearid = '%s', type = '%s', comment = %d, signature = '%s', secure = %s",
+    uuac_fields,
+    12,
+    "users_id = %d",
+    1,
+    &uuac_validate,
+  },
   {
     /* Q_UUSR - UPDATE_USER */
     "update_user",
@@ -2091,7 +2466,7 @@ struct query Queries2[] = {
     "u",
     USERS,
     "users SET login = '%s', uid = %s, shell = '%s', last = '%s', first = '%s', middle = '%s', status = %s, clearid = '%s',  type = '%s'",
-    uusr_fields,
+    uuac_fields,
     9,
     "users_id = %d",
     1,
@@ -2128,6 +2503,21 @@ struct query Queries2[] = {
     &uust_validate,
   },
 
+  {
+    /* Q_UUSS - UPDATE_USER_SECURITY_STATUS */
+    "update_user_security_status",
+    "uuss",
+    UPDATE,
+    "u",
+    USERS,
+    "secure = %s",
+    uuss_fields,
+    1,
+    "users_id = %d",
+    1,
+    &uust_validate,
+  },
   {
     /* Q_DUSR - DELETE_USER */ 
     "delete_user",
@@ -2153,7 +2543,7 @@ struct query Queries2[] = {
     (char *)0,
     dubu_fields,
     0,
-    "u.users_id = %d",
+    "users_id = %d",
     1,
     &dubu_validate,
   },
@@ -2165,12 +2555,12 @@ struct query Queries2[] = {
     RETRIEVE,
     "k",
     "krbmap",
-    "u.login, s.string FROM krbmap k, users u, strings s",
+    "CHAR(u.login), CHAR(str.string) FROM krbmap km, users u, strings str",
     gkum_fields,
     2,
-    "u.login = '%s' AND s.string = '%s' AND k.users_id = u.users_id AND k.string_id = s.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,
   },
 
   {
@@ -2180,7 +2570,7 @@ struct query Queries2[] = {
     APPEND,
     "k",
     "krbmap",
-    "INTO krbmap (users_id, string_id) VALUES (%s, %s)",
+    "INTO krbmap (users_id, string_id) VALUES (%d, %d)",
     akum_fields,
     2,
     0,
@@ -2198,7 +2588,7 @@ struct query Queries2[] = {
     0,
     akum_fields,
     0,
-    "k.users_id = %d AND k.string_id = %d",
+    "users_id = %d AND string_id = %d",
     2,
     &dkum_validate,
   },
@@ -2210,10 +2600,10 @@ struct query Queries2[] = {
     RETRIEVE,
     "u",
     USERS,
-    "login, fullname, nickname, home_addr, home_phone, office_addr, office_phone, department, affiliation, CHAR(fmodtime), CHAR(fmodby), fmodwith FROM users",
+    "CHAR(u.login), u.fullname, u.nickname, u.home_addr, u.home_phone, u.office_addr, u.office_phone, u.department, u.affiliation, CHAR(u.fmodtime), CHAR(u.fmodby), u.fmodwith FROM users u",
     gfbl_fields,
     12,
-    "users_id = %d",
+    "u.users_id = %d",
     1,
     &gfbl_validate,
   },
@@ -2240,10 +2630,10 @@ struct query Queries2[] = {
     RETRIEVE,
     "u",
     USERS,
-    "login, potype, CHAR(pop_id) + ':' + CHAR(box_id), CHAR(pmodtime), CHAR(pmodby), pmodwith FROM users",
+    "CHAR(u.login), u.potype, CHAR(u.pop_id) + ':' + CHAR(u.box_id), CHAR(u.pmodtime), CHAR(u.pmodby), u.pmodwith FROM users u",
     gpob_fields,
     6,
-    "users_id = %d",
+    "u.users_id = %d",
     1,
     &gpob_validate,
   },
@@ -2255,10 +2645,10 @@ struct query Queries2[] = {
     RETRIEVE,
     "u",
     USERS,
-    "login, potype, CHAR(pop_id) + ':' + CHAR(box_id) FROM users",
+    "CHAR(u.login), u.potype, CHAR(u.pop_id) + ':' + CHAR(u.box_id) FROM users u",
     gpox_fields,
     3,
-    "potype != 'NONE'",
+    "u.potype != 'NONE'",
     0,
     &gpox_validate,
   },
@@ -2270,10 +2660,10 @@ struct query Queries2[] = {
     RETRIEVE,
     "u",
     USERS,
-    "login, potype, CHAR(pop_id) + ':' + CHAR(box_id) FROM users",
+    "CHAR(u.login), u.potype, CHAR(u.pop_id) + ':' + CHAR(u.box_id) FROM users u",
     gpox_fields,
     3,
-    "potype = 'POP'",
+    "u.potype = 'POP'",
     0,
     &gpox_validate
   },
@@ -2285,10 +2675,10 @@ struct query Queries2[] = {
     RETRIEVE,
     "u",
     USERS,
-    "login, potype, CHAR(pop_id) + ':' + CHAR(box_id) FROM users",
+    "CHAR(u.login), u.potype, CHAR(u.pop_id) + ':' + CHAR(u.box_id) FROM users u",
     gpox_fields,
     3,
-    "potype = 'SMTP'",
+    "u.potype = 'SMTP'",
     0,
     &gpox_validate
   },
@@ -2345,13 +2735,12 @@ struct query Queries2[] = {
     RETRIEVE,
     "m",
     MACHINE,
-    "name, type, CHAR(modtime), CHAR(modby), modwith FROM machine",
+    "CHAR(m.name), m.type, CHAR(m.modtime), CHAR(m.modby), modwith FROM machine m",
     gmac_fields,
     5,
-    "name = uppercase('%s') AND mach_id != 0",
-/*    "name LIKE '%s' ESCAPE '\\' AND mach_id != 0", */ /* Pattern matching */
+    "m.name LIKE '%s' ESCAPE '*' AND m.mach_id != 0", 
     1,
-    &VDsortf,
+    &VDupwildsortf,
   },
 
   {
@@ -2406,12 +2795,12 @@ struct query Queries2[] = {
     RETRIEVE,
     "c",
     CLUSTER,
-    "name, description, location, CHAR(modtime), CHAR(modby), modwith FROM cluster",
+    "CHAR(c.name), c.description, c.location, CHAR(c.modtime), CHAR(c.modby), c.modwith FROM cluster c",
     gclu_fields,
     6,
-    "name = '%s' AND clu_id != 0",
+    "c.name LIKE '%s' ESCAPE '*' AND c.clu_id != 0",
     1,
-    &VDsortf,
+    &VDwildsortf,
   },
 
   {
@@ -2464,14 +2853,14 @@ struct query Queries2[] = {
     "get_machine_to_cluster_map",
     "gmcm",
     RETRIEVE,
-    "map",
+    "mcm",
     "mcmap",
-    "m.name, c.name FROM machine m, cluster c, mcmap map",
+    "CHAR(m.name), CHAR(c.name) FROM machine m, cluster c, mcmap mcm",
     gmcm_fields,
     2,
-    "m.name = uppercase('%s') AND c.name = '%s' AND map.clu_id = c.clu_id AND map.mach_id = m.mach_id",
+    "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,
-    &VDsort2,
+    &gmcm_validate, 
   },
                                            
   {
@@ -2479,7 +2868,7 @@ struct query Queries2[] = {
     "add_machine_to_cluster",
     "amtc",
     APPEND,
-    "m",
+    "mcm",
     "mcmap",
     "INTO mcmap (mach_id, clu_id) VALUES (%d, %d)",
     gmcm_fields,
@@ -2494,7 +2883,7 @@ struct query Queries2[] = {
     "delete_machine_from_cluster",
     "dmfc",
     DELETE,
-    "m",
+    "mcm",
     "mcmap",
     0,
     gmcm_fields,
@@ -2509,14 +2898,14 @@ struct query Queries2[] = {
     "get_cluster_data",
     "gcld",
     RETRIEVE,
-    "s",
     "svc",
-    "c.name, s.serv_label, s.serv_cluster FROM svc s, cluster c",
+    "svc",
+    "CHAR(c.name), CHAR(svc.serv_label), svc.serv_cluster FROM svc svc, cluster c",
     gcld_fields,
     3,
-    "c.clu_id = s.clu_id AND c.name = '%s' AND s.serv_label = '%s'",
+    "c.clu_id = svc.clu_id AND c.name LIKE '%s' ESCAPE '*' AND svc.serv_label LIKE '%s' ESCAPE '*'",
     2,
-    &VDsort2,
+    &VDwild2sort2,
   },
 
   {
@@ -2524,7 +2913,7 @@ struct query Queries2[] = {
     "add_cluster_data",
     "acld",
     APPEND,
-    "s",
+    "svc",
     "svc",
     "INTO svc (clu_id, serv_label, serv_cluster) VALUES (%d,'%s','%s')",
     acld_fields,
@@ -2539,14 +2928,14 @@ struct query Queries2[] = {
     "delete_cluster_data",
     "dcld",
     DELETE,
-    "s",
+    "svc",
     "svc",
     (char *)0,
     acld_fields,
     0,
-    "clu_id = %d AND serv_label = '%s' AND serv_cluster = '%s'",
+    "clu_id = %d AND serv_label = '%s' AND serv_cluster = '%s'",   
     3,
-    &acld_validate,
+    &dcld_validate,
   },
 
   {
@@ -2556,10 +2945,10 @@ struct query Queries2[] = {
     RETRIEVE,
     "s",
     "servers",
-    "name, CHAR(update_int), target_file, script, CHAR(dfgen), CHAR(dfcheck), type, CHAR(enable), CHAR(inprogress), CHAR(harderror), errmsg, acl_type, CHAR(acl_id), CHAR(modtime), CHAR(modby), modwith FROM servers",
+    "CHAR(s.name), CHAR(s.update_int), s.target_file, s.script, CHAR(s.dfgen), CHAR(s.dfcheck), s.type, CHAR(s.enable), CHAR(s.inprogress), CHAR(s.harderror), s.errmsg, s.acl_type, CHAR(s.acl_id), CHAR(s.modtime), CHAR(s.modby), s.modwith FROM servers s",
     gsin_fields,
     16,
-    "name = uppercase('%s')",
+    "s.name LIKE '%s' ESCAPE '*'",
     1,
     &gsin_validate,
   },
@@ -2661,10 +3050,10 @@ struct query Queries2[] = {
     RETRIEVE,
     "sh",
     "serverhosts",
-    "sh.service, m.name, CHAR(sh.enable), CHAR(sh.override), CHAR(sh.success), CHAR(sh.inprogress), CHAR(sh.hosterror), sh.hosterrmsg, CHAR(sh.ltt), CHAR(sh.lts), CHAR(sh.value1), CHAR(sh.value2), sh.value, CHAR(sh.modtime), CHAR(sh.modby), sh.modwith FROM serverhosts sh, machine m",
+    "CHAR(sh.service), CHAR(m.name), CHAR(sh.enable), CHAR(sh.override), CHAR(sh.success), CHAR(sh.inprogress), CHAR(sh.hosterror), sh.hosterrmsg, CHAR(sh.ltt), CHAR(sh.lts), CHAR(sh.value1), CHAR(sh.value2), sh.value3, CHAR(sh.modtime), CHAR(sh.modby), sh.modwith FROM serverhosts sh, machine m",
     gshi_fields,
     16,
-    "sh.service = uppercase('%s') AND m.name = uppercase('%s') AND m.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,
   },
@@ -2674,7 +3063,7 @@ struct query Queries2[] = {
     "qualified_get_server_host",
     "qgsh",
     RETRIEVE,
-    0,
+    "sh",
     "serverhosts",
     0,
     qgsh_fields,
@@ -2745,7 +3134,7 @@ struct query Queries2[] = {
   },
 
   {
-    /* Q_SSHI - SET_SERVER_HOST_INTERNAL */ /**! Would benefit from extra corr. names -- How to do it? */
+    /* Q_SSHI - SET_SERVER_HOST_INTERNAL */
     "set_server_host_internal",
     "sshi",
     UPDATE,
@@ -2754,7 +3143,7 @@ struct query Queries2[] = {
     "serverhosts SET override = %s, success = %s, inprogress = %s, hosterror = %s, hosterrmsg = '%s', ltt = %s, lts = %s",
     sshi_fields,
     7,
-    "s.service = uppercase('%s') AND s.mach_id = machine.mach_id AND machine.name = '%s'",
+    "service = uppercase('%s') AND mach_id = %d", 
     2,
     &sshi_validate,
   },
@@ -2781,10 +3170,10 @@ struct query Queries2[] = {
     RETRIEVE,
     "ha",
     "hostaccess",
-    "m.name, ha.acl_type, CHAR(ha.acl_id), CHAR(ha.modtime), CHAR(ha.modby), ha.modwith FROM hostaccess ha, machine m",
+    "CHAR(m.name), ha.acl_type, CHAR(ha.acl_id), CHAR(ha.modtime), CHAR(ha.modby), ha.modwith FROM hostaccess ha, machine m",
     gsha_fields,
     6,
-    "m.name = uppercase('%s') AND ha.mach_id = m.mach_id",
+    "m.name LIKE '%s' ESCAPE '*' AND ha.mach_id = m.mach_id",
     1,
     &gsha_validate,
   },
@@ -2841,12 +3230,12 @@ struct query Queries2[] = {
     RETRIEVE,
     "sh",
     "serverhosts",
-    "sh.service, m.name FROM serverhosts sh, machine m",
+    "CHAR(sh.service), CHAR(m.name) FROM serverhosts sh, machine m",
     gslo_fields,
     2,
-    "sh.service = uppercase('%s') AND sh.mach_id = m.mach_id",
+    "sh.service LIKE '%s' ESCAPE '*' AND sh.mach_id = m.mach_id",
     1,
-    0,
+    &VDupwild0,
   },
 
   {
@@ -2856,12 +3245,12 @@ struct query Queries2[] = {
     RETRIEVE,
     "fs",
     FILESYS,
-    "fs.label, fs.type, m.name, fs.name, fs.mount, fs.access, fs.comments, u.login, l.name, CHAR(fs.createflg), fs.lockertype, CHAR(fs.modtime), CHAR(fs.modby), fs.modwith FROM filesys fs, machine m, users u, list l",
+    "CHAR(fs.label), fs.type, CHAR(m.name), CHAR(fs.name), fs.mount, fs.access, fs.comments, CHAR(u.login), CHAR(l.name), CHAR(fs.createflg), fs.lockertype, CHAR(fs.modtime), CHAR(fs.modby), fs.modwith FROM filesys fs, machine m, users u, list l",
     gfsl_fields,
     14,
-    "fs.label = '%s' AND fs.mach_id = m.mach_id AND fs.owner = u.users_id AND fs.owners = l.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,
   },
 
   {
@@ -2871,7 +3260,7 @@ struct query Queries2[] = {
     RETRIEVE,
     "fs",
     FILESYS,
-    "fs.label, fs.type, m.name, fs.name, fs.mount, fs.access, fs.comments, u.login, l.name, CHAR(fs.createflg), fs.lockertype, CHAR(fs.modtime), CHAR(fs.modby), fs.modwith FROM filesys fs, machine m, users u, list l",
+    "CHAR(fs.label), fs.type, CHAR(m.name), CHAR(fs.name), fs.mount, fs.access, fs.comments, CHAR(u.login), CHAR(l.name), CHAR(fs.createflg), fs.lockertype, CHAR(fs.modtime), CHAR(fs.modby), fs.modwith FROM filesys fs, machine m, users u, list l",
     gfsm_fields,
     14,
     "fs.mach_id = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
@@ -2886,12 +3275,12 @@ struct query Queries2[] = {
     RETRIEVE,
     "fs",
     FILESYS,
-    "fs.label, fs.type, m.name, fs.name, fs.mount, fs.access, fs.comments, u.login, l.name, CHAR(fs.createflg), fs.lockertype, CHAR(fs.modtime), CHAR(fs.modby), fs.modwith FROM filesys fs, machine m, users u, list l, nfsphys np",
+    "CHAR(fs.label), fs.type, CHAR(m.name), CHAR(fs.name), fs.mount, fs.access, fs.comments, CHAR(u.login), CHAR(l.name), CHAR(fs.createflg), fs.lockertype, CHAR(fs.modtime), CHAR(fs.modby), fs.modwith FROM filesys fs, machine m, users u, list l, nfsphys np",
     gfsn_fields,
     14,
-    "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 = '%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,
   },
 
   {
@@ -2901,7 +3290,7 @@ struct query Queries2[] = {
     RETRIEVE,
     "fs",
     FILESYS,
-    "fs.label, fs.type, m.name, fs.name, fs.mount, fs.access, fs.comments, u.login, l.name, CHAR(fs.createflg), fs.lockertype, CHAR(fs.modtime), CHAR(fs.modby), fs.modwith FROM filesys fs, machine m, users u, list l",
+    "CHAR(fs.label), fs.type, CHAR(m.name), CHAR(fs.name), fs.mount, fs.access, fs.comments, CHAR(u.login), CHAR(l.name), CHAR(fs.createflg), fs.lockertype, CHAR(fs.modtime), CHAR(fs.modby), fs.modwith FROM filesys fs, machine m, users u, list l",
     gfsg_fields,
     14,
     "fs.owners = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
@@ -2909,6 +3298,21 @@ struct query Queries2[] = {
     &gfsg_validate,
   },
 
+  {
+    /* Q_GFSP - GET_FILESYS_BY_PATH */
+    "get_filesys_by_path",
+    "gfsp",
+    RETRIEVE,
+    "fs",
+    FILESYS,
+    "CHAR(fs.label), fs.type, CHAR(m.name), CHAR(fs.name), fs.mount, fs.access, fs.comments, CHAR(u.login), CHAR(l.name), CHAR(fs.createflg), fs.lockertype, CHAR(fs.modtime), CHAR(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",
@@ -2955,13 +3359,13 @@ struct query Queries2[] = {
   },
 
   {
-    /* Q_GFGM - GET_FSGROUOP_MEMBERS */ 
+    /* Q_GFGM - GET_FSGROUP_MEMBERS */ 
     "get_fsgroup_members",
     "gfgm",
     RETRIEVE,
     "fg",
     "fsgroup",
-    "fs.label, fg.key FROM fsgroup fg, filesys fs",
+    "CHAR(fs.label), fg.key FROM fsgroup fg, filesys fs",
     gfgm_fields,
     2,
     "fg.group_id = %d AND fs.filsys_id = fg.filsys_id",
@@ -2970,17 +3374,17 @@ struct query Queries2[] = {
   },
 
   {
-    /* Q_AFTG - ADD_FILESYS_TO_FSGROUP */ /** Needs subselect */
+    /* Q_AFTG - ADD_FILESYS_TO_FSGROUP */
     "add_filesys_to_fsgroup",
     "aftg",
     APPEND,
     "fg",
     "fsgroup",
-    "INTO fsgroup (group_id,filsys_id,key) VALUES (filesys.filsys_id, %d, '%s')",
+    "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,
   },
 
@@ -3006,7 +3410,7 @@ struct query Queries2[] = {
     RETRIEVE,
     "np",
     "nfsphys",
-    "m.name, np.dir, np.device, CHAR(np.status), CHAR(np.allocated), CHAR(np.size), CHAR(np.modtime), CHAR(np.modby), np.modwith FROM nfsphys np, machine m",
+    "CHAR(m.name), CHAR(np.dir), np.device, CHAR(np.status), CHAR(np.allocated), CHAR(np.partsize), CHAR(np.modtime), CHAR(np.modby), np.modwith FROM nfsphys np, machine m",
     ganf_fields,
     9,
     "m.mach_id = np.mach_id",
@@ -3021,10 +3425,10 @@ struct query Queries2[] = {
     RETRIEVE,
     "np",
     "nfsphys",
-    "m.name, np.dir, np.device, CHAR(np.status), CHAR(np.allocated), CHAR(np.size), CHAR(np.modtime), CHAR(np.modby), np.modwith FROM nfsphys np, machine m",
+    "CHAR(m.name), CHAR(np.dir), np.device, CHAR(np.status), CHAR(np.allocated), CHAR(np.partsize), CHAR(np.modtime), CHAR(np.modby), np.modwith FROM nfsphys np, machine m",
     gnfp_fields,
     9,
-    "np.mach_id = %d AND np.dir = '%s' AND m.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,
   },
@@ -3036,7 +3440,7 @@ struct query Queries2[] = {
     APPEND,
     "np",
     "nfsphys",
-    "INTO nfsphys (mach_id, dir, device, status, allocated, size, nfsphys_id) VALUES (%d, '%s', '%s', %s, %s, %s, %s)",
+    "INTO nfsphys (mach_id, dir, device, status, allocated, partsize, nfsphys_id) VALUES (%d, '%s', '%s', %s, %s, %s, %s)",
     ganf_fields,
     6,
     0,
@@ -3051,10 +3455,10 @@ struct query Queries2[] = {
     UPDATE,
     "np",
     "nfsphys",
-    "nfsphys SET device = '%s', status = '%s', allocated = %s, size = %s",
+    "nfsphys SET device = '%s', status = '%s', allocated = %s, partsize = %s",
     gnfp_fields,
     4,
-    "mach_id = %d AND dir = '%s'",
+    "mach_id = %d AND dir = '%s'", 
     2,
     &unfp_validate,
   },
@@ -3067,7 +3471,7 @@ struct query Queries2[] = {
     "np",
     "nfsphys",
     "nfsphys SET allocated = allocated + %s",
-    dnfp_fields,
+    ajnf_fields,
     1,
     "mach_id = %d AND dir = '%s'",
     2,
@@ -3096,10 +3500,10 @@ struct query Queries2[] = {
     RETRIEVE,
     "q",
     QUOTA,
-    "fs.label, q.type, CHAR(q.entity_id), CHAR(q.quota), CHAR(q.phys_id), m.name, CHAR(q.modtime), CHAR(q.modby), q.modwith FROM quota q, filesys fs, machine m",
+    "CHAR(fs.label), q.type, CHAR(q.entity_id), CHAR(q.quota), CHAR(q.phys_id), CHAR(m.name), CHAR(q.modtime), CHAR(q.modby), q.modwith FROM quota q, filesys fs, machine m",
     gqot_fields,
     9,
-    "fs.label = '%s' AND q.type = '%s' AND q.entity_id = %d AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id",
+    "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,
   },
@@ -3111,26 +3515,26 @@ struct query Queries2[] = {
     RETRIEVE,
     "q",
     QUOTA,
-    "fs.label, q.type, CHAR(q.entity_id), CHAR(q.quota), CHAR(q.phys_id), m.name, CHAR(q.modtime), CHAR(q.modby), q.modwith FROM quota q, filesys fs, machine m",
+    "CHAR(fs.label), q.type, CHAR(q.entity_id), CHAR(q.quota), CHAR(q.phys_id), CHAR(m.name), CHAR(q.modtime), CHAR(q.modby), q.modwith FROM quota q, filesys fs, machine m",
     gqbf_fields,
     9,
-    "fs.label = '%s' AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id",
+    "fs.label LIKE '%s' ESCAPE '*' AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id",
     1,
     &gqbf_validate,
   },
 
   {
-    /* Q_AQOT - ADD_QUOTA */ /** Needs subselect */
+    /* Q_AQOT - ADD_QUOTA */ /* prefetch_filsys() gets last 2 values */
     "add_quota",
     "aqot",
     APPEND,
     "q",
     QUOTA,
-    "INTO quota (filsys_id, type, entity_id, quota, phys_id) VALUES (filesys.filsys_id, '%s', %d, %s, filesys.phys_id)",
+    "INTO quota (type, entity_id, quota, filsys_id, phys_id) VALUES ('%s', %d, %s, %s, %s)",
     aqot_fields,
     3,
-    "filesys.filsys_id = %d",
-    1,
+    (char *)0,
+    0,
     &aqot_validate,
   },
 
@@ -3144,7 +3548,7 @@ struct query Queries2[] = {
     "quota SET quota = %s",
     aqot_fields,
     1,
-    "filsys_id = %d AND type = '%s' AND entity_id = %d",
+    "q.filsys_id = %d AND q.type = '%s' AND q.entity_id = %d",
     3,
     &uqot_validate,
   },
@@ -3159,7 +3563,7 @@ struct query Queries2[] = {
     (char *)0,
     aqot_fields,
     0,
-    "filsys_id = %d AND type = '%s' AND entity_id = %d",
+    "q.filsys_id = %d AND q.type = '%s' AND q.entity_id = %d",
     3,
     &dqot_validate,
   },
@@ -3171,10 +3575,10 @@ struct query Queries2[] = {
     RETRIEVE,
     "q",
     QUOTA,
-    "fs.label, u.login, CHAR(q.quota), CHAR(q.phys_id), m.name, CHAR(q.modtime), CHAR(q.modby), q.modwith FROM quota q, filesys fs, users u, machine m",
+    "CHAR(fs.label), CHAR(u.login), CHAR(q.quota), CHAR(q.phys_id), CHAR(m.name), CHAR(q.modtime), CHAR(q.modby), q.modwith FROM quota q, filesys fs, users u, machine m",
     gnfq_fields,
     8,
-    "fs.label = '%s' AND q.type = 'USER' AND q.entity_id = u.users_id AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id AND u.login = '%s'",
+    "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,
     &gnfq_validate,
   },
@@ -3186,26 +3590,26 @@ struct query Queries2[] = {
     RETRIEVE,
     "q",
     QUOTA,
-    "fs.label, u.login, CHAR(q.quota), np.dir, m.name FROM quota q, filesys fs, users u, nfsphys np, machine m",
+    "CHAR(fs.label), CHAR(u.login), CHAR(q.quota), CHAR(np.dir), CHAR(m.name) FROM quota q, filesys fs, users u, nfsphys np, machine m",
     gnqp_fields,
     5,
-    "np.mach_id = %d AND np.dir = '%s' AND q.phys_id = np.nfsphys_id AND fs.filsys_id = q.filsys_id AND q.type = 'USER' AND u.users_id = q.entity_id AND m.mach_id = np.mach_id",
+    "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,
-    &VDmach,
+    &gnqp_validate,
   },
 
   {
-    /* Q_ANFQ - ADD_NFS_QUOTA */ /** Needs subselect */
+    /* Q_ANFQ - ADD_NFS_QUOTA */ /* prefetch_filsys() gets last 2 values */
     "add_nfs_quota",
     "anfq",
     APPEND,
     "q",
     QUOTA,
-    "INTO quota (filsys_id, type, entity_id, quota, phys_id) VALUES (filesys.filsys_id, 'USER', %d, %s, filesys.phys_id)",
+    "INTO quota (type, entity_id, quota, filsys_id, phys_id) VALUES ('USER', %d, %s, %s, %s)",
     anfq_fields,
     2,
-    "filesys.filsys_id = %d",
-    1,
+    (char *)0,
+    0,
     &anfq_validate,
   },
 
@@ -3250,8 +3654,8 @@ struct query Queries2[] = {
     glin_fields,
     13,
     0,
-    1,
-    &glin_validate,
+    1,              
+    &glin_validate, 
   },
     
   {
@@ -3261,12 +3665,12 @@ struct query Queries2[] = {
     RETRIEVE,
     "l",
     LIST,
-    "l.name FROM list l",
+    "CHAR(l.name) FROM list l",
     glin_fields,
     1,
-    "l.name = '%s' AND l.list_id != 0",
+    "l.name LIKE '%s' ESCAPE '*' AND l.list_id != 0",
     1,
-    0
+    &VDwild0,
   },
     
   {
@@ -3294,7 +3698,7 @@ struct query Queries2[] = {
     "list SET name='%s', active=%s, publicflg=%s, hidden=%s, maillist=%s, grouplist=%s, gid=%s, acl_type='%s', acl_id=%d, description='%s'",
     ulis_fields,
     10,
-    "list.list_id = %d",
+    "list_id = %d",
     1,
     &ulis_validate,
   },
@@ -3383,12 +3787,27 @@ struct query Queries2[] = {
     "imembers",
     (char *)0,
     gmol_fields,
-    0,
+    2,
     (char *)0,
     1,
     &gmol_validate,
   },
 
+  {
+    /* Q_GEML - GET_END_MEMBERS_OF_LIST */
+    "get_end_members_of_list",
+    "geml",
+    RETRIEVE,
+    (char *)0,
+    "imembers",
+    (char *)0,
+    gmol_fields,
+    0,
+    (char *)0,
+    1,
+    &geml_validate,
+  },
   {
     /* Q_GLOM - GET_LISTS_OF_MEMBER */
     "get_lists_of_member",
@@ -3426,10 +3845,10 @@ struct query Queries2[] = {
     RETRIEVE,
     "z",
     "zephyr",
-    "class, xmt_type, CHAR(xmt_id),sub_type, CHAR(sub_id),iws_type, CHAR(iws_id),iui_type, CHAR(iui_id), CHAR(modtime), CHAR(modby), modwith FROM zephyr",
+    "CHAR(z.class), z.xmt_type, CHAR(z.xmt_id), z.sub_type, CHAR(z.sub_id), z.iws_type, CHAR(z.iws_id), z.iui_type, CHAR(z.iui_id), CHAR(z.modtime), CHAR(z.modby), z.modwith FROM zephyr z",
     gzcl_fields,
     12,
-    "class = '%s'",
+    "z.class LIKE '%s' ESCAPE '*'",
     1,
     &gzcl_validate,
   },    
@@ -3484,14 +3903,14 @@ struct query Queries2[] = {
     "get_service",
     "gsvc",
     RETRIEVE,
-    "s",
+    "ss",
     "services",
-    "name, protocol, CHAR(port), description, CHAR(modtime), CHAR(modby), modwith FROM services",
+    "CHAR(ss.name), ss.protocol, CHAR(ss.port), ss.description, CHAR(ss.modtime), CHAR(ss.modby), ss.modwith FROM services ss",
     gsvc_fields,
     7,
-    "name = '%s'",
+    "ss.name LIKE '%s' ESCAPE '*'",
     1,
-    &VDsortf,
+    &VDwildsortf,
   },
 
   {
@@ -3499,7 +3918,7 @@ struct query Queries2[] = {
     "add_service",
     "asvc",
     APPEND,
-    "s",
+    "ss",
     "services",
     "INTO services (name, protocol, port, description) VALUES ('%s','%s',%s,'%s')",
     asvc_fields,
@@ -3514,7 +3933,7 @@ struct query Queries2[] = {
     "delete_service",
     "dsvc",
     DELETE,
-    "s",
+    "ss",
     "services",
     0,
     asvc_fields,
@@ -3529,12 +3948,12 @@ struct query Queries2[] = {
     "get_printcap_entry",
     "gpce",
     RETRIEVE,
-    "p",
+    "pc",
     "printcap",
-    "p.name, m.name, p.dir, p.rp, CHAR(p.quotaserver), CHAR(p.auth), CHAR(p.price), p.comments, CHAR(p.modtime), CHAR(p.modby), p.modwith FROM printcap p, machine m",
+    "CHAR(pc.name), CHAR(m.name), pc.dir, pc.rp, CHAR(pc.quotaserver), CHAR(pc.auth), CHAR(pc.price), pc.comments, CHAR(pc.modtime), CHAR(pc.modby), pc.modwith FROM printcap pc, machine m",
     gpce_fields,
     11,
-    "p.name = '%s' AND m.mach_id = p.mach_id",
+    "pc.name LIKE '%s' ESCAPE '*' AND m.mach_id = pc.mach_id",
     1,
     &gpce_validate,
   },
@@ -3544,7 +3963,7 @@ struct query Queries2[] = {
     "add_printcap_entry",
     "apce",
     APPEND,
-    "p",
+    "pc",
     "printcap",
     "INTO printcap (name, mach_id, dir, rp, quotaserver, auth, price, comments) VALUES ('%s',%d,'%s','%s',%d,%s,%s,'%s')",
     apce_fields,
@@ -3559,7 +3978,7 @@ struct query Queries2[] = {
     "delete_printcap_entry",
     "dpce",
     DELETE,
-    "p",
+    "pc",
     "printcap",
     0,
     apce_fields,
@@ -3574,14 +3993,14 @@ struct query Queries2[] = {
     "get_printcap",
     "gpcp",
     RETRIEVE,
-    "p",
+    "pc",
     "printcap",
-    "p.name, m.name, p.dir, p.rp, p.comments, CHAR(p.modtime), CHAR(p.modby), p.modwith FROM printcap p, machine m",
+    "CHAR(pc.name), CHAR(m.name), pc.dir, pc.rp, pc.comments, CHAR(pc.modtime), CHAR(pc.modby), pc.modwith FROM printcap pc, machine m",
     gpcp_fields,
     8,
-    "p.name = '%s' AND m.mach_id = p.mach_id",
+    "pc.name LIKE '%s' ESCAPE '*' AND m.mach_id = pc.mach_id",
     1,
-    &VDsortf,
+    &VDwildsortf,
   },
 
   {
@@ -3589,7 +4008,7 @@ struct query Queries2[] = {
     "delete_printcap",
     "dpcp",
     DELETE,
-    "p",
+    "pc",
     "printcap",
     0,
     apce_fields,
@@ -3604,14 +4023,14 @@ struct query Queries2[] = {
     "get_palladium",
     "gpdm",
     RETRIEVE,
-    "p",
+    "pal",
     "palladium",
-    "p.name, CHAR(p.ident), m.name, CHAR(p.modtime), CHAR(p.modby), p.modwith FROM palladium p, machine m",
+    "CHAR(pal.name), CHAR(pal.ident), CHAR(m.name), CHAR(pal.modtime), CHAR(pal.modby), pal.modwith FROM palladium pal, machine m",
     gpdm_fields,
     6,
-    "p.name = '%s' AND m.mach_id = p.mach_id",
+    "pal.name LIKE '%s' ESCAPE '*' AND m.mach_id = pal.mach_id",
     1,
-    &VDsortf,
+    &VDwildsortf,
   },
 
   {
@@ -3619,7 +4038,7 @@ struct query Queries2[] = {
     "add_palladium",
     "apdm",
     APPEND,
-    "p",
+    "pal",
     "palladium",
     "INTO palladium (name, ident, mach_id) VALUES ('%s',%s,%d)",
     apdm_fields,
@@ -3634,7 +4053,7 @@ struct query Queries2[] = {
     "delete_palladium",
     "dpdm",
     DELETE,
-    "p",
+    "pal",
     "palladium",
     0,
     apdm_fields,
@@ -3651,12 +4070,12 @@ struct query Queries2[] = {
     RETRIEVE,
     "a",
     "alias",
-    "name, type, trans FROM alias",
+    "CHAR(a.name), CHAR(a.type), CHAR(a.trans) FROM alias a",
     gali_fields,
     3,
-    "name = '%s' AND type = '%s' AND trans = '%s'",
+    "a.name LIKE '%s' ESCAPE '*' AND a.type LIKE '%s' ESCAPE '*' AND a.trans LIKE '%s' ESCAPE '*'",
     3,
-    0,
+    &VDwild3sort1,
   },
 
   {
@@ -3684,7 +4103,7 @@ struct query Queries2[] = {
     (char *)0,
     aali_fields,
     0,
-    "name = '%s' AND type = '%s' AND trans = '%s'",
+    "name = '%s' AND type = '%s' AND  trans = '%s'", 
     3,
     &dali_validate,
   },
@@ -3694,12 +4113,12 @@ struct query Queries2[] = {
     "get_value",
     "gval",
     RETRIEVE,
-    "v",
+    "val",
     "numvalues",
-    "CHAR(value) FROM numvalues",
+    "CHAR(val.value) FROM numvalues val",
     gval_fields,
     1,
-    "name = '%s'",
+    "val.name = '%s'",
     1,
     &gval_validate,
   },
@@ -3709,7 +4128,7 @@ struct query Queries2[] = {
     "add_value",
     "aval",
     APPEND,
-    "v",
+    "val",
     "numvalues",
     "INTO numvalues (name, value) VALUES ('%s', %s)",
     aval_fields,
@@ -3724,7 +4143,7 @@ struct query Queries2[] = {
     "update_value",
     "uval",
     UPDATE,
-    "v",
+    "val",
     "numvalues",
     "numvalues SET value = %s",
     aval_fields,
@@ -3739,7 +4158,7 @@ struct query Queries2[] = {
     "delete_value",
     "dval",
     DELETE,
-    "v",
+    "val",
     "numvalues",
     (char *)0,
     dval_fields,
This page took 0.169363 seconds and 4 git commands to generate.