X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fdiagsrw.c;fp=src%2Fdiagsrw.c;h=105156003c3322839422e3155d1358cedcf573ce;hb=6a07d35e5125e4a07ffcc75cfbd63052790b4605;hp=0000000000000000000000000000000000000000;hpb=783a6ef05f341c0bb27bac3e78def89df7fc37df;p=yaz-moved-to-github.git diff --git a/src/diagsrw.c b/src/diagsrw.c new file mode 100644 index 0000000..1051560 --- /dev/null +++ b/src/diagsrw.c @@ -0,0 +1,129 @@ +/* + * Copyright (c) 2002-2004, Index Data. + * See the file LICENSE for details. + * + * $Id: diagsrw.c,v 1.1 2004-11-21 21:56:28 adam Exp $ + */ +/** + * \file diagsrw.c + * \brief SRW/SRU Diagnostic messages. + */ + +#include + +static struct { + int code; + const char *msg; +} yaz_srw_codes [] = { +{1, "Permanent system error"}, +{2, "System temporarily unavailable"}, +{3, "Authentication error"}, +{4, "Unsupported operation"}, +{5, "Unsupported version"}, +{6, "Unsupported parameter value"}, +{7, "Mandatory parameter not supplied"}, +{8, "Unsupported parameter"}, +/* Diagnostics Relating to CQL */ +{10, "Query syntax error"}, +{11, "Unsupported query type"}, +{12, "Too many characters in query"}, +{13, "Invalid or unsupported use of parentheses"}, +{14, "Invalid or unsupported use of quotes"}, +{15, "Unsupported context set"}, +{16, "Unsupported index"}, +{17, "Unsupported combination of index and context set"}, +{18, "Unsupported combination of indexes"}, +{19, "Unsupported relation"}, +{20, "Unsupported relation modifier"}, +{21, "Unsupported combination of relation modifers"}, +{22, "Unsupported combination of relation and index"}, +{23, "Too many characters in term"}, +{24, "Unsupported combination of relation and term"}, +{25, "Special characters not quoted in term"}, +{26, "Non special character escaped in term"}, +{27, "Empty term unsupported"}, +{28, "Masking character not supported"}, +{29, "Masked words too short"}, +{30, "Too many masking characters in term"}, +{31, "Anchoring character not supported"}, +{32, "Anchoring character in unsupported position"}, +{33, "Combination of proximity/adjacency and masking characters not supported"}, +{34, "Combination of proximity/adjacency and anchoring characters not supported"}, +{35, "Terms only exclusion stopwords"}, +{36, "Term in invalid format for index or relation"}, +{37, "Unsupported boolean operator"}, +{38, "Too many boolean operators in query"}, +{39, "Proximity not supported"}, +{40, "Unsupported proximity relation"}, +{41, "Unsupported proximity distance"}, +{42, "Unsupported proximity unit"}, +{43, "Unsupported proximity ordering"}, +{44, "Unsupported combination of proximity modifiers"}, +{45, "Prefix assigned to multiple identifiers"}, +{46, "Unsupported boolean modifier"}, +{47, "Cannot process query; reason unknown"}, +{48, "Query feature unsupported"}, +{49, "Masking character in unsupported position"}, +/* Diagnostics Relating to Result Sets */ +{50, "Result sets not supported"}, +{51, "Result set does not exist"}, +{52, "Result set temporarily unavailable"}, +{53, "Result sets only supported for retrieval"}, +{54, "Retrieval may only occur from an existing result set"}, +{55, "Combination of result sets with search terms not supported"}, +{56, "Only combination of single result set with search terms supported"}, +{57, "Result set created but no records available"}, +{58, "Result set created with unpredictable partial results available"}, +{59, "Result set created with valid partial results available"}, +{60, "Result set no created: too many records retrieved"}, +/* Diagnostics Relating to Records */ +{61, "First record position out of range"}, +{62, "Negative number of records requested"}, +{63, "System error in retrieving records"}, +{64, "Record temporarily unavailable"}, +{65, "Record does not exist"}, +{66, "Unknown schema for retrieval"}, +{67, "Record not available in this schema"}, +{68, "Not authorised to send record"}, +{69, "Not authorised to send record in this schema"}, +{70, "Record too large to send"}, +{71, "Unsupported record packing"}, +{72, "XPath retrieval unsupported"}, +{73, "XPath expression contains unsupported feature"}, +{74, "Unable to evaluate XPath expression"}, +/* Diagnostics Relating to Sorting */ +{80, "Sort not supported"}, +{81, "Unsupported sort type"}, +{82, "Unsupported sort sequence"}, +{83, "Too many records to sort"}, +{84, "Too many sort keys to sort"}, +{85, "Duplicate sort keys"}, +{86, "Cannot sort: incompatible record formats"}, +{87, "Unsupported schema for sort"}, +{88, "Unsupported path for sort"}, +{89, "Path unsupported for schema"}, +{90, "Unsupported direction value"}, +{91, "Unsupported case value"}, +{92, "Unsupported missing value action"}, +/* Diagnostics Relating to Explain */ +{100, "Explain not supported"}, +{101, "Explain request type not supported (SOAP vs GET)"}, +{102, "Explain record temporarily unavailable"}, +/* Diagnostics Relating to Stylesheets */ +{110, "Stylesheets not supported"}, +{111, "Unsupported stylesheet"}, +/* Diagnostics relating to Scan */ +{120, "Response position out of range"}, +{121, "Too many terms requested"}, +{0, 0} +}; + +const char *yaz_diag_srw_str (int code) +{ + int i; + for (i = 0; yaz_srw_codes[i].code; i++) + if (yaz_srw_codes[i].code == code) + return yaz_srw_codes[i].msg; + return 0; +} +