]> andersk Git - moira.git/blobdiff - server/queries2.c
Diane Delgado's changes for a fixed table-locking order
[moira.git] / server / queries2.c
index 6640d2e8963dd600f3fdc5b6bc369ad5236a0191..5e0954add3b942a2b98b5e7b8e5ec444a0f58d39 100644 (file)
@@ -9,7 +9,7 @@
 
 #include <mit-copyright.h>
 #include "query.h"
-#include "sms_et.h"
+#include "mr_et.h"
 
 /* Specialized Support Query Routines */
 
@@ -23,13 +23,19 @@ int access_member();
 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();
@@ -38,20 +44,30 @@ int setup_dshi();
 int setup_afil();
 int setup_ufil();
 int setup_dfil();
+int setup_aftg();
 int setup_dnfp();
-int setup_dnfq();
+int setup_dqot();
 int setup_sshi();
 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();
@@ -73,12 +89,14 @@ 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();
 int count_members_of_list();
 int get_lists_of_member();
 int register_user();
+int _sdl_followup();
 
 
 \f
@@ -89,15 +107,19 @@ int register_user();
 
 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 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 HOSTACCESS[] = "hostaccess";
 static char LABEL[] = "label";
 static char LAST[] = "lastname";
 static char LIST[] = "list";
@@ -107,19 +129,28 @@ static char LOGIN[] = "login";
 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 ZEPH[] = "zephyr";
