31 int server_choice = 1;
52 return "cql.serverChoice";
130 if (strcmp(index,
"cql.serverChoice"))
135 if (!strcmp(relation,
"exact"))
137 else if (!strcmp(relation,
"eq"))
139 else if (!strcmp(relation,
"le"))
141 else if (!strcmp(relation,
"ge"))
151 if (strcmp(structure,
"*"))
179 void (*pr)(
const char *buf,
void *client_data),
193 const char *sterm = 0;
212 lterm = strlen(sterm);
219 if (trunc <= 3 || trunc == 100 || trunc == 102 || trunc == 104)
222 for (i = 0 ; i < lterm; i++)
223 if (strchr(
" ()=></", sterm[i]))
232 if (trunc == 2 || trunc == 3)
234 for (i = 0; i < lterm; i++)
236 if (sterm[i] ==
'\\' && i < lterm - 1)
239 if (strchr(
"*?\"\\", sterm[i]))
243 else if (trunc == 102 && sterm[i] ==
'.' && sterm[i+1] ==
'*')
248 else if (trunc == 102 && sterm[i] ==
'.')
250 else if (trunc == 104 && sterm[i] ==
'?')
252 else if (trunc == 104 && sterm[i] ==
'#')
254 else if (strchr(
"*?\"", sterm[i]))
262 if (trunc == 1 || trunc == 3)
281 void (*pr)(
const char *buf,
void *client_data),
295 pr(
"(", client_data);
303 pr(
" and ", client_data);
306 pr(
" or ", client_data);
309 pr(
" not ", client_data);
312 pr(
" prox", client_data);
317 char *op2name[6] = {
"<",
"<=",
"=",
">=",
">",
"<>" };
318 pr(
"/distance", client_data);
323 "unrecognised proximity relationType");
327 sprintf(buf,
"%ld", (
long) *prox->
distance);
328 pr(buf, client_data);
332 pr(
"/ordered", client_data);
334 pr(
"/unordered", client_data);
339 pr(
"/unit=", client_data);
342 pr(
" ", client_data);
348 pr(
")", client_data);
354 void (*pr)(
const char *buf,
void *client_data),