extern FILE *journal;
int mr_verify_query(client *cl, struct query *q, int argc, char *argv_ro[]);
-int do_retrieve(struct query *q, char *pqual, char *psort,
- int (*action)(), char *actarg);
+int do_retrieve(struct query *q, char *pqual, int (*action)(), char *actarg);
int do_update(struct query *q, char *argv[], char *qual,
int (*action)(), char *actarg);
int do_append(struct query *q, char *argv[], char *pqual,
int (*action)(), char *actarg);
void build_sql_stmt(char *result_buf, char *cmd, char *targetlist,
char *argv[], char *qual);
-char *build_sort(struct validate *v, char *sort);
/* from qvalidate.dc */
int validate_fields(struct query *q, char *argv[], struct valobj *vo, int n);
register int status;
register struct validate *v;
char qual[256];
- char sort[32];
char *pqual;
- char *psort;
EXEC SQL BEGIN DECLARE SECTION;
char *table;
EXEC SQL END DECLARE SECTION;
pqual = 0;
}
- /* build "sort" clause if needed */
- if (v && v->valobj) {
- psort = build_sort(v, sort);
- } else {
- psort = 0;
- }
-
/* if there is a followup routine, then we must save the results */
/* of the first query for use by the followup routine */
/* if q->rvar = NULL, perform post_rtn only */
if (q->rvar) {
if (v && v->post_rtn) {
sq = sq_create();
- status = do_retrieve(q, pqual, psort, sq_save_args,
- (char *)sq);
+ status = do_retrieve(q, pqual, sq_save_args, (char *)sq);
if (status != MR_SUCCESS) {
sq_destroy(sq);
break;
status = (*v->post_rtn)(q, sq, v, action, actarg, cl);
} else {
/* normal retrieve */
- status = do_retrieve(q, pqual, psort, action, actarg);
+ status = do_retrieve(q, pqual, action, actarg);
}
if (status != MR_SUCCESS) break;
} else {
*res='\0';
}
-char *build_sort(v, sort)
- struct validate *v;
- char *sort;
-{
- register struct valobj *vo;
- register int n;
- char elem[16];
-
- n = v->objcnt;
- vo = v->valobj;
- *sort = 0;
-
- while (--n >= 0) {
- if (vo->type == V_SORT) {
- sprintf(elem, "%d", vo->index + 1); /* Result column number */
- if (*sort) strcat(sort, ", ");
- strcat(sort, elem);
- }
- vo++;
- }
-
- return ((*sort) ? sort : 0);
-}
-
-
/* Build arguement vector, verify query and arguments */
int privileged;
}
-int do_retrieve(q, pqual, psort, action, actarg)
+int do_retrieve(q, pqual, action, actarg)
struct query *q;
- char *pqual, *psort, *actarg;
+ char *pqual, *actarg;
int (*action)();
{
build_sql_stmt(stmt_buf,"SELECT",q->tlist,NULL,pqual);
- if(psort) {
+ if(q->sort) {
strcat(stmt_buf," ORDER BY ");
- strcat(stmt_buf,psort);
+ strcat(stmt_buf,q->sort);
}
return do_for_all_rows(stmt_buf, q->vcnt, action, (int)actarg);
* situations
*/
-static struct valobj VOsort0[] = {
- {V_SORT, 0},
-};
-
static struct valobj VOwild0[] = {
{V_WILD, 0},
};
{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[] = {
+static struct valobj VOwild01[] = {
{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 */
+static struct valobj VOwild012[] = {
{V_WILD, 0},
{V_WILD, 1},
{V_WILD, 2},
- {V_SORT, 0},
};
static struct validate VDmach = { VOmach0, 1 };
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,
+static struct validate VDwild2 = { VOwild01,2 };
+static struct validate VDwild3 = { VOwild012,3 };
+static struct validate VDfixmodby = {
+ 0
+ 0,
0,
0,
0,
followup_fix_modby,
};
-static struct validate VDwildsortf = {
- VOwild0sort,
- 2,
+static struct validate VDwildfixmodby = {
+ VOwild0,
+ 1,
0,
0,
0,
0,
followup_fix_modby,
};
-static struct validate VDsort0= { VOsort0, 1 };
-
-static struct validate VDupwildsortf = {
- VOupwild0sort,
- 2,
+static struct validate VDupwildfixmodby = {
+ VOupwild0,
+ 1,
0,
0,
0,
0,
followup_fix_modby,
};
+
/* Query data */
static char *galo_fields[] = {
static struct validate gubl_validate =
{
- VOwild0sort,
- 2,
+ VOwild0,
+ 1,
0,
0,
0,
static struct validate guan_validate =
{
- VOwild01sort01,
- 4,
+ VOwild01,
+ 2,
0,
0,
0,
static struct validate gubu_validate =
{
- VOsort0,
- 1,
+ 0,
+ 0,
0,
0,
0,
static struct validate gubn_validate =
{
- VOwild01sort0,
- 3,
+ VOwild01,
+ 2,
0,
0,
0,
{V_UPWILD, 1},
{V_UPWILD, 2},
{V_UPWILD, 3},
- {V_SORT, 0},
};
static struct validate ghst_validate = {
ghst_valobj,
- 5,
+ 4,
0,
0,
0,
static struct valobj ghal_valobj[] = {
{V_UPWILD, 0},
{V_UPWILD, 1},
- {V_SORT, 0},
};
static struct validate ghal_validate = {
ghal_valobj,
- 3,
+ 2,
0,
0,
0,
{V_RLOCK, 0, SUBNET_TABLE, 0, SNET_ID, MR_DEADLOCK},
{V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
{V_UPWILD, 0},
- {V_SORT, 0},
};
static struct validate gsnt_validate = {
gsnt_valobj,
- 5,
+ 4,
0,
0,
0,
{
{V_UPWILD, 0},
{V_WILD, 1},
- {V_SORT, 0},
- {V_SORT, 1},
};
-static struct validate gmcm_validate = { gmcm_valobj, 4 };
+static struct validate gmcm_validate = { gmcm_valobj, 2 };
static struct valobj amtc_valobj[] = /* ADD_MACHINE_TO_CLUSTER */
{ /* DELETE_MACHINE_FROM_CLUSTER */
{V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
{V_TYPE, 0, 0, "rmember", 0, MR_TYPE},
{V_TYPEDATA, 1, 0, 0, 0, MR_NO_MATCH},
- {V_SORT, 0},
};
static struct validate glom_validate = {
glom_valobj,
- 6,
+ 5,
0,
0,
0,
static struct valobj gfgm_valobj[] = {
{V_ID, 0, FILESYS_TABLE, LABEL, FILSYS_ID, MR_FILESYS},
- {V_SORT, 1},
- {V_SORT, 0},
};
static struct validate gfgm_validate = {
gfgm_valobj,
- 3,
+ 1,
0,
0,
0,
{V_WILD, 0},
{V_TYPE, 1, 0, QUOTA_TYPE, 0, MR_TYPE},
{V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
- {V_SORT, 0, 0, 0, 0, 0},
};
static struct validate gqot_validate = {
gqot_valobj,
- 9,
+ 8,
0,
0,
0,
};
static struct validate gqbf_validate = {
- VOwild0sort,
- 2,
+ VOwild0,
+ 1,
0,
0,
0,
};
static struct validate gnfq_validate = {
- VOwild0sort,
- 2,
+ VOwild0,
+ 1,
0,
0,
0,
{V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
{V_RLOCK, 0, ZEPHYR_TABLE, 0, ZEPH_ID, MR_DEADLOCK},
{V_WILD, 0},
- {V_SORT, 0},
};
static struct validate gzcl_validate = {
gzcl_valobj,
- 5,
+ 4,
0,
0,
0,
{V_RLOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
{V_RLOCK, 0, PRINTCAP_TABLE, 0, MACH_ID, MR_DEADLOCK},
{V_WILD, 0},
- {V_SORT, 0},
};
static struct validate gpce_validate = {
gpce_valobj,
- 5,
+ 4,
0,
0,
0,
6,
"u.users_id != 0",
0,
- &VDsort0,
+ "u.login",
+ 0,
},
{
6,
"u.status = 1",
0,
- &VDsort0,
+ "u.login",
+ 0,
},
{
15,
"u.login LIKE '%s' ESCAPE '*' AND u.users_id != 0 AND u.comments = str.string_id",
1,
+ "u.login",
&gubl_validate,
},
15,
"u.unix_uid = %s AND u.users_id != 0 AND u.comments = str.string_id",
1,
+ "u.login",
&gubu_validate,
},
15,
"u.first LIKE '%s' ESCAPE '*' AND u.last LIKE '%s' ESCAPE '*' AND u.users_id != 0 and u.comments = str.string_id",
2,
+ "u.last, u.first",
&guan_validate,
},
15,
"u.type = UPPER('%s') AND u.users_id != 0 AND u.comments = str.string_id",
1,
- &VDsortf,
+ "u.login",
+ &VDfixmodby,
},
{
15,
"u.clearid LIKE '%s' ESCAPE '*' AND u.users_id != 0 AND u.comments = str.string_id",
1,
- &VDwildsortf,
+ "u.login",
+ &VDwildfixmodby,
},
{
12,
"u.login LIKE '%s' ESCAPE '*' AND u.users_id != 0",
1,
+ "u.login",
&gubl_validate,
},
12,
"u.unix_uid = %s AND u.users_id != 0",
1,
+ "u.login",
&gubu_validate,
},
12,
"u.first LIKE '%s' ESCAPE '*' AND u.last LIKE '%s' ESCAPE '*' AND u.users_id != 0",
2,
+ "u.last, u.first",
&gubn_validate,
},
12,
"u.type = UPPER('%s') AND u.users_id != 0",
1,
- &VDsortf,
+ "u.login",
+ &VDfixmodby,
},
{
12,
"u.clearid LIKE '%s' ESCAPE '*' AND u.users_id != 0",
1,
- &VDwildsortf,
+ "u.login",
+ &VDwildfixmodby,
},
{
2,
"u.users_id = %d",
1,
+ 0,
&gudf_validate,
},
12,
(char *)0,
0,
+ 0,
&auac_validate,
},
9,
0,
0,
+ 0,
&ausr_validate,
},
3,
0,
0,
+ 0,
&rusr_validate,
},
12,
"users_id = %d",
1,
+ 0,
&uuac_validate,
},
9,
"users_id = %d",
1,
+ 0,
&uusr_validate,
},
1,
"users_id = %d",
1,
+ 0,
&uush_validate,
},
1,
"users_id = %d",
1,
+ 0,
&uust_validate,
},
1,
"users_id = %d",
1,
+ 0,
&uust_validate,
},
2,
"users_id = %d",
1,
+ 0,
&uudf_validate,
},
0,
"users_id = %d",
1,
+ 0,
&dusr_validate,
},
0,
"users_id = %d",
1,
+ 0,
&dubu_validate,
},
2,
"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,
- &VDwild2sort2,
+ "u.login",
+ &VDwild2,
},
{
2,
0,
0,
+ 0,
&akum_validate,
},
0,
"users_id = %d AND string_id = %d",
2,
+ 0,
&dkum_validate,
},
12,
"users_id = %d",
1,
+ 0,
&gfbl_validate,
},
8,
"users_id = %d",
1,
+ 0,
&ufbl_validate,
},
6,
"users_id = %d",
1,
+ 0,
&gpob_validate,
},
3,
"potype != 'NONE'",
0,
+ "u.login",
&gpox_validate,
},
3,
"potype = 'POP'",
0,
+ "u.login",
&gpox_validate
},
3,
"potype = 'SMTP'",
0,
+ "u.login",
&gpox_validate
},
3,
(char *)0,
0,
+ 0,
&spob_validate,
},
0,
"users_id = %d",
1,
+ 0,
&spop_validate,
},
0,
"users_id = %d",
1,
+ 0,
&dpob_validate,
},
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,
+ "m.name",
&ghst_validate,
},
14,
0,
0,
+ 0,
&ahst_validate,
},
14,
"mach_id = %d",
1,
+ 0,
&uhst_validate,
},
0,
"mach_id = %d",
1,
+ 0,
&dhst_validate,
},
5,
"name LIKE '%s' ESCAPE '*' AND mach_id != 0",
1,
- &VDupwildsortf,
+ "m.name",
+ &VDupwildfixmodby,
},
{
2,
"m.mach_id = a.mach_id and a.name LIKE '%s' ESCAPE '*' AND m.name LIKE '%s' ESCAPE '*'",
2,
+ "m.name, a.name",
&ghal_validate,
},
2,
0,
0,
+ 0,
&ahal_validate,
},
0,
"name = UPPER('%s') AND mach_id = %d",
2,
+ 0,
&dhal_validate,
},
12,
"name LIKE '%s' ESCAPE '*' and snet_id != 0",
1,
+ "name",
&gsnt_validate,
},
9,
0,
0,
+ 0,
&asnt_validate,
},
9,
"snet_id = %d",
1,
+ 0,
&usnt_validate,
},
0,
"snet_id = %d",
1,
+ 0,
&dsnt_validate,
},
6,
"name LIKE '%s' ESCAPE '*' AND clu_id != 0",
1,
- &VDwildsortf,
+ "name",
+ &VDwildfixmodby,
},
{
3,
0,
0,
+ 0,
&aclu_validate,
},
3,
"clu_id = %d",
1,
+ 0,
&uclu_validate,
},
0,
"clu_id = %d",
1,
+ 0,
&dclu_validate,
},
2,
"m.name LIKE '%s' ESCAPE '*' AND c.name LIKE '%s' ESCAPE '*' AND mcm.clu_id = c.clu_id AND mcm.mach_id = m.mach_id",
2,
+ "m.name, c.name",
&gmcm_validate,
},
2,
0,
0,
+ 0,
&amtc_validate,
},
0,
"mach_id = %d AND clu_id = %d",
2,
+ 0,
&amtc_validate,
},
3,
"c.clu_id = svc.clu_id AND c.name LIKE '%s' ESCAPE '*' AND svc.serv_label LIKE '%s' ESCAPE '*'",
2,
- &VDwild2sort2,
+ "c.name, svc.serv_label, svc.serv_cluster",
+ &VDwild2,
},
{
3,
(char *)0,
0,
+ 0,
&acld_validate,
},
0,
"clu_id = %d AND serv_label = '%s' AND serv_cluster = '%s'",
3,
+ 0,
&dcld_validate,
},
13,
0,
1,
+ 0,
&glin_validate,
},
1,
"name LIKE '%s' ESCAPE '*' AND list_id != 0",
1,
+ "name",
&VDwild0,
},
10,
0,
0,
+ 0,
&alis_validate,
},
10,
"list_id = %d",
1,
+ 0,
&ulis_validate,
},
0,
"list_id = %d",
1,
+ 0,
&dlis_validate,
},
3,
(char *)0,
0,
+ 0,
&amtl_validate,
},
0,
0,
3,
+ 0,
&dmfl_validate,
},
2,
0,
2,
+ 0,
&gaus_validate,
},
1,
0,
5,
+ 0,
&qgli_validate,
},
2,
(char *)0,
1,
+ 0,
&gmol_validate,
},
0,
(char *)0,
1,
+ 0,
&geml_validate,
},
6,
0,
2,
+ 0,
&glom_validate,
},
1,
0,
1,
+ 0,
&cmol_validate,
},
16,
"name LIKE '%s' ESCAPE '*'",
1,
+ "name",
&gsin_validate,
},
1,
0,
3,
+ 0,
&qgsv_validate,
},
8,
(char *)0,
0,
+ 0,
&asin_validate,
},
7,
"name = UPPER('%s')",
1,
+ 0,
&asin_validate,
},
0,
"name = UPPER('%s')",
1,
+ 0,
&rsve_validate,
},
5,
"name = UPPER('%s')",
1,
+ 0,
&ssif_validate,
},
0,
"name = UPPER('%s')",
1,
+ 0,
&dsin_validate,
},
16,
"sh.service LIKE '%s' ESCAPE '*' AND m.name LIKE '%s' ESCAPE '*' AND m.mach_id = sh.mach_id",
2,
+ 0,
&gshi_validate,
},
2,
0,
6,
+ 0,
&qgsh_validate,
},
6,
(char *)0,
0,
+ 0,
&ashi_validate,
},
4,
"service = UPPER('%s') AND mach_id = %d",
2,
+ 0,
&ashi_validate,
},
0,
"service = UPPER('%s') AND mach_id = %d",
2,
+ 0,
&rshe_validate,
},
0,
"service = UPPER('%s') AND mach_id = %d",
2,
+ 0,
&ssho_validate,
},
7,
"service = UPPER('%s') AND mach_id = %d",
2,
+ 0,
&sshi_validate,
},
0,
"service = UPPER('%s') AND mach_id = %d",
2,
+ 0,
&dshi_validate,
},
2,
"sh.service LIKE '%s' ESCAPE '*' AND sh.mach_id = m.mach_id",
1,
+ "sh.service, m.name",
&VDupwild0,
},
14,
"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,
- &VDwildsortf,
+ "fs.label",
+ &VDwildfixmodby,
},
{
14,
"fs.mach_id = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
1,
+ "fs.label",
&gfsm_validate,
},
14,
"fs.mach_id = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id AND np.nfsphys_id = fs.phys_id AND np.dir LIKE '%s' ESCAPE '*' AND fs.type = 'NFS'",
2,
+ "fs.label",
&gfsn_validate,
},
14,
"fs.owners = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
1,
+ "fs.label",
&gfsg_validate,
},
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,
+ "fs.label",
+ &VDwildfixmodby,
},
{
11,
0,
0,
+ 0,
&afil_validate,
},
11,
"filsys_id = %d",
1,
+ 0,
&ufil_validate,
},
0,
"filsys_id = %d",
1,
+ 0,
&dfil_validate,
},
2,
"fg.group_id = %d AND fs.filsys_id = fg.filsys_id",
1,
+ "fg.key, fs.label",
&gfgm_validate,
},
3,
(char *)0,
0,
+ 0,
&aftg_validate,
},
0,
"group_id = %d AND filsys_id = %d",
2,
+ 0,
&aftg_validate,
},
9,
"m.mach_id = np.mach_id",
0,
- &VDsortf,
+ "m.name, np.dir",
+ &VDfixmodby,
},
{
9,
"np.mach_id = %d AND np.dir LIKE '%s' ESCAPE '*' AND m.mach_id = np.mach_id",
2,
+ "m.name, np.dir",
&gnfp_validate,
},
6,
0,
0,
+ 0,
&anfp_validate,
},
4,
"mach_id = %d AND dir = '%s'",
2,
+ 0,
&unfp_validate,
},
1,
"mach_id = %d AND dir = '%s'",
2,
+ 0,
&unfp_validate,
},
0,
"mach_id = %d AND dir = '%s'",
2,
+ 0,
&dnfp_validate,
},
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,
+ "fs.label",
&gqot_validate,
},
9,
"fs.label LIKE '%s' ESCAPE '*' AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id",
1,
+ "fs.label, q.type",
&gqbf_validate,
},
4,
(char *)0,
0,
+ 0,
&aqot_validate,
},
1,
0,
3,
+ 0,
&uqot_validate,
},
0,
0,
3,
+ 0,
&dqot_validate,
},
8,
"fs.label LIKE '%s' ESCAPE '*' AND q.type = 'USER' AND q.entity_id = u.users_id AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id AND u.login = '%s'",
2,
+ "fs.label, u.login",
&gnfq_validate,
},
5,
"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,
+ "fs.label, np.dir, u.login",
&gnqp_validate,
},
3,
(char *)0,
0,
+ 0,
&anfq_validate,
},
1,
0,
2,
+ 0,
&unfq_validate,
},
0,
0,
2,
+ 0,
&dnfq_validate,
},
12,
"class LIKE '%s' ESCAPE '*'",
1,
+ "class",
&gzcl_validate,
},
9,
0,
0,
+ 0,
&azcl_validate,
},
9,
"class = '%s'",
1,
+ 0,
&uzcl_validate,
},
0,
"class = '%s'",
1,
+ 0,
&dzcl_validate,
},
6,
"m.name LIKE '%s' ESCAPE '*' AND ha.mach_id = m.mach_id",
1,
+ "m.name",
&gsha_validate,
},
3,
0,
0,
+ 0,
&asha_validate,
},
2,
"mach_id = %d",
1,
+ 0,
&asha_validate,
},
0,
"mach_id = %d",
1,
+ 0,
&VDmach,
},
7,
"name LIKE '%s' ESCAPE '*'",
1,
- &VDwildsortf,
+ "name, protocol",
+ &VDwildfixmodby,
},
{
4,
(char *)0,
0,
+ 0,
&asvc_validate,
},
0,
"name = '%s'",
1,
+ 0,
&asvc_validate,
},
11,
"pc.name LIKE '%s' ESCAPE '*' AND m.mach_id = pc.mach_id",
1,
+ "pc.name",
&gpce_validate,
},
8,
0,
0,
+ 0,
&apce_validate,
},
0,
"name = '%s'",
1,
+ 0,
&dpce_validate,
},
8,
"pc.name LIKE '%s' ESCAPE '*' AND m.mach_id = pc.mach_id",
1,
- &VDwildsortf,
+ "pc.name",
+ &VDwildfixmodby,
},
{
0,
"name = '%s'",
1,
+ 0,
&dpce_validate,
},
6,
"pal.name LIKE '%s' ESCAPE '*' AND m.mach_id = pal.mach_id",
1,
- &VDwildsortf,
+ "pal.name",
+ &VDwildfixmodby,
},
{
3,
0,
0,
+ 0,
&apdm_validate,
},
0,
"name = '%s'",
1,
+ 0,
&dpdm_validate,
},
3,
"name LIKE '%s' ESCAPE '*' AND type LIKE '%s' ESCAPE '*' AND trans LIKE '%s' ESCAPE '*'",
3,
- &VDwild3sort1,
+ "name, type, trans",
+ &VDwild3,
},
{
3,
(char *)0,
0,
+ 0,
&aali_validate,
},
0,
"name = '%s' AND type = '%s' AND trans = '%s'",
3,
+ 0,
&dali_validate,
},
1,
"name = '%s'",
1,
+ 0,
&gval_validate,
},
2,
(char *)0,
0,
+ 0,
&aval_validate,
},
1,
"name = '%s'",
1,
+ 0,
&aval_validate,
},
0,
"name = '%s'",
1,
+ 0,
&aval_validate,
},
5,
(char *)0,
0,
+ "table_name",
0,
},
1,
(char *)0,
0,
+ 0,
&_sdl_validate,
},