+static char ZEPH_ID[] = "xmt_id";
 
 
 /* VALOBJS
@@ -127,57 +158,90 @@ static char UID[] = "uid";
  * 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 VOdate1[] = {
-  {V_DATE, 1, 0, 0, 0, SMS_DATE},
+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 VOuser0[] = {
-  {V_ID, 0, USERS, LOGIN, USERS_ID, SMS_USER},
+  {V_ID, 0, USERS, 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, 0, USERS_ID, MR_DEADLOCK},
+  {V_ID, 0, USERS, LOGIN, USERS_ID, MR_USER},
 };
 
 static struct valobj VOmach0[] = {
-  {V_ID, 0, MACHINE, NAME, MACH_ID, SMS_MACHINE},
+  {V_ID, 0, MACHINE, NAME, MACH_ID, MR_MACHINE},
 };
 
 static struct valobj VOclu0[] = {
-  {V_ID, 0, CLUSTER, NAME, CLU_ID, SMS_CLUSTER},
+  {V_ID, 0, CLUSTER, NAME, CLU_ID, MR_CLUSTER},
 };
 
 static struct valobj VOlist0[] = {
-  {V_ID, 0, LIST, NAME, LIST_ID, SMS_LIST},
+  {V_ID, 0, LIST, 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, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_ID, 0, FILESYS, LABEL, FILSYS_ID, MR_FILESYS},
+  {V_ID, 1, USERS, LOGIN, USERS_ID, MR_USER},
 };
 
 
@@ -187,44 +251,113 @@ static struct valobj VOfilsys0user1[] = {
  */
 
 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[] = {
@@ -233,12 +366,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, 
@@ -251,26 +410,39 @@ 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[] = {
-  {V_LOCK, 0, USERS, 0, USERS_ID, SMS_DEADLOCK},
+static struct valobj auac_valobj[] = {
+  {V_LOCK, 0, USERS, 0, USERS_ID, MR_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},
+  {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,
-  "u.login = \"%s\"",
+  "login = LEFT('%s',SIZE(login))",  
   1,
   USERS_ID,
   0,
@@ -280,18 +452,22 @@ 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, 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", 0, LIST_ID, MR_DEADLOCK},
+  {V_LOCK, 0, FILESYS, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_LOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, MACHINE,0,MACH_ID, MR_DEADLOCK},
+  {V_LOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
+  {V_LOCK, 0, "nfsphys", 0, "nfsphys_id", MR_DEADLOCK},
+  {V_LOCK, 0, QUOTA,0, FILSYS_ID, MR_DEADLOCK},
+  {V_RLOCK,0, "serverhosts",0, MACH_ID, MR_DEADLOCK},
 };
 
 static struct validate rusr_validate = {
   rusr_valobj,
-  4,
+  8,
   0,
   0,
   0,
@@ -301,32 +477,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 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, 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 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,
 };
 
@@ -352,6 +541,11 @@ static char *uust_fields[] = {
   STATUS,
 };
 
+static char *uuss_fields[] = {
+  LOGIN,
+  SECURE,
+};
+
 static struct validate uust_validate = {
   VOuser0lock,
   2,
@@ -368,9 +562,20 @@ static char *dusr_fields[] = {
   LOGIN,
 };
 
+struct valobj dusr_valobj[]= {
+  {V_LOCK, 0, "imembers", 0, LIST_ID, MR_DEADLOCK},
+  {V_LOCK, 0, FILESYS, 0,  FILSYS_ID, MR_DEADLOCK},
+  {V_LOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_LOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
+  {V_LOCK, 0, QUOTA, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_LOCK, 0, HOSTACCESS, 0, MACH_ID, MR_DEADLOCK},
+  {V_LOCK, 0, "krbmap", 0, "users_id", MR_DEADLOCK},
+  {V_ID, 0, USERS, LOGIN, USERS_ID, MR_USER},
+};
 static struct validate dusr_validate = {
-  VOuser0lock,
-  2,
+/*  VOuser0lock, */
+  dusr_valobj,
+  8,
   0,
   0,
   0,
@@ -385,8 +590,8 @@ static char *dubu_fields[] = {
 };
 
 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, 0, USERS_ID, MR_DEADLOCK},
+  {V_ID, 0, USERS, UID, USERS_ID, MR_USER}
 };
 
 static struct validate dubu_validate = {
@@ -402,47 +607,49 @@ 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", 0, "users_id", MR_DEADLOCK},
+  {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,
-    "k.users_id = %d or k.string_id = %d",
-    2,
-    USERS_ID,
-    access_user,
-    setup_akum,
-    0
+  akum_valobj,
+  2,
+  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 = {
@@ -460,8 +667,8 @@ 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 validate ufbl_validate = {
@@ -485,7 +692,7 @@ static struct validate gpob_validate = {
   VOuser0,
   1,
   "potype",
-  "u.potype != \"NONE\" and u.users_id=%d",
+  "potype != 'NONE' and users_id=%d",
   1,
   0,
   access_user,
@@ -497,9 +704,14 @@ static char *gpox_fields[] = {
   LOGIN, TYPE, "box",
 };
 
+struct valobj gpox_valobj[]={
+  {V_RLOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, MACHINE, 0, MACH_ID, MR_DEADLOCK}
+};
+
 static struct validate gpox_validate = {
-  0,
-  0,
+  gpox_valobj,
+  2,
   0,
   0,
   0,
@@ -514,15 +726,16 @@ static char *spob_fields[] = {
 };
 
 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, 0, USERS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, MACHINE, 0, MACH_ID, MR_DEADLOCK},
+  {V_ID, 0, USERS, LOGIN, USERS_ID, MR_USER},
+  {V_TYPE, 1, "pobox", 0, 0, MR_TYPE},
 };
 
 static struct validate spob_validate = /* SET_POBOX */
 {
   spob_valobj,
-  3,
+  4,
   0,
   0,
   0,
@@ -531,11 +744,16 @@ static struct validate spob_validate =    /* SET_POBOX */
   0,
   set_pobox,
 };
+struct valobj spop_valobj[] = {
+  {V_LOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, MACHINE, 0, MACH_ID, MR_DEADLOCK},
+  {V_ID, 0, USERS, LOGIN, USERS_ID, MR_USER},
+};
 
 static struct validate spop_validate = /* SET_POBOX_POP */
 {
-  VOuser0lock,
-  2,
+  spop_valobj,
+  3,
   0,
   0,
   0,
@@ -547,8 +765,8 @@ static struct validate spop_validate =      /* SET_POBOX_POP */
 
 static struct validate dpob_validate = /* DELETE_POBOX */
 {
-  VOuser0lock,
-  2,
+  spop_valobj,
+  3,
   0,
   0,
   0,
@@ -563,70 +781,288 @@ static char *gmac_fields[] = {
   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},
+  {V_CHAR, 1},
+  {V_CHAR, 2},
+  {V_CHAR, 3},
+  {V_CHAR, 4},
+  {V_RLOCK,0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_LOCK, 0, MACHINE, 0, MACH_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, SUBNET, 0, SNET_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, "hostalias", 0, MACH_ID, MR_DEADLOCK},
+  {V_ID, 8, SUBNET, NAME, SNET_ID, MR_SUBNET},
+  {V_TYPE, 10, ACE_TYPE, 0, 0, MR_ACE},
+  {V_TYPEDATA, 11, 0, 0, 0, MR_ACE},
+  {V_ID, 12, "strings", "string", "string_id", MR_NO_MATCH},
+  {V_ID, 13, "strings", "string", "string_id", MR_NO_MATCH},
+};
+
+static struct validate ahst_validate = {
+  ahst_valobj,
+  15,
   NAME,
-  "m.name = uppercase(\"%s\")",
+  "name = uppercase(LEFT('%s',SIZE(name)))",
   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, 0, USERS_ID, MR_DEADLOCK},
+  {V_LOCK, 0, MACHINE, 0, MACH_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, SUBNET, 0, SNET_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
+  {V_CHAR, 0},
+  {V_ID, 0, MACHINE, NAME, MACH_ID, MR_MACHINE},
+  {V_RENAME, 1, MACHINE, NAME, MACH_ID, MR_NOT_UNIQUE},
+  {V_CHAR, 2},
+  {V_CHAR, 3},
+  {V_CHAR, 4},
+  {V_CHAR, 5},
+  {V_ID, 9, SUBNET, NAME, SNET_ID, MR_SUBNET},
+  {V_TYPE, 11, ACE_TYPE, 0, 0, MR_ACE},
+  {V_TYPEDATA, 12, 0, 0, 0, MR_ACE},
+  {V_ID, 13, "strings", "string", "string_id", MR_NO_MATCH},
+  {V_ID, 14, "strings", "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,
+  access_host,
+  setup_ahst,
+  set_modtime_by_id,
+};
+
+static char *dhst_fields[] = {
+  NAME,
+};
+
+static struct valobj dhst_valobj[] = {
+  {V_RLOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_LOCK, 0, MACHINE, 0, MACH_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, "nfsphys", 0, "nfsphys_id", MR_DEADLOCK},
+  {V_RLOCK, 0, "serverhosts", 0, MACH_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, HOSTACCESS, 0, MACH_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, "hostalias", 0, MACH_ID, MR_DEADLOCK},
+  {V_LOCK, 0, "mcmap", 0, MACH_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, PRINTCAP, 0, MACH_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, "palladium", 0, MACH_ID, MR_DEADLOCK},
+  {V_ID, 0, MACHINE, NAME, MACH_ID, MR_MACHINE},
+};
+
+static struct validate dhst_validate = {
+  dhst_valobj,
+  10,
+  0,
+  0,
+  0,
+  0,
+  0,
+  setup_dmac,
+  0,
+};
+
+static char *ghal_fields[] = {
+    ALIAS, "canonical_hostname",
+    ALIAS, "canonical_hostname"
+};
+
+static struct valobj ghal_valobj[] = {
+  {V_UPWILD, 0},
+  {V_UPWILD, 1},
+  {V_SORT, 0},
+};
+
+static struct validate ghal_validate = {
+  ghal_valobj,
+  3,
+  0,
+  0,
+  0,
+  0,
+  access_ahal,
   0,
   0,
-  set_modtime_by_id,
 };
 
-static char *dmac_fields[] = {
+static struct valobj ahal_valobj[] = {
+  {V_CHAR, 0},
+  {V_UPWILD, 0},
+  {V_ID, 1, MACHINE, NAME, MACH_ID, MR_MACHINE},
+};
+
+static struct validate ahal_validate = {
+  ahal_valobj,
+  3,
   NAME,
+  "name = LEFT('%s',SIZE(name))",
+  1,
+  MACH_ID,
+  access_ahal,
+  setup_ahal,
+  0,
 };
 
-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 dhal_valobj[] = {
+    {V_UPWILD, 0},
+    {V_LOCK, 0, MACHINE, 0, MACH_ID, MR_DEADLOCK},
+    {V_ID, 1, MACHINE, NAME, MACH_ID, MR_MACHINE},
 };
 
-static struct validate dmac_validate = {
-  dmac_valobj,
+static struct validate dhal_validate = {
+  dhal_valobj,
+  3,
+  NAME,
+  "name = LEFT('%s',SIZE(name)) 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, 0, USERS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, SUBNET, 0, SNET_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, LIST, 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,
-  setup_dmac,
+  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, 0, USERS_ID, MR_DEADLOCK},
+  {V_LOCK, 0, SUBNET, 0, SNET_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
+  {V_CHAR, 0},
+  {V_TYPE, 7, ACE_TYPE, 0, 0, MR_ACE},
+  {V_TYPEDATA, 8, 0, 0, 0, MR_ACE},
+};
+
+static struct validate asnt_validate = 
+{
+    asnt_valobj,
+    6,
+    NAME,
+    "name = uppercase(LEFT('%s',SIZE(name)))",
+    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, 0, USERS_ID, MR_DEADLOCK},
+  {V_LOCK, 0, SUBNET, 0, SNET_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
+  {V_ID, 0, SUBNET, NAME, SNET_ID, MR_NO_MATCH},
+  {V_RENAME, 1, SUBNET, NAME, SNET_ID, MR_NOT_UNIQUE},
+  {V_TYPE, 8, ACE_TYPE, 0, 0, MR_ACE},
+  {V_TYPEDATA, 9, 0, 0, 0, MR_ACE},
+};
+
+static struct validate usnt_validate = 
+{
+    usnt_valobj,
+    7,
+    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, 0, MACH_ID, MR_DEADLOCK},
+  {V_LOCK, 0, SUBNET, 0, SNET_ID, MR_DEADLOCK},
+  {V_ID, 0, SUBNET, NAME, SNET_ID, MR_SUBNET},
+};
+
+static struct validate dsnt_validate = {
+  dsnt_valobj,
+  3,
+  0,
+  0,
+  0,
+  0,
+  0,
+  setup_dsnt,
   0,
 };
 
@@ -638,22 +1074,22 @@ static char *gclu_fields[] = {
 static char *aclu_fields[] = {
   NAME, DESC, LOCATION,
 };
-  
+
 static struct valobj aclu_valobj[] = {
-  {V_LOCK, 0, CLUSTER, 0, CLU_ID, SMS_DEADLOCK},
+  {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,
-  "c.name = \"%s\"",
+  "name = LEFT('%s',SIZE(name))",
   1,
-  "clu_id",
-  0,
+  CLU_ID,
   0,
+  prefetch_value,
   set_modtime,
 };
 
@@ -663,9 +1099,9 @@ static char *uclu_fields[] = {
 };
 
 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, 0, CLU_ID, MR_DEADLOCK},
+  {V_ID, 0, CLUSTER, NAME, CLU_ID, MR_CLUSTER},
+  {V_RENAME, 1, CLUSTER, NAME, CLU_ID, MR_NOT_UNIQUE},
 };
 
 static struct validate uclu_validate = {
@@ -685,15 +1121,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[] = {
@@ -701,10 +1137,20 @@ 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, NAME, MACH_ID, MR_MACHINE},
+  {V_ID, 1, CLUSTER, NAME, CLU_ID, MR_CLUSTER},
 };
 
 static struct validate amtc_validate = /* for amtc and dmfc */
@@ -712,7 +1158,7 @@ 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,
@@ -731,16 +1177,36 @@ static char *acld_fields[] = {
 
 static struct valobj acld_valobj[] =
 {
-  {V_ID, 0, CLUSTER, NAME, CLU_ID, SMS_CLUSTER},
+  {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,
-  "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,
@@ -755,40 +1221,47 @@ static char *gsin_fields[] = {
   ACE_TYPE, ACE_NAME, MOD1, MOD2, MOD3,
 };
 
+static struct valobj gsin_valobj[] =
+{
+  {V_RLOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, LIST, 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, "boolean", 0, 0, MR_TYPE},
+  {V_TYPE, 1, "boolean", 0, 0, MR_TYPE},
+  {V_TYPE, 2, "boolean", 0, 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[] = {
@@ -797,19 +1270,21 @@ static char *asin_fields[] = {
 };
 
 static struct valobj asin_valobj[] = {
-  {V_LOCK, 0, MACHINE, 0, MACH_ID, SMS_DEADLOCK},
+  {V_RLOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_LOCK, 0, MACHINE, 0, MACH_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, LIST, 0, LIST_ID, MR_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_TYPE, 4, "service", 0, 0, MR_TYPE},
+  {V_TYPE, 6, ACE_TYPE, 0, 0, MR_ACE},
+  {V_TYPEDATA, 7, 0, 0, 0, MR_ACE},
 };
 
 static struct validate asin_validate = /* for asin, usin */
 {
   asin_valobj,
-  5,
+  7,
   NAME,
-  "s.name = uppercase(\"%s\")",
+  "name = uppercase(LEFT('%s',SIZE(name)))",
   1,
   0,
   0,
@@ -819,9 +1294,9 @@ static struct validate asin_validate =     /* for asin, usin */
 
 static struct validate rsve_validate = {
   asin_valobj,
-  1,
+  3,
   NAME,
-  "s.name = uppercase(\"%s\")",
+  "name = uppercase('%s')",
   1,
   0,
   access_service,
@@ -835,9 +1310,9 @@ static char *ssif_fields[] = {
 
 static struct validate ssif_validate = {
   asin_valobj,
-  1,
+  3,
   NAME,
-  "s.name = uppercase(\"%s\")",
+  "name = uppercase('%s')",
   1,
   0,
   0,
@@ -851,9 +1326,9 @@ static char *dsin_fields[] = {
 
 static struct validate dsin_validate = {
   asin_valobj,
-  1,
+  3,
   NAME,
-  "s.name = uppercase(\"%s\")",
+  "name = uppercase('%s')",
   1,
   0,
   0,
@@ -868,9 +1343,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,
@@ -881,28 +1361,28 @@ 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[] = {
-  {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, "boolean", 0, 0, MR_TYPE},
+  {V_TYPE, 2, "boolean", 0, 0, MR_TYPE},
+  {V_TYPE, 3, "boolean", 0, 0, MR_TYPE},
+  {V_TYPE, 4, "boolean", 0, 0, MR_TYPE},
+  {V_TYPE, 5, "boolean", 0, 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[] = {
@@ -910,17 +1390,18 @@ 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, 0, MACH_ID, MR_DEADLOCK},
+  {V_NAME, 0, "servers", NAME, 0, MR_SERVICE},
+  {V_LOCK, 0, "serverhosts",0, MACH_ID, MR_DEADLOCK},
+  {V_ID, 1, MACHINE, NAME, MACH_ID, MR_MACHINE},
 };
 
 static struct validate ashi_validate = /* ashi & ushi */
 {
   ashi_valobj,
-  3,
+  4,
   SERVICE,
-  "sh.service = uppercase(\"%s\") and sh.mach_id = %d",
+  "service = uppercase(LEFT('%s',SIZE(service))) AND mach_id = %d",
   2,
   0,
   access_service,
@@ -931,9 +1412,9 @@ static struct validate ashi_validate = /* ashi & ushi */
 static struct validate rshe_validate = 
 {
   ashi_valobj,
-  3,
+  4,
   SERVICE,
-  "sh.service = uppercase(\"%s\") and sh.mach_id = %d",
+  "service = uppercase('%s') AND mach_id = %d",
   2,
   0,
   access_service,
@@ -944,9 +1425,9 @@ static struct validate rshe_validate =
 static struct validate ssho_validate = 
 {
   ashi_valobj,
-  3,
+  4,
   SERVICE,
-  "sh.service = uppercase(\"%s\") and sh.mach_id = %d",
+  "service = uppercase('%s') AND mach_id = %d",
   2,
   0,
   access_service,
@@ -955,18 +1436,20 @@ 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, SMS_SERVICE},
+  {V_RLOCK, 0, MACHINE, 0, MACH_ID, MR_DEADLOCK},
+  {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,
+  3,
   0,
   0,
   0,
@@ -983,9 +1466,9 @@ static char *dshi_fields[] = {
 static struct validate dshi_validate = 
 {
   ashi_valobj,
-  3,
+  4,
   SERVICE,
-  "sh.service = uppercase(\"%s\") and sh.mach_id = %d",
+  "service = uppercase('%s') AND mach_id = %d",
   2,
   0,
   access_service,
@@ -1000,8 +1483,8 @@ static char *gsha_fields[] = {
 
 static struct validate gsha_validate = 
 {
-  0,
-  0,
+  VOupwild0,
+  1,
   0,
   0,
   0,
@@ -1016,17 +1499,19 @@ static char *asha_fields[] = {
 };
 
 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},
+  {V_RLOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_ID, 0, MACHINE, NAME, MACH_ID, MR_MACHINE},
+  {V_RLOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
+  {V_TYPE, 1, ACE_TYPE, 0, 0, MR_ACE},
+  {V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
 };
 
 static struct validate asha_validate = 
 {
   asha_valobj,
-  3,
+  5,
   MACH_ID,
-  "ha.mach_id = %d",
+  "mach_id = %d",
   1,
   MACH_ID,
   0,
@@ -1041,19 +1526,24 @@ 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,
 };
 
+static struct valobj gfsm_valobj[] = {
+  {V_RLOCK, 0, FILESYS, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_ID, 0, MACHINE, NAME, MACH_ID, MR_MACHINE},
+};
+
 static struct validate gfsm_validate = {
-  VOmach0,
-  1,
+  gfsm_valobj,
+  2,
   0,
   0,
   0,
@@ -1065,19 +1555,48 @@ 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_RLOCK, 0, FILESYS, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_ID, 0, MACHINE, 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, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_ID, 0, LIST, NAME, LIST_ID, MR_LIST}
+};
 
 static struct validate gfsg_validate = {
-  VOlist0,
-  1,
+  gfsg_valobj,
+  2,
   0,
   0,
   0,
@@ -1088,26 +1607,29 @@ 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",
 };
 
 static struct valobj afil_valobj[] = {
+  {V_LOCK, 0, FILESYS, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, MACHINE, 0, MACH_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
   {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_TYPE, 1, FILESYS, 0, 0, MR_FSTYPE},
+  {V_ID, 2, MACHINE, NAME, MACH_ID, MR_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_ID, 7, USERS, LOGIN, USERS_ID, MR_USER},
+  {V_ID, 8, LIST, NAME, LIST_ID, MR_LIST},
+  {V_TYPE, 10, "lockertype", 0, 0, MR_TYPE}
 };
 
 static struct validate afil_validate = {
   afil_valobj,
-  8,
+  11,
   LABEL,
-  "fs.label = \"%s\"",
+  "label = LEFT('%s',SIZE(label))",
   1,
   FILSYS_ID,
   0,
@@ -1116,27 +1638,31 @@ 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",
 };
 
 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_LOCK, 0, FILESYS, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, MACHINE, 0, MACH_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
+  {V_LOCK, 0, QUOTA, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_ID, 0, FILESYS, LABEL, FILSYS_ID, MR_FILESYS},
+  {V_RENAME, 1, FILESYS, LABEL, FILSYS_ID, MR_NOT_UNIQUE},
+  {V_TYPE, 2, FILESYS, 0, 0, MR_FSTYPE},
+  {V_ID, 3, MACHINE, NAME, MACH_ID, MR_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_ID, 8, USERS, LOGIN, USERS_ID, MR_USER},
+  {V_ID, 9, LIST, NAME, LIST_ID, MR_LIST},
+  {V_TYPE, 11, "lockertype", 0, 0, MR_TYPE}
 };
 
 static struct validate ufil_validate = {
   ufil_valobj,
-  9,
+  13,
   LABEL,
-  "fs.filsys_id = %d",
+  "filsys_id = %d",
   1,
   FILSYS_ID,
   0,
@@ -1149,15 +1675,18 @@ static char *dfil_fields[] = {
 };
 
 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, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_LOCK, 0, "nfsphys", 0, "nfsphys_id", MR_DEADLOCK},
+  {V_LOCK, 0, QUOTA, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_LOCK, 0, "fsgroup", 0, "filsys_id", MR_DEADLOCK},
+  {V_ID, 0, FILESYS, 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,
@@ -1166,43 +1695,44 @@ 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, SMS_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, SMS_DEADLOCK},
-    {V_ID, 0, FILESYS, LABEL, FILSYS_ID, SMS_FILESYS},
-    {V_ID, 1, FILESYS, LABEL, FILSYS_ID, SMS_FILESYS},
+  {V_LOCK, 0, FILESYS, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_LOCK, 0, "fsgroup", 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",
-    "fg.group_id = %d and fg.filsys_id = %d",
-    2,
-    0,
-    0,
-    0,
-    0,
+
+static struct validate aftg_validate = {
+  aftg_valobj,
+  4,
+  "group_id",
+  "group_id = %d and filsys_id = %d",
+  2,
+  0,
+  0,
+  0,
+  0,
 };
 
 static char *ganf_fields[] = {
@@ -1214,9 +1744,15 @@ 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_RLOCK, 0, "nfsphys", 0, "nfsphys_id", MR_DEADLOCK},
+  {V_WILD, 1},
+};
+
 static struct validate gnfp_validate = {
-  VOmach0,
-  1,
+  gnfp_valobj,
+  3,
   0,
   0,
   0,
@@ -1227,15 +1763,29 @@ static struct validate gnfp_validate = {
 };
 
 static struct valobj anfp_valobj[] = {
-  {V_ID, 0, MACHINE, NAME, MACH_ID, SMS_MACHINE},
+  {V_RLOCK, 0, MACHINE, 0, MACH_ID, MR_DEADLOCK},
+  {V_LOCK, 0, "nfsphys", 0, "nfsphys_id", MR_DEADLOCK},
+  {V_ID, 0, MACHINE, NAME, MACH_ID, MR_MACHINE},
   {V_CHAR, 1},
 };
 
 static struct validate anfp_validate = {
   anfp_valobj,
+  4,
+  DIR,
+  "mach_id = %d and dir = LEFT('%s',SIZE(dir))",
   2,
+  "nfsphys_id",
+  0,
+  prefetch_value,
+  set_nfsphys_modtime,
+};
+
+static struct validate unfp_validate = {
+  anfp_valobj,
+  4,
   DIR,
-  "np.mach_id = %d and np.dir = \"%s\"",
+  "mach_id = %d and dir = '%s'",
   2,
   "nfsphys_id",
   0,
@@ -1243,15 +1793,27 @@ static struct validate anfp_validate = {
   set_nfsphys_modtime,
 };
 
+static char *ajnf_fields[] = {
+  MACHINE, DIR, "adjustment",
+};
+
 static char *dnfp_fields[] = {
   MACHINE, DIR,
 };
 
+static struct valobj dnfp_valobj[] = {
+  {V_RLOCK, 0, FILESYS, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_LOCK, 0, MACHINE, 0, MACH_ID, MR_DEADLOCK},
+  {V_LOCK, 0, "nfsphys", 0, "nfsphys_id", MR_DEADLOCK},
+  {V_ID, 0, MACHINE, NAME, MACH_ID, MR_MACHINE},
+
+};
+
 static struct validate dnfp_validate = {
-  VOmach0,
-  1,
+  dnfp_valobj,
+  4,
   DIR,
-  "np.mach_id = %d and np.dir = \"%s\"",
+  "mach_id = %d and dir = '%s'",
   2,
   "nfsphys_id",
   0,
@@ -1259,18 +1821,110 @@ static struct validate dnfp_validate = {
   set_nfsphys_modtime,
 };
 
-static char *gnfq_fields[] = {
-  FILESYS, LOGIN,
-  FILESYS, LOGIN, "quota", DIR, MACHINE, MOD1, MOD2, MOD3,
+static char *gqot_fields[] = {
+  FILESYS, TYPE, NAME,
+  FILESYS, TYPE, NAME, 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 valobj gqot_valobj[] = {
+  {V_RLOCK, 0, FILESYS, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, "nfsphys", 0, "nfsphys_id", MR_DEADLOCK},
+  {V_RLOCK, 0, QUOTA, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_WILD, 0},
+  {V_TYPE, 1, QUOTA_TYPE, 0, 0, MR_TYPE},
+  {V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
+  {V_SORT, 0, 0, 0, 0, 0},
+};
+
+static struct validate gqot_validate = {
+  gqot_valobj,
+  9,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  followup_gqot,
+};
+
+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_filesys,
+  0,
+  followup_gqot,
+};
+
+static char *aqot_fields[] = {
+  FILESYS, TYPE, NAME, QUOTA,
+};
+
+static struct valobj aqot_valobj[] = {
+  {V_LOCK, 0, FILESYS, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
+  {V_LOCK, 0, "nfsphys", 0, "nfsphys_id", MR_DEADLOCK},
+  {V_LOCK, 0, QUOTA, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_ID, 0, FILESYS, LABEL, FILSYS_ID, MR_FILESYS},
+  {V_TYPE, 1, QUOTA_TYPE, 0, 0, MR_TYPE},
+  {V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
+};
+
+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 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 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 *gnfq_fields[] = {
+  FILESYS, LOGIN,
+  FILESYS, LOGIN, QUOTA, DIR, MACHINE, MOD1, MOD2, MOD3,
 };
 
 static struct validate gnfq_validate = {
-  gnfq_valobj,
+  VOwild0sort,
   2,
   0,
   0,
@@ -1278,57 +1932,64 @@ static struct validate gnfq_validate = {
   0,
   access_filesys,
   0,
-  followup_gnfq,
+  followup_gqot,
 };
 
 static char *gnqp_fields[] = {
   MACHINE, DIR,
-  FILESYS, LOGIN, "quota", DIR, MACHINE, MOD1, MOD2, MOD3,
+  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",
+  FILESYS, LOGIN, QUOTA,
 };
 
 static struct validate anfq_validate = {
   VOfilsys0user1,
   3,
-  USERS_ID,
-  "nq.filsys_id = %d and nq.users_id = %d",
+  FILSYS_ID,
+  "filsys_id = %d AND type = 'USER' AND entity_id = %d",
   2,
+  0, /* object ? */
   0,
-  0,
-  0,
-  followup_anfq,
+  prefetch_filesys,
+  followup_aqot,
 };
 
 static struct validate unfq_validate = {
   VOfilsys0user1,
   3,
-  USERS_ID,
-  "nq.filsys_id = %d and nq.users_id = %d",
+  FILSYS_ID,
+  "filsys_id = %d AND type = 'USER' AND entity_id = %d",
   2,
   0,
   0,
-  setup_dnfq,
-  followup_anfq,
+  setup_dqot,
+  followup_aqot,
 };
 
 static struct validate dnfq_validate = {
   VOfilsys0user1,
   3,
-  USERS_ID,
-  "nq.filsys_id = %d and nq.users_id = %d",
+  FILSYS_ID,
+  "filsys_id = %d AND entity_id = %d",
   2,
   0,
   0,
-  setup_dnfq,
-  0,
+  setup_dqot,
+  followup_dqot,
 };
 
 static char *glin_fields[] = {
   NAME,
-  NAME, "active", "public", "hidden", "maillist", "group", "gid",
+  NAME, "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
   ACE_TYPE, ACE_NAME, DESC, MOD1, MOD2, MOD3,
 };
 
@@ -1345,22 +2006,23 @@ static struct validate glin_validate = {
 };
 
 static char *alis_fields[] = {
-  NAME, "active", "public", "hidden", "maillist", "group", "gid",
+  NAME, "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
   ACE_TYPE, ACE_NAME, DESC,
 };
 
 static struct valobj alis_valobj[] = {
-  {V_LOCK, 0, LIST, 0, LIST_ID, SMS_DEADLOCK},
+  {V_RLOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_LOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
   {V_CHAR, 0},
-  {V_TYPE, 7, ACE_TYPE, 0, 0, SMS_ACE},
-  {V_TYPEDATA, 8, 0, 0, LIST_ID, SMS_ACE},
+  {V_TYPE, 7, ACE_TYPE, 0, 0, MR_ACE},
+  {V_TYPEDATA, 8, 0, 0, LIST_ID, MR_ACE},
 };
 
 static struct validate alis_validate = {
   alis_valobj,
-  4,
+  5,
   NAME,
-  "l.name = \"%s\"",
+  "name = LEFT('%s',SIZE(name))",
   1,
   LIST_ID,
   0,
@@ -1370,23 +2032,24 @@ static struct validate alis_validate = {
 
 static char *ulis_fields[] = {
   NAME,
-  "newname", "active", "public", "hidden", "maillist", "group", "gid",
+  "newname", "active", "publicflg", "hidden", "maillist", "grouplist", "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},
+  {V_RLOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_LOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
+  {V_ID, 0, LIST, NAME, LIST_ID, MR_LIST},
+  {V_RENAME, 1, LIST, NAME, LIST_ID, MR_NOT_UNIQUE},
+  {V_TYPE, 8, ACE_TYPE, 0, 0, MR_ACE},
+  {V_TYPEDATA, 9, 0, 0, LIST_ID, MR_ACE},
 };
 
 static struct validate ulis_validate = {
   ulis_valobj,
-  5,
+  6,
   NAME,
-  "l.list_id = %d",
+  "list_id = %d",
   1,
   LIST_ID,
   access_list,
@@ -1398,11 +2061,22 @@ static char *dlis_fields[] = {
   NAME,
 };
 
+static struct valobj dlis_valobj[] ={
+  {V_RLOCK, 0, "capacls", 0, LIST_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, "imembers", 0, LIST_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, FILESYS, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_LOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, QUOTA, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, ZEPH, 0, ZEPH_ID, MR_DEADLOCK},  
+  {V_RLOCK, 0, HOSTACCESS, 0, MACH_ID, MR_DEADLOCK},
+  {V_ID, 0, LIST, NAME, LIST_ID, MR_LIST}
+};
+
 static struct validate dlis_validate = {
-  VOlist0,
-  1,
+  dlis_valobj,
+  8,
   NAME,
-  "l.list_id = %d",
+  "list_id = %d",
   1,
   0,
   access_list,
@@ -1415,16 +2089,17 @@ static char *amtl_fields[] = {
 };
 
 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},
+  {V_RLOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_LOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
+  {V_ID, 0, LIST, NAME, LIST_ID, MR_LIST},
+  {V_TYPE, 1, "member", 0, 0, MR_TYPE},
+  {V_TYPEDATA, 2, 0, 0, 0, MR_NO_MATCH},
 };
 
 static struct validate amtl_validate =
 {
   amtl_valobj,
-  4,
+  5,
   0,
   0,
   0,
@@ -1437,7 +2112,7 @@ static struct validate amtl_validate =
 static struct validate dmfl_validate =
 {
   amtl_valobj,
-  4,
+  5,
   0,
   0,
   0,
@@ -1448,50 +2123,55 @@ 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[] = {
-  {V_TYPE, 0, "gaus", 0, 0, SMS_TYPE},
-  {V_TYPEDATA, 1, 0, 0, 0, SMS_NO_MATCH},
+  {V_RLOCK, 0, FILESYS, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, ZEPH, 0, ZEPH_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, HOSTACCESS, 0, MACH_ID, MR_DEADLOCK},
+  {V_TYPE, 0, "gaus", 0, 0, MR_TYPE},
+  {V_TYPEDATA, 1, 0, 0, 0, MR_NO_MATCH},
 };
 
 static struct validate gaus_validate = {
-    gaus_valobj,
-    2,
-    0,
-    0,
-    0,
-    0,
-    access_member,
-    0,
-    get_ace_use,
+  gaus_valobj,
+  7,
+  0,
+  0,
+  0,
+  0,
+  access_member,
+  0,
+  get_ace_use,
 };
 
 static char *qgli_fields[] = {
-    "active", "public", "hidden", "maillist", "group",
-    "list",
+  "active", "publicflg", "hidden", "maillist", "grouplist",
+  "list",
 };
 
 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},
+  {V_TYPE, 0, "boolean", 0, 0, MR_TYPE},
+  {V_TYPE, 1, "boolean", 0, 0, MR_TYPE},
+  {V_TYPE, 2, "boolean", 0, 0, MR_TYPE},
+  {V_TYPE, 3, "boolean", 0, 0, MR_TYPE},
+  {V_TYPE, 4, "boolean", 0, 0, MR_TYPE},
 };
 
 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[] = {
@@ -1499,9 +2179,15 @@ static char *gmol_fields[] = {
   "member_type", "member_name",
 };
 
+static struct valobj gmol_valobj[]={
+  {V_LOCK, 0, "imembers", 0, LIST_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_ID, 0, LIST, NAME, LIST_ID, MR_LIST},
+
+};
 static struct validate gmol_validate = {
 VOlist0,
-  1,
gmol_valobj,
+  3,
   0,
   0,
   0,
@@ -1511,20 +2197,35 @@ static struct validate gmol_validate = {
   get_members_of_list,
 };
 
+static struct validate geml_validate = {
+  gmol_valobj,
+  2,
+  0,
+  0,
+  0,
+  0,
+  access_visible_list,
+  0,
+  get_end_members_of_list,
+};
+
 static char *glom_fields[] = {
   "member_type", "member_name",
-  "list_name", "active", "public", "hidden", "maillist", "group",
+  "list_name", "active", "publicflg", "hidden", "maillist", "grouplist",
 };
 
 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},
+   {V_LOCK, 0, "imembers", 0, LIST_ID, MR_DEADLOCK},
+   {V_RLOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+   {V_RLOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
+   {V_TYPE, 0, "rmember", 0, 0, MR_TYPE},
+   {V_TYPEDATA, 1, 0, 0, 0, MR_NO_MATCH},
+   {V_SORT, 0},
 };
 
 static struct validate glom_validate = {
   glom_valobj,
-  3,
+  5,
   0,
   0,
   0,
@@ -1552,14 +2253,21 @@ 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 valobj gzcl_valobj[] = {
+  {V_RLOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, ZEPH, 0, ZEPH_ID, MR_DEADLOCK},
+  {V_WILD, 0},
+  {V_SORT, 0},
+};
 static struct validate gzcl_validate = {
-  VOsort0,
-  1,
+  gzcl_valobj,
+  5,
   0,
   0,
   0,
@@ -1570,27 +2278,30 @@ 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[] = {
+  {V_RLOCK, 0, USERS, 0, USERS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
+  {V_LOCK, 0, ZEPH, 0, ZEPH_ID, MR_DEADLOCK}, 
   {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_TYPE, 1, ACE_TYPE, 0, 0, MR_ACE},
+  {V_TYPEDATA, 2, 0, 0, LIST_ID, MR_ACE},
+  {V_TYPE, 3, ACE_TYPE, 0, 0, MR_ACE},
+  {V_TYPEDATA, 4, 0, 0, LIST_ID, MR_ACE},
+  {V_TYPE, 5, ACE_TYPE, 0, 0, MR_ACE},
+  {V_TYPEDATA, 6, 0, 0, LIST_ID, MR_ACE},
+  {V_TYPE, 7, ACE_TYPE, 0, 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 = LEFT('%s',SIZE(class))",
   1,
   0,
   0,
@@ -1599,27 +2310,30 @@ 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[] = {
-  {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, 0, USERS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, LIST, 0, LIST_ID, MR_DEADLOCK},
+  {V_LOCK, 0, ZEPH, 0, ZEPH_ID, MR_DEADLOCK},
+  {V_RENAME, 1, "zephyr", CLASS, 0, MR_NOT_UNIQUE},
+  {V_TYPE, 2, ACE_TYPE, 0, 0, MR_ACE},
+  {V_TYPEDATA, 3, 0, 0, LIST_ID, MR_ACE},
+  {V_TYPE, 4, ACE_TYPE, 0, 0, MR_ACE},
+  {V_TYPEDATA, 5, 0, 0, LIST_ID, MR_ACE},
+  {V_TYPE, 6, ACE_TYPE, 0, 0, MR_ACE},
+  {V_TYPEDATA, 7, 0, 0, LIST_ID, MR_ACE},
+  {V_TYPE, 8, ACE_TYPE, 0, 0, MR_ACE},
+  {V_TYPEDATA, 9, 0, 0, LIST_ID, MR_ACE},
 };
 
 static struct validate uzcl_validate = {
   uzcl_valobj,
-  9,
+  11,
   CLASS,
-  "z.class = \"%s\"",
+  "class = '%s'",
   1,
   0,
   0,
@@ -1631,7 +2345,7 @@ static struct validate dzcl_validate = {
   0,
   0,
   CLASS,
-  "z.class = \"%s\"",
+  "class = '%s'",
   1,
   0,
   0,
@@ -1639,31 +2353,71 @@ static struct validate dzcl_validate = {
   0,
 };
 
-static char *gasv_fields[] = {
+static char *gsvc_fields[] = {
+  SERVICE,
+  SERVICE, "protocol", "port", DESC, MOD1, MOD2, MOD3,
+};
+
+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 validate asvc_validate = {
+  VOchar0,
+  1,
+  NAME,
+  "name = LEFT('%s',SIZE(name))",
+  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, 0, USERS_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, MACHINE, 0, MACH_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, PRINTCAP, 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},
+  {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,
-  "p.name = \"%s\"",
+  "name = LEFT('%s',SIZE(name))",
   1,
   0,
   0,
@@ -1671,11 +2425,11 @@ static struct validate apcp_validate = {
   set_modtime,
 };
 
-static struct validate dpcp_validate = {
+static struct validate dpce_validate = {
   0,
   0,
   NAME,
-  "p.name = \"%s\"",
+  "name = '%s'",
   1,
   0,
   0,
@@ -1683,25 +2437,31 @@ static struct validate dpcp_validate = {
   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},
+  {V_ID, 2, MACHINE, NAME, MACH_ID, MR_MACHINE},
 };
 
 static struct validate apdm_validate = {
   apdm_valobj,
   2,
   NAME,
-  "p.name = \"%s\"",
+  "name = LEFT('%s',SIZE(name))",
   1,
   0,
   0,
@@ -1713,7 +2473,7 @@ static struct validate dpdm_validate = {
   0,
   0,
   NAME,
-  "p.name = \"%s\"",
+  "name = '%s'",
   1,
   0,
   0,
@@ -1732,7 +2492,7 @@ static char *aali_fields[] = {
 
 static struct valobj aali_valobj[] = {
   {V_CHAR, 0},
-  {V_TYPE, 1, "alias", 0, 0, SMS_TYPE},
+  {V_TYPE, 1, ALIAS, 0, 0, MR_TYPE},
   {V_CHAR, 2},
 };
 
@@ -1740,7 +2500,7 @@ static struct validate aali_validate = {
   aali_valobj,
   3,
   "trans",
-  "a.name = \"%s\" and a.type = \"%s\" and a.trans = \"%s\"",
+  "name = LEFT('%s',SIZE(name)) and type = '%s' and trans = LEFT('%s',SIZE(trans))",
   3,
   0,
   0,
@@ -1753,7 +2513,7 @@ static struct validate dali_validate =    /* DELETE_ALIAS */
   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,
@@ -1766,7 +2526,7 @@ static char *gval_fields[] = {
 };
 
 static struct valobj gval_valobj[] = {
-  {V_NAME, 0, "values", NAME, 0, SMS_NO_MATCH},
+  {V_NAME, 0, "numvalues", NAME, 0, MR_NO_MATCH},
 };
 
 static struct validate gval_validate = {
@@ -1790,7 +2550,7 @@ static struct validate aval_validate =    /* for aval, uval, and dval */
   VOchar0,
   1,
   NAME,
-  "v.name = \"%s\"",
+  "name = LEFT('%s',SIZE(name))",  /* LEFT() only needed for aval */
   1,
   0,
   0,
@@ -1803,13 +2563,34 @@ static char *dval_fields[] = {
 };
 
 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 */
@@ -1818,14 +2599,14 @@ struct query Queries2[] = {
     RETRIEVE,
     "u",
     USERS,
-    "%c = u.login, %c = text(u.uid), %c = u.shell, %c = u.last, %c = u.first, %c = u.middle",
+    "CHAR(u.login), CHAR(u.uid), u.shell, CHAR(u.last), CHAR(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",
@@ -1833,29 +2614,104 @@ struct query Queries2[] = {
     RETRIEVE,
     "u",
     USERS,
-    "%c = u.login, %c = text(u.uid), %c = u.shell, %c = u.last, %c = u.first, %c = u.middle",
+    "CHAR(u.login), CHAR(u.uid), u.shell, CHAR(u.last), CHAR(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,
+    "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(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, CHAR(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, CHAR(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,
+    &guan_validate,
+  },
+  
+  {
+    /* 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, CHAR(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, CHAR(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",
     "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,  
+    "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,
-    "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",
@@ -1863,14 +2719,14 @@ struct query Queries2[] = {
     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",
+    "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,
-    "u.uid = %s and u.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",
@@ -1878,14 +2734,14 @@ struct query Queries2[] = {
     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",
+    "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,
-    "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",
@@ -1893,14 +2749,14 @@ struct query Queries2[] = {
     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",
+    "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,
-    "u.mit_year = uppercase(\"%s\") and u.users_id != 0",
+    "u.type = uppercase('%s') AND u.users_id != 0",
     1,
     &VDsortf,
   },
-
+  
   {
     /* Q_GUBM - GET_USER_BY_MITID */
     "get_user_by_mitid",
@@ -1908,29 +2764,44 @@ struct query Queries2[] = {
     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",
+    "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,
-    "u.mit_id = \"%s\" and u.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 */
+    /* 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,
+    "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,
-    "values.name = \"users_id\"",
+    0,
     0,
     &ausr_validate,
   },
-
+  
   {
     /* Q_RUSR - REGISTER_USER */
     "register_user",
@@ -1945,7 +2816,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",
@@ -1953,10 +2839,10 @@ struct query Queries2[] = {
     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 SET login = '%s', uid = %s, shell = '%s', last = '%s', first = '%s', middle = '%s', status = %s, clearid = '%s',  type = '%s'",
+    uuac_fields,
     9,
-    "u.users_id = %d",
+    "users_id = %d",
     1,
     &uusr_validate,
   },
@@ -1968,10 +2854,10 @@ struct query Queries2[] = {
     UPDATE,
     "u",
     USERS,
-    "shell = %c",
+    "users SET shell = '%s'",  
     uush_fields,
     1,
-    "u.users_id = %d",
+    "users_id = %d",
     1,
     &uush_validate,
   },
@@ -1983,16 +2869,31 @@ struct query Queries2[] = {
     UPDATE,
     "u",
     USERS,
-    "status = int4(%c)",
+    "users SET status = %s",
     uust_fields,
     1,
-    "u.users_id = %d",
+    "users_id = %d",
     1,
     &uust_validate,
   },
 
   {
-    /* Q_DUSR - DELETE_USER */
+    /* Q_UUSS - UPDATE_USER_SECURITY_STATUS */
+    "update_user_security_status",
+    "uuss",
+    UPDATE,
+    "u",
+    USERS,
+    "users SET secure = %s",
+    uuss_fields,
+    1,
+    "users_id = %d",
+    1,
+    &uust_validate,
+  },
+  {
+    /* Q_DUSR - DELETE_USER */ 
     "delete_user",
     "dusr",
     DELETE,
@@ -2001,7 +2902,7 @@ struct query Queries2[] = {
     (char *)0,
     dusr_fields,
     0,
-    "u.users_id = %d",
+    "users_id = %d",
     1,
     &dusr_validate,
   },
@@ -2016,24 +2917,24 @@ struct query Queries2[] = {
     (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",
+    "CHAR(u.login), CHAR(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,
   },
 
   {
@@ -2043,7 +2944,7 @@ struct query Queries2[] = {
     APPEND,
     "k",
     "krbmap",
-    "users_id = %i4, string_id = %i4",
+    "INTO krbmap (users_id, string_id) VALUES (%d, %d)",
     akum_fields,
     2,
     0,
@@ -2061,7 +2962,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,
   },
@@ -2073,7 +2974,7 @@ struct query Queries2[] = {
     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",
+    "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,
     "u.users_id = %d",
@@ -2088,10 +2989,10 @@ struct query Queries2[] = {
     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 SET fullname= '%s',nickname= '%s',home_addr= '%s',home_phone= '%s',office_addr= '%s',office_phone= '%s',department= '%s',affiliation= '%s'",
     ufbl_fields,
     8,
-    "u.users_id = %d",
+    "users_id = %d",
     1,
     &ufbl_validate,
   },
@@ -2103,7 +3004,7 @@ struct query Queries2[] = {
     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",
+    "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,
     "u.users_id = %d",
@@ -2118,10 +3019,10 @@ struct query Queries2[] = {
     RETRIEVE,
     "u",
     USERS,
-    "%c = u.login, %c = u.potype, %c = text(u.pop_id) + \":\" + text(u.box_id)",
+    "CHAR(u.login), u.potype, CHAR(u.pop_id) + ':' + CHAR(u.box_id) FROM users u",
     gpox_fields,
     3,
-    "u.potype != \"NONE\"",
+    "u.potype != 'NONE'",
     0,
     &gpox_validate,
   },
@@ -2133,10 +3034,10 @@ struct query Queries2[] = {
     RETRIEVE,
     "u",
     USERS,
-    "%c = u.login, %c = u.potype, %c = text(u.pop_id) + \":\" + text(u.box_id)",
+    "CHAR(u.login), u.potype, CHAR(u.pop_id) + ':' + CHAR(u.box_id) FROM users u",
     gpox_fields,
     3,
-    "u.potype = \"POP\"",
+    "u.potype = 'POP'",
     0,
     &gpox_validate
   },
@@ -2148,10 +3049,10 @@ struct query Queries2[] = {
     RETRIEVE,
     "u",
     USERS,
-    "%c = u.login, %c = u.potype, %c = text(u.pop_id) + \":\" + text(u.box_id)",
+    "CHAR(u.login), u.potype, CHAR(u.pop_id) + ':' + CHAR(u.box_id) FROM users u",
     gpox_fields,
     3,
-    "u.potype = \"SMTP\"",
+    "u.potype = 'SMTP'",
     0,
     &gpox_validate
   },
@@ -2178,10 +3079,10 @@ struct query Queries2[] = {
     UPDATE,
     "u",
     USERS,
-    "potype = \"POP\"",
+    "users SET potype = 'POP'",
     spob_fields,
     0,
-    "u.users_id = %d",
+    "users_id = %d",
     1,
     &spop_validate,
   },
@@ -2193,10 +3094,10 @@ struct query Queries2[] = {
     UPDATE,
     "u",
     USERS,
-    "potype = \"NONE\"",
+    "users SET potype = 'NONE'",
     spob_fields,
     0,
-    "u.users_id = %d",
+    "users_id = %d",
     1,
     &dpob_validate,
   },
@@ -2208,57 +3109,177 @@ struct query Queries2[] = {
     RETRIEVE,
     "m",
     MACHINE,
-    "%c = m.name, %c = m.type, %c = m.modtime, %c = text(m.modby), %c =m.modwith",
+    "CHAR(m.name), m.vendor, CHAR(m.modtime), CHAR(m.modby), m.modwith FROM machine m",
     gmac_fields,
     5,
-    "m.name = uppercase(\"%s\") and m.mach_id != 0",
+    "m.name LIKE '%s' ESCAPE '*' AND m.mach_id != 0", 
     1,
-    &VDsortf,
+    &VDupwildsortf,
+  },
+
+  {
+    /* Q_GHST - GET_HOST */
+    "get_host",
+    "ghst",
+    RETRIEVE,
+    "m",
+    MACHINE,
+    "CHAR(m.name), m.vendor, m.model, m.os, m.location, m.contact, CHAR(m.use), CHAR(m.status), CHAR(m.statuschange), CHAR(s.name), m.address, m.owner_type, CHAR(m.owner_id), CHAR(m.acomment), CHAR(m.ocomment), CHAR(m.created), CHAR(m.creator), CHAR(m.inuse), CHAR(m.modtime), CHAR(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_AMAC - ADD_MACHINE */
-    "add_machine",
-    "amac",
+    /* Q_AHST - ADD_HOST */ /* uses prefetch_value() for mach_id */
+    "add_host",
+    "ahst",
     APPEND,
     "m",
     MACHINE,
-    "name = uppercase(%c), mach_id = values.value, type = %c",
-    amac_fields,
-    2,
-    "values.name = \"mach_id\"",
+    "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 (uppercase('%s'),uppercase('%s'),uppercase('%s'),uppercase('%s'),uppercase('%s'),'%s',%s,%s,date('now'),%d,'%s','%s',%d,%d,%d,date('now'),date('now'),%s,%s)",
+    ahst_fields,
+    14,
+    0,
     0,
-    &amac_validate,
+    &ahst_validate,
   },
 
   {
-    /* Q_UMAC - UPDATE_MACHINE */
-    "update_machine",
-    "umac",
+    /* Q_UHST - UPDATE_HOST */
+    "update_host",
+    "uhst",
     UPDATE,
     "m",
     MACHINE,
-    "name = uppercase(%c), type = %c",
-    umac_fields,
-    2,
-    "m.mach_id = %d",
+    "machine SET name=uppercase('%s'),vendor=uppercase('%s'),model=uppercase('%s'),os=uppercase('%s'),location=uppercase('%s'),contact='%s',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,
-    &umac_validate,
+    &uhst_validate,
   },
 
   {
-    /* Q_DMAC - DELETE_MACHINE */
-    "delete_machine",
-    "dmac",
+    /* Q_DHST - DELETE_HOST */
+    "delete_host",
+    "dhst",
     DELETE,
     "m",
     MACHINE,
     (char *)0,
-    dmac_fields,
+    dhst_fields,
+    0,
+    "mach_id = %d",
+    1,
+    &dhst_validate,
+  },
+
+  {
+    /* Q_GHAL - GET_HOSTALIAS */
+    "get_hostalias",
+    "ghal",
+    RETRIEVE,
+    "a",
+    "hostalias",
+    "CHAR(a.name), CHAR(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_AHAL - ADD_HOSTALIAS */
+    "add_hostalias",
+    "ahal",
+    APPEND,
+    "a",
+    "hostalias",
+    "INTO hostalias (name, mach_id) VALUES (uppercase('%s'),%d)",
+    ghal_fields,
+    2,
+    0,
+    0,
+    &ahal_validate,
+  },
+
+  {
+    /* Q_DHAL - DELETE_HOSTALIAS */
+    "delete_hostalias",
+    "dhal",
+    DELETE,
+    "a",
+    "hostalias",
+    (char *)0,
+    ghal_fields,
+    0,
+    "name = uppercase('%s') AND mach_id = %d",
+    2,
+    &dhal_validate,
+  },
+
+  {
+    /* Q_GSNT - GET_SUBNET */
+    "get_subnet",
+    "gsnt",
+    RETRIEVE,
+    "s",
+    SUBNET,
+    "CHAR(s.name), CHAR(s.description), CHAR(s.saddr), CHAR(s.mask), CHAR(s.low), CHAR(s.high), s.prefix, s.owner_type, CHAR(s.owner_id), CHAR(s.modtime), CHAR(s.modby), s.modwith FROM subnet s",
+    gsnt_fields,
+    12,
+    "s.name LIKE '%s' ESCAPE '*' and s.snet_id != 0",
+    1,
+    &gsnt_validate,
+  },
+
+  {
+    /* Q_ASNT - ADD_SUBNET */
+    "add_subnet",
+    "asnt",
+    APPEND,
+    "s",
+    SUBNET,
+    "INTO subnet (name, description, saddr, mask, low, high, prefix, owner_type, owner_id, snet_id) VALUES (uppercase('%s'), '%s', %s, %s, %s, %s, '%s', '%s', %d, %s)",
+    asnt_fields,
+    9,
+    0,
+    0,
+    &asnt_validate,
+  },
+
+  {
+    /* Q_USNT - UPDATE_SUBNET */
+    "update_subnet",
+    "usnt",
+    UPDATE,
+    "s",
+    SUBNET,
+    "subnet SET name=uppercase('%s'), description='%s', saddr=%s, mask=%s, low=%s, high=%s, prefix='%s', owner_type='%s', owner_id=%d",
+    usnt_fields,
+    9,
+    "snet_id = %d",
+    1,
+    &usnt_validate,
+  },
+
+  {
+    /* Q_DSNT - DELETE_SUBNET */
+    "delete_subnet",
+    "dsnt",
+    DELETE,
+    "s",
+    SUBNET,
+    (char *)0,
+    dsnt_fields,
     0,
-    "m.mach_id = %d",
+    "snet_id = %d",
     1,
-    &dmac_validate,
+    &dsnt_validate,
   },
 
   {
@@ -2268,25 +3289,25 @@ struct query Queries2[] = {
     RETRIEVE,
     "c",
     CLUSTER,
-    "%c = c.name, %c = c.desc, %c = c.location, %c = c.modtime, %c = text(c.modby), %c = c.modwith",
+    "CHAR(c.name), c.description, c.location, CHAR(c.modtime), CHAR(c.modby), c.modwith FROM cluster c",
     gclu_fields,
     6,
-    "c.name = \"%s\" and c.clu_id != 0",
+    "c.name LIKE '%s' ESCAPE '*' AND c.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",
+    "INTO cluster (name, description, location, clu_id) VALUES ('%s','%s','%s',%s)",
     aclu_fields,
     3,
-    "values.name = \"clu_id\"",
+    0,
     0,
     &aclu_validate,
   },
@@ -2298,10 +3319,10 @@ struct query Queries2[] = {
     UPDATE,
     "c",
     CLUSTER,
-    "name = %c, desc = %c, location = %c",
+    "cluster SET name = '%s', description = '%s', location = '%s'",
     uclu_fields,
     3,
-    "c.clu_id = %d",
+    "clu_id = %d",
     1,
     &uclu_validate,
   },
@@ -2316,34 +3337,34 @@ struct query Queries2[] = {
     (char *)0,
     dclu_fields,
     0,
-    "c.clu_id = %d",
+    "clu_id = %d",
     1,
     &dclu_validate,
   },
 
   {
-    /* Q_GMCM - GET_MACHINE_TO_CLUSTER_MAP */
+    /* Q_GMCM - GET_MACHINE_TO_CLUSTER_MAP */ 
     "get_machine_to_cluster_map",
     "gmcm",
     RETRIEVE,
-    "m",
+    "mcm",
     "mcmap",
-    "%c = machine.name, %c = cluster.name",
+    "CHAR(m.name), CHAR(c.name) FROM machine m, cluster c, mcmap mcm",
     gmcm_fields,
     2,
-    "machine.name = uppercase(\"%s\") and cluster.name = \"%s\" and m.clu_id = cluster.clu_id and m.mach_id = machine.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, 
   },
-
+                                           
   {
     /* Q_AMTC - ADD_MACHINE_TO_CLUSTER */
     "add_machine_to_cluster",
     "amtc",
     APPEND,
-    "m",
+    "mcm",
     "mcmap",
-    "mach_id = %i4, clu_id = %i4",
+    "INTO mcmap (mach_id, clu_id) VALUES (%d, %d)",
     gmcm_fields,
     2,
     0,
@@ -2356,12 +3377,12 @@ struct query Queries2[] = {
     "delete_machine_from_cluster",
     "dmfc",
     DELETE,
-    "m",
+    "mcm",
     "mcmap",
     0,
     gmcm_fields,
     0,
-    "m.mach_id = %d and m.clu_id = %d",
+    "mach_id = %d AND clu_id = %d",
     2,
     &amtc_validate,
   },
@@ -2371,14 +3392,14 @@ struct query Queries2[] = {
     "get_cluster_data",
     "gcld",
     RETRIEVE,
-    "s",
     "svc",
-    "%c = cluster.name, %c = s.serv_label, %c = s.serv_cluster",
+    "svc",
+    "CHAR(c.name), CHAR(svc.serv_label), svc.serv_cluster FROM svc svc, cluster c",
     gcld_fields,
     3,
-    "cluster.clu_id = s.clu_id and cluster.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,
   },
 
   {
@@ -2386,9 +3407,9 @@ struct query Queries2[] = {
     "add_cluster_data",
     "acld",
     APPEND,
-    "s",
     "svc",
-    "clu_id = %i4, serv_label = %c, serv_cluster = %c",
+    "svc",
+    "INTO svc (clu_id, serv_label, serv_cluster) VALUES (%d,'%s','%s')",
     acld_fields,
     3,
     (char *)0,
@@ -2401,14 +3422,14 @@ struct query Queries2[] = {
     "delete_cluster_data",
     "dcld",
     DELETE,
-    "s",
+    "svc",
     "svc",
     (char *)0,
     acld_fields,
     0,
-    "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,
-    &acld_validate,
+    &dcld_validate,
   },
 
   {
@@ -2418,10 +3439,10 @@ struct query Queries2[] = {
     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",
+    "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,
-    "s.name = uppercase(\"%s\")",
+    "s.name LIKE '%s' ESCAPE '*'",
     1,
     &gsin_validate,
   },
@@ -2448,7 +3469,7 @@ struct query Queries2[] = {
     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",
+    "INTO servers (name, update_int, target_file, script, type, enable, acl_type, acl_id) VALUES (uppercase('%s'),%s,'%s','%s','%s',%s,'%s',%d)",
     asin_fields,
     8,
     (char *)0,
@@ -2463,10 +3484,10 @@ struct query Queries2[] = {
     UPDATE,
     "s",
     "servers",
-    "update_int = int4(%c), target_file = %c, script = %c, type = %c, enable = int1(%c), acl_type = %c, acl_id = %i4",
+    "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 = uppercase('%s')",
     1,
     &asin_validate,
   },
@@ -2478,10 +3499,10 @@ struct query Queries2[] = {
     UPDATE,
     "s",
     "servers",
-    "harderror = 0, dfcheck = s.dfgen",
+    "servers SET harderror = 0, dfcheck = dfgen",
     dsin_fields,
     0,
-    "s.name = uppercase(\"%s\")",
+    "name = uppercase('%s')",
     1,
     &rsve_validate,
   },
@@ -2493,10 +3514,10 @@ struct query Queries2[] = {
     UPDATE,
     "s",
     "servers",
-    "dfgen = int4(%c), dfcheck = int4(%c), inprogress = int1(%c), harderror = int1(%c), errmsg = %c",
+    "servers SET dfgen = %s, dfcheck = %s, inprogress = %s, harderror = %s, errmsg = '%s'",
     ssif_fields,
     5,
-    "s.name = uppercase(\"%s\")",
+    "name = uppercase('%s')",
     1,
     &ssif_validate,
   },
@@ -2511,28 +3532,28 @@ struct query Queries2[] = {
     (char *)0,
     dsin_fields,
     0,
-    "s.name = uppercase(\"%s\")",
+    "name = uppercase('%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",
+    "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 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,
@@ -2553,7 +3574,7 @@ struct query Queries2[] = {
     APPEND,
     "sh",
     "serverhosts",
-    "service = uppercase(%c), mach_id = %i4, enable = int1(%c), value1 = int4(%c), value2 = int4(%c), value3 = %c",
+    "INTO serverhosts (service, mach_id, enable, value1, value2, value3) VALUES (uppercase('%s'), %d, %s, %s, %s, '%s')",
     ashi_fields,
     6,
     (char *)0,
@@ -2568,10 +3589,10 @@ struct query Queries2[] = {
     UPDATE,
     "sh",
     "serverhosts",
-    "enable = int1(%c), value1 = int4(%c), value2 = int4(%c), value3 = %c",
+    "serverhosts SET enable = %s, value1 = %s, value2 = %s, value3 = '%s'",
     ashi_fields,
     4,
-    "sh.service = uppercase(\"%s\") and sh.mach_id = %d",
+    "service = uppercase('%s') AND mach_id = %d",
     2,
     &ashi_validate,
   },
@@ -2583,10 +3604,10 @@ struct query Queries2[] = {
     UPDATE,
     "sh",
     "serverhosts",
-    "hosterror = 0",
+    "serverhosts SET hosterror = 0",
     dshi_fields,
     0,
-    "sh.service = uppercase(\"%s\") and sh.mach_id = %d",
+    "service = uppercase('%s') AND mach_id = %d",
     2,
     &rshe_validate,
   },
@@ -2598,10 +3619,10 @@ struct query Queries2[] = {
     UPDATE,
     "sh",
     "serverhosts",
-    "override = 1",
+    "serverhosts SET override = 1",
     dshi_fields,
     0,
-    "sh.service = uppercase(\"%s\") and sh.mach_id = %d",
+    "service = uppercase('%s') AND mach_id = %d",
     2,
     &ssho_validate,
   },
@@ -2613,10 +3634,10 @@ struct query Queries2[] = {
     UPDATE,
     "s",
     "serverhosts",
-    "override = int1(%c), success = int1(%c), inprogress = int1(%c), hosterror = int1(%c), hosterrmsg = %c, ltt = int4(%c), lts = int4(%c)",
+    "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,
   },
@@ -2631,22 +3652,22 @@ struct query Queries2[] = {
     (char *)0,
     dshi_fields,
     0,
-    "sh.service = uppercase(\"%s\") and sh.mach_id = %d",
+    "service = uppercase('%s') AND mach_id = %d",
     2,
     &dshi_validate,
   },
 
   {
-    /* Q_GSHA - GET_SERVER_HOST_ACCESS */
+    /* 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",
+    HOSTACCESS,
+    "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,
-    "machine.name = uppercase(\"%s\") and ha.mach_id = machine.mach_id",
+    "m.name LIKE '%s' ESCAPE '*' AND ha.mach_id = m.mach_id",
     1,
     &gsha_validate,
   },
@@ -2657,8 +3678,8 @@ struct query Queries2[] = {
     "asha",
     APPEND,
     "ha",
-    "hostaccess",
-    "mach_id = %i4, acl_type = %c, acl_id = %i4",
+    HOSTACCESS,
+    "INTO hostaccess (mach_id, acl_type, acl_id) VALUES (%d,'%s',%d)",
     asha_fields,
     3,
     0,
@@ -2672,11 +3693,11 @@ struct query Queries2[] = {
     "usha",
     UPDATE,
     "ha",
-    "hostaccess",
-    "acl_type = %c, acl_id = %i4",
+    HOSTACCESS,
+    "hostaccess SET acl_type = '%s', acl_id = %d",
     asha_fields,
     2,
-    "ha.mach_id = %d",
+    "mach_id = %d",
     1,
     &asha_validate,
   },
@@ -2687,101 +3708,116 @@ struct query Queries2[] = {
     "dsha",
     DELETE,
     "ha",
-    "hostaccess",
+    HOSTACCESS,
     0,
     asha_fields,
     0,
-    "ha.mach_id = %d",
+    "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",
+    "CHAR(sh.service), CHAR(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",
+    "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 = 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",
+    "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 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",
+    "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 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",
+    "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 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,
+    "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",
     "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",
+    "INTO filesys (label, type, mach_id, name, mount, access, comments, owner, owners, createflg, lockertype, filsys_id) VALUES ('%s','%s',%d,'%s','%s','%s','%s',%d,%d,%s,'%s',%s)",
     afil_fields,
     11,
-    "values.name = \"filsys_id\"",
+    0,
     0,
     &afil_validate,
   },
@@ -2793,12 +3829,12 @@ struct query Queries2[] = {
     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 SET label = '%s', type = '%s', mach_id = %d, name = '%s', mount = '%s', access = '%s', comments = '%s', owner = %d, owners = %d, createflg = %s, lockertype = '%s'",
     ufil_fields,
     11,
-    "fs.filsys_id = %d",
+    "filsys_id = %d",
     1,
-    &ufil_validate,
+    &ufil_validate,      
   },
 
   {
@@ -2811,22 +3847,22 @@ struct query Queries2[] = {
     (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",
+    "CHAR(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,
   },
@@ -2838,11 +3874,11 @@ struct query Queries2[] = {
     APPEND,
     "fg",
     "fsgroup",
-    "group_id = filesys.filsys_id, filsys_id = %i4, key = %c",
+    "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,
   },
 
@@ -2856,52 +3892,52 @@ struct query Queries2[] = {
     (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",
+    "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,
-    "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",
+    "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 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)",
+    "INTO nfsphys (mach_id, dir, device, status, allocated, partsize, nfsphys_id) VALUES (%d, '%s', '%s', %s, %s, %s, %s)",
     ganf_fields,
     6,
-    "values.name = \"nfsphys_id\"",
+    0,
     0,
     &anfp_validate,
   },
@@ -2913,12 +3949,12 @@ struct query Queries2[] = {
     UPDATE,
     "np",
     "nfsphys",
-    "device = %c, status = int4(%c), allocated = int4(%c), size = int4(%c)",
-    gnfp_fields,
+    "nfsphys SET device = '%s', 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,
   },
 
   {
@@ -2928,12 +3964,12 @@ struct query Queries2[] = {
     UPDATE,
     "np",
     "nfsphys",
-    "allocated = np.allocated + int4(%c)",
-    dnfp_fields,
+    "nfsphys SET allocated = allocated + %s",
+    ajnf_fields,
     1,
-    "np.mach_id = %d and np.dir = \"%s\"",
+    "mach_id = %d AND dir = '%s'",
     2,
-    &anfp_validate,
+    &unfp_validate,
   },
 
   {
@@ -2946,67 +3982,142 @@ struct query Queries2[] = {
     (char *)0,
     dnfp_fields,
     0,
-    "np.mach_id = %d and np.dir = \"%s\"",
+    "mach_id = %d AND dir = '%s'",
     2,
     &dnfp_validate,
   },
 
   {
-    /* Q_GNFQ - GET_NFS_QUOTAS */
+    /* Q_GQOT - GET_QUOTA */ 
+    "get_quota",
+    "gqot",
+    RETRIEVE,
+    "q",
+    QUOTA,
+    "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 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_GQBF - GET_QUOTA_BY_FILESYS */ 
+    "get_quota_by_filesys",
+    "gqbf",
+    RETRIEVE,
+    "q",
+    QUOTA,
+    "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 LIKE '%s' ESCAPE '*' AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id",
+    1,
+    &gqbf_validate,
+  },
+
+  {
+    /* Q_AQOT - ADD_QUOTA */ /* prefetch_filsys() gets last 1 value */
+    "add_quota",
+    "aqot",
+    APPEND,
+    0,
+    QUOTA,
+    "INTO quota (filsys_id, type, entity_id, quota, phys_id) VALUES ('%s', %d, %d, %s, %s)",
+    aqot_fields,
+    4,
+    (char *)0,
+    0,
+    &aqot_validate,
+  },
+
+  {
+    /* Q_UQOT - UPDATE_QUOTA */
+    "update_quota",
+    "uqot",
+    UPDATE,
+    0,
+    QUOTA,
+    "quota SET quota = %s",
+    aqot_fields,
+    1,
+    0,
+    3,
+    &uqot_validate,
+  },
+
+  {
+    /* Q_DQOT - DELETE_QUOTA */
+    "delete_quota",
+    "dqot",
+    DELETE,
+    0,
+    QUOTA,
+    (char *)0,
+    aqot_fields,
+    0,
+    0,
+    3,
+    &dqot_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",
+    "q",
+    QUOTA,
+    "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,
-    "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",
+    "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,
   },
 
   {
-    /* Q_GNQP - GET_NFS_QUOTAS_BY_PARTITION */
+    /* 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",
+    "q",
+    QUOTA,
+    "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,
-    "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",
+    "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 */
+    /* Q_ANFQ - ADD_NFS_QUOTA */ /* prefetch_filsys() gets last 1 value */
     "add_nfs_quota",
     "anfq",
     APPEND,
-    "nq",
-    "nfsquota",
-    "filsys_id = filesys.filsys_id, users_id = %i4, quota = int4(%c), phys_id = filesys.phys_id",
+    0,
+    QUOTA,
+    "INTO quota (type, filsys_id, entity_id, quota, phys_id ) VALUES ('USER', %d, %d, %s, %s)",
     anfq_fields,
-    2,
-    "filesys.filsys_id = %d",
-    1,
+    3,
+    (char *)0,
+    0,
     &anfq_validate,
   },
 
   {
-    /* Q_UNFQ - UPDATE_NFS_QUOTA */
+    /* Q_UNFQ - UPDATE_NFS_QUOTA */ 
     "update_nfs_quota",
     "unfq",
     UPDATE,
-    "nq",
-    "nfsquota",
-    "quota = int4(%c)",
+    0,
+    QUOTA,
+    "quota SET quota = %s",
     anfq_fields,
     1,
-    "nq.filsys_id = %d and nq.users_id = %d",
+    0,
     2,
     &unfq_validate,
   },
@@ -3016,12 +4127,12 @@ struct query Queries2[] = {
     "delete_nfs_quota",
     "dnfq",
     DELETE,
-    "nq",
-    "nfsquota",
+    0,
+    QUOTA,
     (char *)0,
     anfq_fields,
     0,
-    "nq.filsys_id = %d and nq.users_id = %d",
+    0,
     2,
     &dnfq_validate,
   },
@@ -3037,8 +4148,8 @@ struct query Queries2[] = {
     glin_fields,
     13,
     0,
-    1,
-    &glin_validate,
+    1,              
+    &glin_validate, 
   },
     
   {
@@ -3048,25 +4159,25 @@ struct query Queries2[] = {
     RETRIEVE,
     "l",
     LIST,
-    "%c = l.name",
+    "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,
   },
     
   {
-    /* Q_ALIS - ADD_LIST */
+    /* Q_ALIS - ADD_LIST */ /* uses prefetch_value() for list_id */
     "add_list",
     "alis",
     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",
+    LIST, 
+    "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,'%s',%s)",
     alis_fields,
     10,
-    "values.name = \"list_id\"",
+    0,
     0,
     &alis_validate,
   },
@@ -3078,10 +4189,10 @@ struct query Queries2[] = {
     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",
+    "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,
-    "l.list_id = %d",
+    "list_id = %d",
     1,
     &ulis_validate,
   },
@@ -3096,7 +4207,7 @@ struct query Queries2[] = {
     (char *)0,
     dlis_fields,
     0,
-    "l.list_id = %d",
+    "list_id = %d",
     1,
     &dlis_validate,
   },
@@ -3170,12 +4281,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",
@@ -3213,10 +4339,10 @@ struct query Queries2[] = {
     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",
+    "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,
-    "z.class = \"%s\"",
+    "z.class LIKE '%s' ESCAPE '*'",
     1,
     &gzcl_validate,
   },    
@@ -3228,7 +4354,7 @@ struct query Queries2[] = {
     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",
+    "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,
@@ -3243,10 +4369,10 @@ struct query Queries2[] = {
     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 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,
   },    
@@ -3261,24 +4387,24 @@ struct query Queries2[] = {
     0,
     uzcl_fields,
     0,
-    "z.class = \"%s\"",
+    "class = '%s'",
     1,
     &dzcl_validate,
   },    
-#ifdef notdef
+
   {
     /* Q_GSVC - GET_SERVICE */
     "get_service",
     "gsvc",
     RETRIEVE,
-    "s",
+    "ss",
     "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,
+    "CHAR(ss.name), ss.protocol, CHAR(ss.port), ss.description, CHAR(ss.modtime), CHAR(ss.modby), ss.modwith FROM services ss",
+    gsvc_fields,
     7,
-    (char *)0,
-    0,
-    &gsvc_validate,
+    "ss.name LIKE '%s' ESCAPE '*'",
+    1,
+    &VDwildsortf,
   },
 
   {
@@ -3286,10 +4412,10 @@ struct query Queries2[] = {
     "add_service",
     "asvc",
     APPEND,
-    "s",
+    "ss",
     "services",
-    "name = %c, protocol = %c, port = int2(%c), desc = %c",
-    gasv_fields,
+    "INTO services (name, protocol, port, description) VALUES ('%s','%s',%s,'%s')",
+    asvc_fields,
     4,
     (char *)0,
     0,
@@ -3301,44 +4427,74 @@ struct query Queries2[] = {
     "delete_service",
     "dsvc",
     DELETE,
-    "s",
+    "ss",
     "services",
     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,
+    "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,
+    "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,
+    "INTO printcap (name, mach_id, dir, rp, quotaserver, auth, price, comments) VALUES ('%s',%d,'%s','%s',%d,%s,%s,'%s')",
+    apce_fields,
+    8,
+    0,
+    0,
+    &apce_validate,
+  },
+
+  {
+    /* Q_DPCE - DELETE_PRINTCAP_ENTRY */
+    "delete_printcap_entry",
+    "dpce",
+    DELETE,
+    "pc",
+    PRINTCAP,
     0,
+    apce_fields,
     0,
-    &apcp_validate,
+    "name = '%s'",
+    1,
+    &dpce_validate,
+  },
+
+  {
+    /* Q_GPCP - GET_PRINTCAP */
+    "get_printcap",
+    "gpcp",
+    RETRIEVE,
+    "pc",
+    PRINTCAP,
+    "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,
+    "pc.name LIKE '%s' ESCAPE '*' AND m.mach_id = pc.mach_id",
+    1,
+    &VDwildsortf,
   },
 
   {
@@ -3346,14 +4502,14 @@ struct query Queries2[] = {
     "delete_printcap",
     "dpcp",
     DELETE,
-    "p",
-    "printcap",
+    "pc",
+    PRINTCAP,
     0,
-    apcp_fields,
+    apce_fields,
     0,
-    "p.name = \"%s\"",
+    "name = '%s'",
     1,
-    &dpcp_validate,
+    &dpce_validate,
   },
 
   {
@@ -3361,14 +4517,14 @@ struct query Queries2[] = {
     "get_palladium",
     "gpdm",
     RETRIEVE,
-    "p",
+    "pal",
     "palladium",
-    "%c = p.name, %c = text(p.ident), %c = machine.name, %c = p.modtime, %c = text(p.modby), %c = p.modwith",
+    "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 machine.mach_id = p.mach_id",
+    "pal.name LIKE '%s' ESCAPE '*' AND m.mach_id = pal.mach_id",
     1,
-    &VDsortf,
+    &VDwildsortf,
   },
 
   {
@@ -3376,9 +4532,9 @@ struct query Queries2[] = {
     "add_palladium",
     "apdm",
     APPEND,
-    "p",
+    "pal",
     "palladium",
-    "name = %c, ident = int4(%c), mach_id = %i4",
+    "INTO palladium (name, ident, mach_id) VALUES ('%s',%s,%d)",
     apdm_fields,
     3,
     0,
@@ -3391,12 +4547,12 @@ struct query Queries2[] = {
     "delete_palladium",
     "dpdm",
     DELETE,
-    "p",
+    "pal",
     "palladium",
     0,
     apdm_fields,
     0,
-    "p.name = \"%s\"",
+    "name = '%s'",
     1,
     &dpdm_validate,
   },
@@ -3407,13 +4563,13 @@ struct query Queries2[] = {
     "gali",
     RETRIEVE,
     "a",
-    "alias",
-    "%c = a.name, %c = a.type, %c = a.trans",
+    ALIAS,
+    "CHAR(a.name), CHAR(a.type), CHAR(a.trans) FROM alias a",
     gali_fields,
     3,
-    "a.name = \"%s\" and a.type = \"%s\" and a.trans = \"%s\"",
+    "a.name LIKE '%s' ESCAPE '*' AND a.type LIKE '%s' ESCAPE '*' AND a.trans LIKE '%s' ESCAPE '*'",
     3,
-    0,
+    &VDwild3sort1,
   },
 
   {
@@ -3422,8 +4578,8 @@ struct query Queries2[] = {
     "aali",
     APPEND,
     "a",
-    "alias",
-    "name = %c, type = %c, trans = %c",
+    ALIAS,
+    "INTO alias (name, type, trans) VALUES ('%s', '%s', '%s')",
     aali_fields,
     3,
     (char *)0,
@@ -3437,11 +4593,11 @@ struct query Queries2[] = {
     "dali",
     DELETE,
     "a",
-    "alias",
+    ALIAS,
     (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,
   },
@@ -3451,12 +4607,12 @@ struct query Queries2[] = {
     "get_value",
     "gval",
     RETRIEVE,
-    "v",
-    "values",
-    "%c = text(v.value)",
+    "val",
+    "numvalues",
+    "CHAR(val.value) FROM numvalues val",
     gval_fields,
     1,
-    "v.name = \"%s\"",
+    "val.name = '%s'",
     1,
     &gval_validate,
   },
@@ -3466,9 +4622,9 @@ struct query Queries2[] = {
     "add_value",
     "aval",
     APPEND,
-    "v",
-    "values",
-    "name = %c, value = int4(%c)",
+    "val",
+    "numvalues",
+    "INTO numvalues (name, value) VALUES ('%s', %s)",
     aval_fields,
     2,
     (char *)0,
@@ -3481,12 +4637,12 @@ struct query Queries2[] = {
     "update_value",
     "uval",
     UPDATE,
-    "v",
-    "values",
-    "value = int4(%c)",
+    "val",
+    "numvalues",
+    "numvalues SET value = %s",
     aval_fields,
     1,
-    "v.name = \"%s\"",
+    "name = '%s'",
     1,
     &aval_validate,
   },
@@ -3496,12 +4652,12 @@ struct query Queries2[] = {
     "delete_value",
     "dval",
     DELETE,
-    "v",
-    "values",
+    "val",
+    "numvalues",
     (char *)0,
     dval_fields,
     0,
-    "v.name = \"%s\"",
+    "name = '%s'",
     1,
     &aval_validate,
   },
@@ -3513,14 +4669,29 @@ struct query Queries2[] = {
     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",
+    "tbs.table_name, CHAR(tbs.appends), CHAR(tbs.updates), CHAR(tbs.deletes), CHAR(tbs.modtime) FROM tblstats tbs",
     gats_fields,
-    6,
+    5,
     (char *)0,
     0,
     0,
   },
 
+  {
+    /* Q__SDL - _SET_DEBUG_LEVEL */
+    "_set_debug_level",
+    "_sdl",
+    UPDATE,
+    (char *)0,
+    (char *)0,
+    (char *)0,
+    _sdl_fields,
+    1,
+    (char *)0,
+    0,
+    &_sdl_validate,
+  },
+
 };
 
 int QueryCount2 = (sizeof Queries2 / sizeof (struct query));
This page took 0.289457 seconds and 4 git commands to generate.