X-Git-Url: http://git.indexdata.com/?p=cql-java-moved-to-github.git;a=blobdiff_plain;f=Changes;h=f956a24e755279264aca01cf007687bca03d0cbb;hp=959e97cf58f9e96f6dd09c9930ad1613d30ec84e;hb=HEAD;hpb=5f89ad99843e3f184d48bf517351f98d0584966e diff --git a/Changes b/Changes index 959e97c..f956a24 100644 --- a/Changes +++ b/Changes @@ -1,32 +1,175 @@ -$Id: Changes,v 1.15 2002-11-19 17:23:26 mike Exp $ -Revision history for "cql-java" +Revision history for the CQL-Java package. See the bottom of this file for a list of things still to do. -0.4 (IN PROGRESS) +The work for releases 1.0, 1.2 and 1.2.1 was sponsored by the National +Library of Australia, whose help we gratefully acknowledge. + +1.12 Mon 17 Mar 2014 16:16:16 CET + - rewrite the CQL lexer to better conform to CQL spec + (e.g retain escapes for wildcards, etc) + - add jUnit test cases + - align list of terms (non-compliant) handling with Yaz CQL parser + +1.11 Tue 5 Mar 2013 13:38:18 CET + - Fix problem with parsing unquoted terms that begin with a '.' + - Fix problem with parsing unquoted terms that contain a '@' + - allow registration of custom relations + - optional flag to set strict-but-not-compliant mode that prohibits + unqouted keywords to be used as terms + +1.8 Fri Jul 22 18:02:41 CEST 2011 + - API changes: removed direct access to internal state and introduced + getters, removed usages of obsolete collections (Vector, Hashtable), + simplified method signatues (toXCQL), modified constants to be + read-only + - implemented faster XCQL serialization, using pure StringBuilder + +1.7 Tue Jul 27 17:35:25 BST 2010 + - Patch from Ralph LeVan to recognise + "qualifier.dc.creator"-like properties as well as + "index.dc.creator" -- backwards compatible with version + prior to 1.0 as well as those subsequent. + - Reinstate the "exact" relation even when v1.2 is in effect + (the default), despite its removal from v1.2 of CQL. In + practice, it seems to be in fairly widespread use, and + little real purpose is served in removing it. + +1.6 Thu Jun 17 10:56:24 BST 2010 + - Fix the bug where "9x" is lexed as two tokens, a TT_NUMBER + followed by a TT_WORD, making unquoted search-terms such as + 2010-06-17 syntax errors. Thanks to Erik Hetzner + for the patch. + +1.5 Tue May 25 16:44:35 CEST 2010 + - Fix recognition of word-relations to correctly match what is + specified in the CQL v1.1 and v1.2 documents. In + particular, "encloses" and "within" are recognised, so that + Masterkey's use of "encloses" for IP range authentication + works again. + - Update regression tests accordingly. + - Extend test/random/ to emit summary line of successful + recompilations. + +1.4 Thu May 20 00:38:40 BST 2010 + - Add support for interpreting sequences of non-keywords as a + single multi-word term rather than a broken INDEX RELATION + TERM triplet. This means that "oxford street" is a valid + query rather than a syntax error, and "tottenham court road" + is what it looks like rather than a search for the word + "court" related by the relation "court" to the index + "tottenham". Note that the word-formed relations "any", + "all", "exact" and (for CQL v1.2) "scr" are still treated + specially, as are profiled relations in context sets, of the + form .. + +1.3 Wed May 28 11:02:00 BST 2008 + - Add getSortIndexes() to CQLSortNode, as suggested by Marcel + Versteeg + +1.2.1 Mon Aug 6 16:54:54 BST 2007 + - Contructors for the CQLParser class are made public (as they + should have been all along). + +1.2 Tue Jul 3 17:53:28 BST 2007 + - Support for CQL version 1.2 as described at + http://www.loc.gov/standards/sru/next-version.html + The most significant part of the v1.2 change is support for + sorting, but as of this writing (29th June) the official SRU + maintenance agency web site at + http://www.loc.gov/standards/sru/index.html + does not include any specification for CQL sorting. + Therefore the original proposal at + http://zing.z3950.org/cql/sorting.html + is still considered canonical. + +1.0 Fri Jun 29 14:10:28 BST 2007 + - Support for version 1.1 as described at + http://www.loc.gov/standards/sru/specs/cql.html + Since this is a significant leap forward, the version + numbering increases to the next major version. + - "Qualifiers" renamed as "indexes" throughout, to match what + is now universal CQL terminology. + + PLEASE NOTE THE FOLLOWING INCOMPATIBLE API CHANGES + - The class UnknownQualifierException is replaced by + UnknownIndexException. + - The CQLTermNode method getQualifier() is replaced by + getIndex(). + +0.7 Thu Sep 4 22:51:11 2003 + - Support for profiled relations and relation modifiers: + recognise any non-key word as a relation or modifier, + rejecting those that are not of the form . + since these must be explicitly tied to a "context" (what + used to be called a qualifier-set or index-set). + +0.6 Tue Jul 29 23:33:56 2003 + - Include Ralph's fix for CQLTermNode::toType1BER() to prevent + it surrounding multi-word terms in quotes when encoded into + BER packet. + +0.5 Wed Feb 5 15:50:57 2003 + - Add an extra back-end method, + byte[] toType1BER(Properties config) + which generates an opaque BER-encoded PDU suitable for + forwarding to Z39.50 server as a pasrt of a searchRequest + APDU. This was contributed by Ralph Levan + - Add srw.resultSet support to the toPFQ() method. + - Add new resultSetName() method to CQLNode and its + subclasses, returning the name of the referenced result-set + for a node that is just a result-set reference, and null for + anything else. + - Change regression-test rules for Adam's compiler to use his + new front-end cql2xcql instead of the old cqlparse3. + - Change the names of the anchoring properties in + etc/pqf.properties and the CQLTermNode code that examines + them, in accordance with Adam's PQF-renderer's behaviour. + This gives more flexibility in terms of generating + attributes for end-of-field anchoring. Various other minor + tweaks to the pqf.properties file, mostly to the comments. + - Change the capitalisation of the project name from + "cql-java" to "CQL-Java". That doesn't really make any + difference to anything: in particular, file-names such as + "cql-java.jar" remain the same. + +0.4 Thu Nov 21 10:09:26 2002 - Add support for the new "phonetic" relation modifier, including its mapping in "etc/pqf.properties". - Make prefix-maps bind loosely, so that ``>dc=x a and b'' applies the dc=x binding to both the ``a'' and ``b'' sub-queries. + - Change the XCQL output to include the nasty (but official) + and wrapper elements. + - Change the XCQL output to use the nasty (but official) + rendition of prefix-mapping: a element, + containing one of more es may appear at the top + of either a or a . + - Include test/regression/xmlpp.pl in the distribution: this + may now be used for testing whether a CQL compiler produces + _equivalent_ XCQL to what's in the regression test, rather + than requiring byte-identical output. + - Include the reference XCQL output in the distribution, for + the regression test suite to run against. - Change build process so that javadoc documentation is built - by "make" in the "docs" directory. + by "make" in the "docs" directory. There's now a top-level + makefile that builds the source, runs the test suite and + creates the documentation. - Write javadoc comments for CQLRelation and ModifierSet. - Other improvements to javadoc comments (e.g. describe the `config' parameter to the toPQF() method.) - - Include test/regression/xmlpp.pl in the distribution: will - be used for testing whether a CQL compiler produces - _equivalent_ XCQL to the what's in the regression test, - rather than requiring byte-identical output. - Sort out the licence: I've settled on the LGPL. + - Remove the redundant and misleading etc/Grammar file. + - Fix up various Maintenance Agency web addresses that have + moved in the great ZING-release shake-up. 0.3 Fri Nov 15 12:04:04 2002 - Allow keywords to be used unquoted as search terms. - Add support for serverChoiceRelation (scr). - Add support for prefix-mapping, as in - >dc="http://dublincore.org/ dc.title=fish + >dc="http://www.loc.gov/zing/cql/dc-indexes/" dc.title=fish and - >"http://dublincore.org/ title=fish + >"http://www.loc.gov/zing/cql/dc-indexes/" dc.title=fish The XCQL generated corresponds to Adam's suggested format rather than Rob's, not so much because I prefer it (although I do) as because it's what fell out when I just Coded What @@ -76,25 +219,24 @@ See the bottom of this file for a list of things still to do. -- ### Still to do - - Fix the bug where "9x" is parsed as two tokens, a TT_NUMBER - followed by a TT_WORD. The problem here is that I don't - think it's actually possible to fix this without throwing - out StreamTokenizer and rolling our own, which we absolutely - _don't_ want to do. - - Find out what the ZNG group finally settled on as the - correct XCQL representation of prefix-mapping, and tweak my - toXCQL() output to match that. - - Add srw.resultSet support to the toPFQ() method. - - Write "overview" file for the javadoc documentation. + - Test-harness option to use Type1 BER back-end. + - Case-insensitive matching for serverChoice and any other + special-case qualifiers. (Are the configured qualifiers + matched case-insensitively? They should be.) + - Prefix-aware matching for serverChoice, so that + >x="http://www.loc.gov/zing/srw/dc-indexes/v1.0/" x.resultSet=foo + does the right thing. + - Extend test-suite for PQF and BER renderers. + - Additional test-suite entries for things like + case-sensitivity. + - Add a new configuration file that allows arbitrary new + relations and relation modifiers to be defined. + - Fix term-to-PQF translation to omit empty properties + (for the broken Korean server) + - Write "package.html" file for the javadoc documentation. - Some niceties for the cql-decompiling back-end: * Don't emit redundant parentheses. * Don't put spaces around relations that don't need them. - - Consider the utility of yet another back-end that translates - a CQLNode tree into JZKit's representation of a Type-1 query - tree. That would be nice so that CQL could become a JZKit - query-type; but you could achieve the same effect by - generating PQF, and running that through JZKit's existing - PQN-to-Type-1 compiler. - Many refinements to the random query generator: * Generate relation modifiers * Proximity support @@ -103,4 +245,6 @@ See the bottom of this file for a list of things still to do. * Better selection of terms (from a dictionary file?) * Introduce wildcard characters into generated terms * Generate multi-word terms + * Generate prefix-mappings +