cql2pqf: refactor truncation handling and fix Z39.58 mode
authorAdam Dickmeiss <adam@indexdata.dk>
Tue, 30 Aug 2011 10:26:29 +0000 (12:26 +0200)
committerAdam Dickmeiss <adam@indexdata.dk>
Tue, 30 Aug 2011 10:26:29 +0000 (12:26 +0200)
Refactor the CQL to PQF term code in cqltransform.c. Characters that
don't need escaping aren't and characters that do need escaping are.
For example CQL query a#a? must be handled as a Z39.58 mode query
because the trailing ? (single-character mask in CQL). But since the
generated term includes #, it must be escaped and survive the PQF parse,
thus the result is "\\#a#" (was "a#a# before). Also the CQL term a*3 now
produces "a?\\3" rather than "a?3" . This is becauase a?n has special
meaning in Z39.58. Characters that do need escaping are the PQF specials
" and \\. Rest are preseved and \-sequence in CQL are otherwise removed.


No differences found