projects
/
yaz-moved-to-github.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
fcea26f
)
Remove HDCQL functionality
author
Adam Dickmeiss
<adam@indexdata.dk>
Tue, 5 Mar 2013 14:04:13 +0000
(15:04 +0100)
committer
Adam Dickmeiss
<adam@indexdata.dk>
Tue, 5 Mar 2013 14:04:13 +0000
(15:04 +0100)
17 files changed:
src/cql.y
patch
|
blob
|
history
src/cql2ccl.c
patch
|
blob
|
history
src/cqltransform.c
patch
|
blob
|
history
src/xcqlutil.c
patch
|
blob
|
history
test/cql/11.1.err
patch
|
blob
|
history
test/cql/11.1.out
patch
|
blob
|
history
test/cql/11.2.out
patch
|
blob
|
history
test/cql/11.3.err
patch
|
blob
|
history
test/cql/11.3.out
patch
|
blob
|
history
test/cql/11.4.out
patch
|
blob
|
history
test/cql/11.5.err
patch
|
blob
|
history
test/cql/11.5.out
patch
|
blob
|
history
test/cql/11.7.err
patch
|
blob
|
history
test/cql/11.7.out
patch
|
blob
|
history
test/cql2pqf/1.2.err
patch
|
blob
|
history
test/cql2pqf/1.2.out
patch
|
blob
|
history
test/test_cql2ccl.c
patch
|
blob
|
history
diff --git
a/src/cql.y
b/src/cql.y
index
ea828dc
..
67e2f76
100644
(file)
--- a/
src/cql.y
+++ b/
src/cql.y
@@
-56,7
+56,7
@@
%}
%pure_parser
%}
%pure_parser
-%token PREFIX_NAME SIMPLE_STRING AND OR NOT PROX GE LE NE EXACT SORTBY
+%token SIMPLE_STRING AND OR NOT PROX GE LE NE EXACT SORTBY
%%
%%
@@
-145,12
+145,12
@@
searchClause:
$$.cql = $3.cql;
}
|
$$.cql = $3.cql;
}
|
-searchTerm extraTerms {
+searchTerm {
struct cql_node *st = cql_node_dup(((CQL_parser) parm)->nmem, $0.rel);
struct cql_node *st = cql_node_dup(((CQL_parser) parm)->nmem, $0.rel);
- st->u.st.extra_terms = $2.cql;
st->u.st.term = nmem_strdup(((CQL_parser)parm)->nmem, $1.buf);
$$.cql = st;
}
st->u.st.term = nmem_strdup(((CQL_parser)parm)->nmem, $1.buf);
$$.cql = st;
}
+
|
index relation modifiers {
$$.rel = cql_node_mk_sc(((CQL_parser) parm)->nmem, $1.buf, $2.buf, 0);
|
index relation modifiers {
$$.rel = cql_node_mk_sc(((CQL_parser) parm)->nmem, $1.buf, $2.buf, 0);
@@
-161,18
+161,6
@@
searchTerm extraTerms {
}
;
}
;
-extraTerms:
-SIMPLE_STRING extraTerms {
- struct cql_node *st = cql_node_mk_sc(((CQL_parser) parm)->nmem,
- /* index */ 0, /* rel */ 0, $1.buf);
- st->u.st.extra_terms = $2.cql;
- $$.cql = st;
-}
-|
-{ $$.cql = 0; }
-;
-
-
/* unary NOT search SIMPLE_STRING here .. */
boolean:
/* unary NOT search SIMPLE_STRING here .. */
boolean:
@@
-201,7
+189,7
@@
modifiers '/' searchTerm relation_symbol searchTerm
}
;
}
;
-relation: PREFIX_NAME | relation_symbol;
+relation: SIMPLE_STRING | relation_symbol;
relation_symbol:
'='
relation_symbol:
'='
@@
-218,7
+206,6
@@
index:
searchTerm:
SIMPLE_STRING
searchTerm:
SIMPLE_STRING
-| PREFIX_NAME
| AND
| OR
| NOT
| AND
| OR
| NOT
@@
-338,11
+325,8
@@
int yylex(YYSTYPE *lval, void *vp)
}
else
{
}
else
{
- int relation_like = 0;
while (c != 0 && !strchr(" \n()=<>/", c))
{
while (c != 0 && !strchr(" \n()=<>/", c))
{
- if (c == '.')
- relation_like = 1;
if (c == '\\')
{
putb(lval, cp, c);
if (c == '\\')
{
putb(lval, cp, c);
@@
-384,18
+368,6
@@
int yylex(YYSTYPE *lval, void *vp)
lval->buf = "sortby";
return SORTBY;
}
lval->buf = "sortby";
return SORTBY;
}
- if (!cql_strcmp(lval->buf, "all"))
- relation_like = 1;
- if (!cql_strcmp(lval->buf, "any"))
- relation_like = 1;
- if (!cql_strcmp(lval->buf, "adj"))
- relation_like = 1;
- if (!cql_strcmp(lval->buf, "within"))
- relation_like = 1;
- if (!cql_strcmp(lval->buf, "encloses"))
- relation_like = 1;
- if (relation_like)
- return PREFIX_NAME;
}
return SIMPLE_STRING;
}
}
return SIMPLE_STRING;
}
diff --git
a/src/cql2ccl.c
b/src/cql2ccl.c
index
81e2c5f
..
331b6db
100644
(file)
--- a/
src/cql2ccl.c
+++ b/
src/cql2ccl.c
@@
-91,6
+91,7
@@
static int node(struct cql_node *cn,
const char *split_op = 0;
const char *ccl_rel = 0;
const char *rel = cn->u.st.relation;
const char *split_op = 0;
const char *ccl_rel = 0;
const char *rel = cn->u.st.relation;
+ const char *cp;
if (cn->u.st.index && strcmp(cn->u.st.index,
"cql.serverChoice"))
if (cn->u.st.index && strcmp(cn->u.st.index,
"cql.serverChoice"))
@@
-121,38
+122,26
@@
static int node(struct cql_node *cn,
/* unsupported relation */
return -1;
}
/* unsupported relation */
return -1;
}
- for (; cn; cn = cn->u.st.extra_terms)
+ cp = cn->u.st.term;
+ while (1)
{
{
- const char *cp = cn->u.st.term;
- while (1)
+ if (ccl_field && ccl_rel)
{
{
- if (ccl_field && ccl_rel)
- {
- pr(ccl_field, client_data);
- pr(ccl_rel, client_data);
- if (!split_op)
- ccl_rel = 0;
- }
- pr_term(&cp, split_op ? 1 : 0, pr, client_data);
- while (*cp == ' ')
- cp++;
- if (*cp == '\0')
- break;
- pr(" ", client_data);
- if (split_op)
- {
- pr(split_op, client_data);
- pr(" ", client_data);
- }
+ pr(ccl_field, client_data);
+ pr(ccl_rel, client_data);
+ if (!split_op)
+ ccl_rel = 0;
}
}
- if (cn->u.st.extra_terms)
+ pr_term(&cp, split_op ? 1 : 0, pr, client_data);
+ while (*cp == ' ')
+ cp++;
+ if (*cp == '\0')
+ break;
+ pr(" ", client_data);
+ if (split_op)
{
{
+ pr(split_op, client_data);
pr(" ", client_data);
pr(" ", client_data);
- if (split_op)
- {
- pr(split_op, client_data);
- pr(" ", client_data);
- }
}
}
return 0;
}
}
return 0;
diff --git
a/src/cqltransform.c
b/src/cqltransform.c
index
8253e50
..
90dcb37
100644
(file)
--- a/
src/cqltransform.c
+++ b/
src/cqltransform.c
@@
-762,29
+762,10
@@
static void emit_term(cql_transform_t ct,
static void emit_terms(cql_transform_t ct,
struct cql_node *cn,
void (*pr)(const char *buf, void *client_data),
static void emit_terms(cql_transform_t ct,
struct cql_node *cn,
void (*pr)(const char *buf, void *client_data),
- void *client_data,
- const char *op)
+ void *client_data)
{
{
- struct cql_node *ne = cn->u.st.extra_terms;
- if (ne)
- {
- (*pr)("@", client_data);
- (*pr)(op, client_data);
- (*pr)(" ", client_data);
- }
emit_term(ct, cn, cn->u.st.term, strlen(cn->u.st.term),
pr, client_data);
emit_term(ct, cn, cn->u.st.term, strlen(cn->u.st.term),
pr, client_data);
- for (; ne; ne = ne->u.st.extra_terms)
- {
- if (ne->u.st.extra_terms)
- {
- (*pr)("@", client_data);
- (*pr)(op, client_data);
- (*pr)(" ", client_data);
- }
- emit_term(ct, cn, ne->u.st.term, strlen(ne->u.st.term),
- pr, client_data);
- }
}
static void emit_wordlist(cql_transform_t ct,
}
static void emit_wordlist(cql_transform_t ct,
@@
-863,7
+844,7
@@
void cql_transform_r(cql_transform_t ct,
else if (cn->u.st.relation && !cql_strcmp(cn->u.st.relation, "any"))
emit_wordlist(ct, cn, pr, client_data, "or");
else
else if (cn->u.st.relation && !cql_strcmp(cn->u.st.relation, "any"))
emit_wordlist(ct, cn, pr, client_data, "or");
else
- emit_terms(ct, cn, pr, client_data, "and");
+ emit_terms(ct, cn, pr, client_data);
break;
case CQL_NODE_BOOL:
(*pr)("@", client_data);
break;
case CQL_NODE_BOOL:
(*pr)("@", client_data);
diff --git
a/src/xcqlutil.c
b/src/xcqlutil.c
index
fe75f0b
..
de6116c
100644
(file)
--- a/
src/xcqlutil.c
+++ b/
src/xcqlutil.c
@@
-188,16
+188,6
@@
static void cql_to_xml_r(struct cql_node *cn,
pr_cdata(cn->u.st.term, pr, client_data);
pr_n("</term>\n", pr, client_data, 0);
}
pr_cdata(cn->u.st.term, pr, client_data);
pr_n("</term>\n", pr, client_data, 0);
}
- if (cn->u.st.extra_terms)
- {
- struct cql_node *n = cn->u.st.extra_terms;
- for (; n; n = n->u.st.extra_terms)
- {
- pr_n("<term>", pr, client_data, level+2);
- pr_cdata(n->u.st.term, pr, client_data);
- pr_n("</term>\n", pr, client_data, 0);
- }
- }
cql_sort_to_xml(sort_node, pr, client_data, level+2);
pr_n("</searchClause>\n", pr, client_data, level);
break;
cql_sort_to_xml(sort_node, pr, client_data, level+2);
pr_n("</searchClause>\n", pr, client_data, level);
break;
diff --git
a/test/cql/11.1.err
b/test/cql/11.1.err
index
e69de29
..
f83d884
100644
(file)
--- a/
test/cql/11.1.err
+++ b/
test/cql/11.1.err
@@
-0,0
+1
@@
+Syntax error
diff --git
a/test/cql/11.1.out
b/test/cql/11.1.out
index
a8ff186
..
e69de29
100644
(file)
--- a/
test/cql/11.1.out
+++ b/
test/cql/11.1.out
@@
-1,8
+0,0
@@
-<searchClause>
- <index>cql.serverChoice</index>
- <relation>
- <value>=</value>
- </relation>
- <term>a</term>
- <term>b</term>
-</searchClause>
diff --git
a/test/cql/11.2.out
b/test/cql/11.2.out
index
aaa51fb
..
88c7cb3
100644
(file)
--- a/
test/cql/11.2.out
+++ b/
test/cql/11.2.out
@@
-1,9
+1,7
@@
<searchClause>
<searchClause>
- <index>cql.serverChoice</index>
+ <index>a</index>
<relation>
<relation>
- <value>=</value>
+ <value>b</value>
</relation>
</relation>
- <term>a</term>
- <term>b</term>
<term>c</term>
</searchClause>
<term>c</term>
</searchClause>
diff --git
a/test/cql/11.3.err
b/test/cql/11.3.err
index
e69de29
..
f83d884
100644
(file)
--- a/
test/cql/11.3.err
+++ b/
test/cql/11.3.err
@@
-0,0
+1
@@
+Syntax error
diff --git
a/test/cql/11.3.out
b/test/cql/11.3.out
index
3a66149
..
e69de29
100644
(file)
--- a/
test/cql/11.3.out
+++ b/
test/cql/11.3.out
@@
-1,8
+0,0
@@
-<searchClause>
- <index>cql.serverChoice</index>
- <relation>
- <value>=</value>
- </relation>
- <term>a.b</term>
- <term>c</term>
-</searchClause>
diff --git
a/test/cql/11.4.out
b/test/cql/11.4.out
index
ef54784
..
b5c4126
100644
(file)
--- a/
test/cql/11.4.out
+++ b/
test/cql/11.4.out
@@
-1,9
+1,7
@@
<searchClause>
<searchClause>
- <index>cql.serverChoice</index>
+ <index>and</index>
<relation>
<relation>
- <value>=</value>
+ <value>b</value>
</relation>
</relation>
- <term>and</term>
- <term>b</term>
<term>c</term>
</searchClause>
<term>c</term>
</searchClause>
diff --git
a/test/cql/11.5.err
b/test/cql/11.5.err
index
e69de29
..
f83d884
100644
(file)
--- a/
test/cql/11.5.err
+++ b/
test/cql/11.5.err
@@
-0,0
+1
@@
+Syntax error
diff --git
a/test/cql/11.5.out
b/test/cql/11.5.out
index
50f2571
..
e69de29
100644
(file)
--- a/
test/cql/11.5.out
+++ b/
test/cql/11.5.out
@@
-1,8
+0,0
@@
-<searchClause>
- <index>cql.serverChoice</index>
- <relation>
- <value>=</value>
- </relation>
- <term>all</term>
- <term>a</term>
-</searchClause>
diff --git
a/test/cql/11.7.err
b/test/cql/11.7.err
index
e69de29
..
f83d884
100644
(file)
--- a/
test/cql/11.7.err
+++ b/
test/cql/11.7.err
@@
-0,0
+1
@@
+Syntax error
diff --git
a/test/cql/11.7.out
b/test/cql/11.7.out
index
0d59eb1
..
e69de29
100644
(file)
--- a/
test/cql/11.7.out
+++ b/
test/cql/11.7.out
@@
-1,26
+0,0
@@
-<triple>
- <boolean>
- <value>and</value>
- </boolean>
- <leftOperand>
- <searchClause>
- <index>cql.serverChoice</index>
- <relation>
- <value>=</value>
- </relation>
- <term>dc.title</term>
- <term>a</term>
- <term>b</term>
- <term>c</term>
- </searchClause>
- </leftOperand>
- <rightOperand>
- <searchClause>
- <index>cql.serverChoice</index>
- <relation>
- <value>=</value>
- </relation>
- <term>d</term>
- </searchClause>
- </rightOperand>
-</triple>
diff --git
a/test/cql2pqf/1.2.err
b/test/cql2pqf/1.2.err
index
e69de29
..
f83d884
100644
(file)
--- a/
test/cql2pqf/1.2.err
+++ b/
test/cql2pqf/1.2.err
@@
-0,0
+1
@@
+Syntax error
diff --git
a/test/cql2pqf/1.2.out
b/test/cql2pqf/1.2.out
index
413ec53
..
c4d2fb1
100644
(file)
--- a/
test/cql2pqf/1.2.out
+++ b/
test/cql2pqf/1.2.out
@@
-1,2
+1
@@
Parsing CQL a b
Parsing CQL a b
-@attr 6=1 @attr 2=3 @attr 4=1 @and @attr 3=3 @attr 6=1 @attr 5=100 @attr 1=1016 "a" @attr 3=3 @attr 6=1 @attr 5=100 @attr 1=1016 "b"
diff --git
a/test/test_cql2ccl.c
b/test/test_cql2ccl.c
index
b52ad14
..
06a1c61
100644
(file)
--- a/
test/test_cql2ccl.c
+++ b/
test/test_cql2ccl.c
@@
-110,8
+110,7
@@
static void tst(void)
YAZ_CHECK(tst_query("\\*", "\"*\""));
YAZ_CHECK(tst_query("\"\\*\"", "\"*\""));
YAZ_CHECK(tst_query("\\*", "\"*\""));
YAZ_CHECK(tst_query("\"\\*\"", "\"*\""));
- YAZ_CHECK(tst_query("a b", "\"a\" \"b\""));
- YAZ_CHECK(tst_query("ab bc", "\"ab\" \"bc\""));
+ YAZ_CHECK(tst_query("\"a b\"", "\"a b\""));
YAZ_CHECK(tst_query("\\\\", "\"\\\\\""));
YAZ_CHECK(tst_query("\\\"", "\"\\\"\""));
YAZ_CHECK(tst_query("\\\\", "\"\\\\\""));
YAZ_CHECK(tst_query("\\\"", "\"\\\"\""));
@@
-131,17
+130,12
@@
static void tst(void)
YAZ_CHECK(tst_query("title all \"\"", "title=\"\""));
YAZ_CHECK(tst_query("title all x", "title=\"x\""));
YAZ_CHECK(tst_query("title all \"\"", "title=\"\""));
YAZ_CHECK(tst_query("title all x", "title=\"x\""));
- YAZ_CHECK(tst_query("title all x y", "title=\"x\" and title=\"y\""));
YAZ_CHECK(tst_query("title all \"x y\"", "title=\"x\" and title=\"y\""));
YAZ_CHECK(tst_query("title any x", "title=\"x\""));
YAZ_CHECK(tst_query("title all \"x y\"", "title=\"x\" and title=\"y\""));
YAZ_CHECK(tst_query("title any x", "title=\"x\""));
- YAZ_CHECK(tst_query("title any x y", "title=\"x\" or title=\"y\""));
YAZ_CHECK(tst_query("title any \"x y\"", "title=\"x\" or title=\"y\""));
YAZ_CHECK(tst_query("title = \"x y\"", "title=\"x y\""));
YAZ_CHECK(tst_query("title any \"x y\"", "title=\"x\" or title=\"y\""));
YAZ_CHECK(tst_query("title = \"x y\"", "title=\"x y\""));
- YAZ_CHECK(tst_query("title = x y", "title=\"x\" \"y\""));
-
- YAZ_CHECK(tst_query("title = x y z", "title=\"x\" \"y\" \"z\""));
YAZ_CHECK(tst_query("dc.title=encyclopedia prox dinosaurs",
"(dc.title=\"encyclopedia\") % (\"dinosaurs\")"));
YAZ_CHECK(tst_query("dc.title=encyclopedia prox dinosaurs",
"(dc.title=\"encyclopedia\") % (\"dinosaurs\")"));