Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

3235 lines (2548 sloc) 126.765 kb
2007-12-28 Dave Beckett <dave@dajobe.org>
* utils/srxread.c: init fh
* utils/srxread.c: init before arg check
* utils/srxread.c: Pass variable_names ownership
* utils/srxread.c: use memset properly
* src/rasqal_query.c: (rasqal_query_execute): Initialise
variable_names using rasqal_query_results_set_variables.
* src/rasqal_engine.c: (rasqal_engine_query_result_row_print):
Renamed to public rasqal_query_result_row_print.
* src/rasqal_query_results.c: (rasqal_free_query_results): Free
variable_names
(rasqal_query_results_set_variables): set variable_names.
(rasqal_query_result_row_print): Added - renamed from
rasqal_engine_query_result_row_print.
* src/rasqal_internal.h: struct rasqal_query_results_s gains field
variable_names.
Added rasqal_query_result_row_print prototype
* utils/Makefile.am: Remove srxread_CPPFLAGS
* utils/srxread.c: Use 1.4.17 raptor API
* configure.ac: Require raptor 1.4.17 for SAX2 API
* configure.ac, RELEASE.html, NEWS.html, src/win32_rasqal_config.h:
Bump version to 0.9.16
Update libtool version to 1:0:0
2007-12-09 Dave Beckett <dave@dajobe.org>
* utils/Makefile.am, utils/srxread.c: Added test SPARQL XML
results reader. Incomplete
* src/rasqal_engine.c, src/rasqal_internal.h, src/rasqal_query.c,
src/rasqal_query_results.c,
utils/Makefile.am: (rasqal_new_query_result_row,
rasqal_new_query_result_row_from_query_result_row,
rasqal_free_query_result_row): Added based on previously
engine-specific rasqal_engine_new_query_result_row,
rasqal_engine_new_query_result_row_from_query_result_row and
rasqal_engine_free_query_result_row.
(rasqal_new_query_result_row): No longer does the
rasqal_engine_query_result_row_update work, so that has to be
called externally.
(rasqal_engine_excute_next_lazy): Call
rasqal_engine_query_result_row_update after
rasqal_new_query_result_row.
(rasqal_query_results_set_variables,
(rasqal_query_results_set_order_conditions): Added.
(rasqal_query_execute): Call rasqal_query_results_set_variables
and rasqal_query_results_set_order_conditions.
* src/rasqal_engine.c: Switch to non-lazy execution
* src/rasqal_engine.c: Add RASQAL_ENGINE_EVAL_LAZY macro to
enable/disable lazy evaluation. Existing code and default is
enabled.
(rasqal_engine_check_limit_offset): Limit to 1 result when query
is an ASK.
(rasqal_engine_new_query_result_row): Allow non-bindings,
non-graph queries to enter here, when doing ASK for example.
(rasqal_engine_execute_and_save): Allow map to be optional if
need_map is not true.
(rasqal_engine_execute_run): Use RASQAL_ENGINE_EVAL_LAZY to call
lazy or save version of execution.
2007-11-29 Lauri Aalto <laalto@iki.fi>
* src/rasqal.h: Guard against double declaration of
rasqal_query_results_formatter.
2007-11-26 Dave Beckett <dave@dajobe.org>
* autogen.sh: Update to handle OSX glibtoolize and optional ltdl
2007-11-19 Lauri Aalto <laalto@iki.fi>
* src/rasqal_expr.c: (rasqal_expression_evaluate) Fix memory leak
in RASQAL_EXPR_LANG.
* tests/sparql/ExprBuiltins/Makefile.am,
tests/sparql/ExprEquals/Makefile.am: Revert r13225 - make check to
pass with svn HEAD raptor
* src/rasqal_query.c, src/rasqal_result_formats.c: Reapply r13173
reverted in r13199 - compile cleanly against svn HEAD raptor.
2007-11-17 Dave Beckett <dave@dajobe.org>
* Snapshotted rasqal_0_9_15 for 0.9.15 release (SVN 13232)
* tests/sparql/ExprBuiltins/Makefile.am,
tests/sparql/ExprEquals/Makefile.am: Revert test results to match
builing with raptor 1.4.16
* src/rasqal_literal.c: (rasqal_new_decimal_literal): Fix after
doc change
* docs/rasqal-sections.txt, docs/tmpl/section-unused.sgml: docs
* docs/tmpl/section-literal.sgml, docs/tmpl/section-unused.sgml,
docs/tmpl/section-xsd.sgml: docs
* src/rasqal_datetime.c: docs
* src/rasqal_literal.c: docs
* docs/rasqal-sections.txt: update new functions
2007-11-15 Dave Beckett <dave@dajobe.org>
* src/rasqal.h, src/rasqal_literal.c, src/sparql_lexer.l: Restore
rasqal_new_decimal_literal back to APi signature from 0.9.14. Add
rasqal_new_decimal_literal_from_decimal to build from a
rasqal_xsd_decimal
2007-11-15 Lauri Aalto <laalto@iki.fi>
* src/rasqal_expr.c: (rasqal_expression_as_boolean,
rasqal_expression_as_integer, rasqal_expression_compare) Removed
unused functions - eliminates compiler warnings.
2007-11-14 Dave Beckett <dave@dajobe.org>
* src/rasqal_query.c, src/rasqal_result_formats.c: Revert r13173
for compiling against raptor 1.4.16 (or earlier)
raptor_uri_handler
2007-11-14 Lauri Aalto <laalto@iki.fi>
* src/rasqal_datetime.c: Fix copyright notice - it's all this
year. Add contributions notice.
Move tests to main().
2007-11-13 Lauri Aalto <laalto@iki.fi>
* src/rasqal_raptor.c: indent tabs -> spaces
2007-11-13 Dave Beckett <dave@dajobe.org>
* configure.ac: Require raptor 1.4.16 for uri compare factory method
* src/rasqal_literal.c: (rasqal_literal_ebv): Handle decimal zero
* src/rasqal.h: Added rasqal_xsd_decimal_is_zero prototype
* src/rasqal_decimal.c: (rasqal_xsd_decimal_is_zero): Added.
(rasqal_xsd_decimal_divide): Use rasqal_xsd_decimal_is_zero.
* src/Makefile.am, src/rasqal_datetime.c (from
/rasqal/trunk/src/rasqal_xsd_datatypes.c:13190),
src/rasqal_internal.h, src/rasqal_xsd_datatypes.c: Added
rasqal_datetime.c for XSD dateTime code. Added
rasqal_xsd_datetime_check() internal function for checking
* tests/laqrs/syntax/Makefile.am, tests/laqrs/syntax/insert.rq:
Added insert.rq
* docs/tmpl/section-expression.sgml,
docs/tmpl/section-literal.sgml, docs/tmpl/section-unused.sgml:
docs updates
* tests/sparql/examples/Makefile.am:
sparql-query-example-Testing-Values-0 now passes
* src/rasqal_raptor.c: (rasqal_raptor_bind_match): Use
rasqal_literal_equals_flags with RASQAL_COMPARE_RDF to compare for
equality. Also, this may be cheaper than using
rsaqal_literal_compare.
* src/rdql_parser.y: Set RDQL default compare_flags to
RASQAL_COMPARE_URI
* src/sparql_parser.y: add missing ;
2007-11-12 Dave Beckett <dave@dajobe.org>
* src/rasqal_engine.c:
(rasqal_query_result_literal_sequence_compare): Call
rasqal_literal_compare with RASQAL_COMPARE_URI
* src/rasqal_literal.c: (rasqal_literal_compare): Use
RASQAL_COMPARE_URI to allow comparison of URIs. It's not allowed
via the < operator but is ok when using literal with SPARQL ORDER
BY
* src/rasqal.h: rasqal_compare_flags add RASQAL_COMPARE_URI
* tests/sparql/check-sparql: Invoke roqet correctly with named graphs
* Last known good revision 13179: 'make check' succeeds.
* src/rasqal_literal.c: (rasqal_literal_equals_flags): For XQUERY
style, try RDF term equality if numeric promotion fails.
Add debug messages
2007-11-12 Lauri Aalto <laalto@iki.fi>
* src/rasqal_internal.h, src/rasqal_xsd_datatypes.c: Pulled
rasqal_xsd_datatype_info from rasqal_xsd_datatypes.c to
rasqal_internal.h
* src/rasqal_query.c, src/rasqal_result_formats.c: Make
raptor_uri_handlers const.
2007-11-11 Dave Beckett <dave@dajobe.org>
* src/rasqal_expr.c: (rasqal_expression_evaluate): Revert:
RASQAL_EXPR_NEQ return type errors again.
* src/rasqal_internal.h: Update rasqal_literal_string_to_native
prototype
* src/rasqal_literal.c: (rasqal_literal_string_to_native): Add
flags arg to use to pass on to rasqal_xsd_datatype_check.
(rasqal_new_string_literal): Call rasqal_literal_string_to_native
with flags=1 so that a literal with a bad lexical form is kept but
never converted to native type.
(rasqal_literal_expand_qname): Call
rasqal_literal_string_to_native with flags=0 for original check.
* src/rasqal_expr.c: (rasqal_expression_evaluate): RASQAL_EXPR_NEQ
type errors are not equal.
2007-11-07 Lauri Aalto <laalto@iki.fi>
* src/rasqal_general.c: (rasqal_uri_init) Check for oom.
(rasqal_uri_finish) Do not leave dangling pointers.
2007-11-06 Lauri Aalto <laalto@iki.fi>
* src/rasqal_feature.c: fix eol style
* src/rasqal.h: Allow RASQAL_API to be externally defined e.g. in
a static config.h. Remove __SYMBIAN32__ case.
* src/rasqal_internal.h: Allow flagging out writable static data
in RASQAL_DEPRECATED macros with NO_STATIC_DATA.
* src/rasqal_expr.c, src/rasqal_feature.c,
src/rasqal_graph_pattern.c, src/rasqal_literal.c,
src/rasqal_query.c, src/rasqal_xsd_datatypes.c: Remove writable
static data. Make const arrays const.
2007-10-31 Lauri Aalto <laalto@iki.fi>
* src/rasqal_expr.c: (rasqal_expression_evaluate) Avoid
division-by-zero exceptions in RASQAL_EXPR_REM.
* src/rasqal_expr.c: (rasqal_expression_evaluate) Ensure NULL
result and no leaks on error.
* src/rasqal_expr.c: (rasqal_expression_evaluate) Do not leak
literal args in DATATYPE expressions.
2007-10-30 Lauri Aalto <laalto@iki.fi>
* src/rasqal_graph_pattern.c, src/rasqal_query.c: Move
rasqal_graph_pattern_* functions from rasqal_query.c to
rasqal_graph_pattern.c
* src/rdql_lexer.l: Lowmem leak fixes. Merged experimental lexer
leak prevention code from sparql_lexer r12922.
Flagged with LEXER_ALLOC_TRACKING, disabled by default.
2007-10-29 Dave Beckett <dave@dajobe.org>
* tests/sparql/ExprEquals/Makefile.am: "Equality - 2 var - test
equals" now passes
* tests/sparql/ExprBuiltins/Makefile.am: str-2 now passes
* src/rasqal_literal.c: (rasqal_literal_get_rdf_term_type): Not
static and use parent type to handle XSD numeric sub-types.
* src/rasqal_internal.h: Add rasqal_literal_get_rdf_term_type
* src/rasqal_expr.c: (rasqal_expression_evaluate):
RASQAL_EXPR_LANG and RASQAL_EXPR_DATATYPE: Handle only for RDF
Term literals including INTEGER etc using
rasqal_literal_get_rdf_term_type() RASQAL_EXPR_ISLITERAL: Use
rasqal_literal_get_rdf_term_type() to check for
literal type.
2007-10-29 Lauri Aalto <laalto@iki.fi>
* src/rasqal_literal.c: (rasqal_literal_set_typed_value) Don't
need to copy literal string if no new string passed in.
* src/rasqal_literal.c: (rasqal_new_typed_literal) Ensure type is
set before calling rasqal_free_literal().
(rasqal_literal_set_typed_value) Do not free strings that are not
owned.
* src/rasqal_literal.c: (rasqal_literal_set_typed_value) Do not
leak string
* src/rasqal_literal.c: (rasqal_new_decimal_literal) Return NULL
if rasqal_xsd_datatype_type_to_uri() fails.
* src/rasqal_literal.c: (rasqal_literal_set_typed_value) Fix
leaking datatype uris
* src/rasqal_literal.c: (rasqal_new_decimal_literal) Make a copy
of datatype uri.
* src/rasqal_literal.c: (rasqal_new_typed_literal) Do not return
stale pointers.
2007-10-28 Dave Beckett <dave@dajobe.org>
* tests/rdql/testsuite/check-rdql: Remove xsd:string mutation
* src/rasqal_literal.c: (rasqal_literal_string_to_native): Remove
removal of xsd:string datatype.
(rasqal_literal_string_equals): Make "xx" and "xx"^^xsd:string
compare equal here.
* tests/sparql/ExprEquals/Makefile.am: "Equality 1-1 -- graph" and
"Equality 1-2 -- graph" now fail
* tests/sparql/ValueTesting/Makefile.am: extendedType-ne-fail
extendedType-literal-ne now pass
* src/rasqal_literal.c: (rasqal_literal_string_to_native): Turn
"xx"^^xsd:string into "xx"
(rasqal_literal_string_equals): Added, pulled out of
rasqal_literal_equals_flags.
(rasqal_literal_equals_flags): Update SPARQL checks - do
promotions only for sparql. Give type error if have incompatible
types. Mov RASQAL_LITERAL_PATTERN and RASQAL_LITERAL_QNAME into
error case; these should never be compared.
* src/rasqal_expr.c: (rasqal_expression_evaluate): Use
rasqal_literal_equals_flags for RASQAL_EXPR_EQ and
RASQAL_EXPR_NEQ. Implement RASQAL_EXPR_SAMETERM with
rasqal_literal_equals_flags too.
* src/rdql_lexer.l: Double constant preserves the string using
rasqal_new_typed_literal
* tests/rdql/testsuite/check-rdql: (toDebug): Turn
"xx"^^xsd:string into "xx" Unidiffs
* tests/rdql/testsuite/Makefile.am: Failing tests now 1-09 B-17
* src/rasqal_raptor.c: (rasqal_raptor_triple_match): Match RDF
terms with rasqal_literal_equals_flags and RASQAL_COMPARE_RDF.
2007-10-28 Lauri Aalto <laalto@iki.fi>
* src/rasqal_expr.c: (rasqal_expression_evaluate) double var no
longer needed after unary minus changes in r13091
2007-10-28 Dave Beckett <dave@dajobe.org>
* src/rasqal_engine.c: (rasqal_query_result_literal_sequence_compare):
Revert: use query compare flags since that is based on the 'A < B'
operator which is value comparison.
* src/rasqal_engine.c: (rasqal_query_result_literal_sequence_compare):
Compare as RDF Terms always.
(rasqal_query_result_literal_sequence_equals): Equality as RDF
Terms always.
* src/rasqal_literal.c: (rasqal_literal_get_rdf_term_type): Added.
(rasqal_literal_compare): Do not always promote - saves copying
objects. Add RASQAL_COMPARE_RDF to compare as RDF terms.
(rasqal_literal_equals_flags): Add RASQAL_COMPARE_RDF to check for
equality as RDF terms. Uses rasqal_literal_get_rdf_term_type()
Add a quick check for string compares - not equal if lengths are
different.
* src/rasqal.h: Added rasqal_compare_flags enum RASQAL_COMPARE_RDF
for comparing as RDF terms.
2007-10-28 Lauri Aalto <laalto@iki.fi>
* tests/rdql/testsuite/Makefile.am,
tests/sparql/ExprBuiltins/Makefile.am: RDQL B-07 B-20 tests now
pass. SPARQL str-1 test now passes.
* src/rasqal_decimal.c: (rasqal_xsd_decimal_negate) Fix
RASQAL_DECIMAL_GMP negation.
2007-10-27 Dave Beckett <dave@dajobe.org>
* src/rasqal_literal.c: (rasqal_literal_as_node): Copy NUL when
stringifying.
* src/rasqal_xsd_datatypes.c: (rasqal_xsd_format_double): Correct len
* src/rasqal_literal.c: (rasqal_literal_set_typed_value): Do not
try to canonicalize DOUBLE values.
* src/rasqal_literal.c: (rasqal_literal_set_typed_value): Set
string len for dateTime
(rasqal_literal_as_node): strncpy
* src/sparql_lexer.l: Use rasqal_xsd_datatype_check to check for
decimal and double syntax rather than scanf.
* src/rasqal_literal.c: (rasqal_new_literal_from_promotion): less
debug output
* Last known good revision 13092: 'make check' succeeds.
* src/rasqal_literal.c: (rasqal_literal_negate): Init type
* src/rasqal_expr.c: (rasqal_expression_evaluate): For
RASQAL_EXPR_UMINUS use rasqal_literal_negate
* src/rasqal_internal.h: Added rasqal_literal_negate prototype
* src/rasqal_literal.c: (rasqal_literal_add,
rasqal_literal_subtract, rasqal_literal_multiply,
rasqal_literal_divide): Promote to get to decimals for evaluation.
(rasqal_literal_negate): Added.
* src/rasqal.h: Added rasqal_xsd_decimal_negate
* src/rasqal_decimal.c: (rasqal_xsd_decimal_negate): Added
* src/rasqal_literal.c: (rasqal_new_decimal_literal): Set literal type
* src/rasqal_literal.c: (rasqal_literal_string_to_native): Do not
call rasqal_free_literal here.
* src/rasqal_literal.c: (rasqal_literal_add,
rasqal_literal_subtract, rasqal_literal_multiply,
rasqal_literal_divide): Do calculations as integer, double or
decimal.
* src/rasqal_literal.c: (rasqal_new_decimal_literal): Add decimal
arg to construct a new decimal literal based on a string or XSD
Decimal.
* src/sparql_lexer.l: Update rasqal_new_decimal_literal call
* src/rasqal.h: rasqal_new_decimal_literal takes string / decimal.
* src/rasqal_literal.c: (rasqal_literal_set_typed_value): Allow
string to be NULL to use existing literal string.
(rasqal_literal_string_to_native): Use NULL above
* src/rasqal_literal.c: Everwhere: only write to *error if error
is not NULL.
(rasqal_literal_set_typed_value): Free any existing string before
overwriting.
* src/rasqal_literal.c: (rasqal_literal_set_typed_value): Copy NULL
* src/rasqal_literal.c: Fix casts
* src/sparql_lexer.l: Use rasqal_new_typed_literal for integer.
* src/rasqal_literal.c: (rasqal_literal_set_typed_value): Added,
pulled out of rasqal_literal_string_to_native.
(rasqal_new_typed_literal, rasqal_new_decimal_literal,
rasqal_literal_string_to_native): Altered to use
rasqal_literal_set_typed_value removing duplicate code for setting
decimals.
* src/rasqal.h: rasqal_new_typed_literal renamed from
rasqal_new_integer_literal_from_string
* src/rasqal_engine.c: (rasqal_query_result_literal_sequence_equals):
Pass on any type errors as not equal.
* src/rasqal_internal.h: rasqal_literal_equals_flags add error
pointer arg.
* src/rasqal_literal.c: (rasqal_literal_equals_flags): Add an
error pointer arg.
* docs/tmpl/section-xsd.sgml: XSD Decimals templaet
* src/rasqal_decimal.c: Autodocs
* docs/rasqal-sections.txt: Add new functions
* docs/rasqal-docs.xml: Added section-xsd
2007-10-27 Lauri Aalto <laalto@iki.fi>
* src/rasqal_literal.c: (rasqal_new_integer_literal_from_string)
Need to have literal usage and type set before calling
rasqal_free_literal() on failure.
2007-10-27 Dave Beckett <dave@dajobe.org>
* src/sparql_lexer.l: Use rasqal_new_integer_literal_from_string
for integer literal. Remove hex literals - they are not allowed in
SPARQL.
* src/rasqal.h,
src/rasqal_literal.c: (rasqal_new_integer_literal_from_string):
Added to preserve integer literal original lexical form.
* src/rasqal_internal.h,
src/rasqal_literal.c: (rasqal_literal_promote_numerics): Renamed
from rasqal_literal_promote_calculate
2007-10-25 Lauri Aalto <laalto@iki.fi>
* src/rasqal_query.c: (rasqal_query_prepare_count_graph_patterns)
Prevent a later lowmem crash caused by graph pattern count and
graph pattern sequence getting out of sync.
* src/rasqal_decimal.c: (rasqal_xsd_decimal_as_string) Better
formatting with RASQAL_DECIMAL_NONE
(main) Ignore rasqal_decimal_test failures with
RASQAL_DECIMAL_NONE - insufficient precision with doubles. Test
for <0, ==0 or >0 when testing rasqal_xsd_decimal_compare(), not
exact value like -1.
* src/rasqal_map.c: (rasqal_map_node_add_kv) Return error if
rasqal_new_map_node() failed
* src/rasqal_map.c: (rasqal_map_add_kv) Return error if
rasqal_new_map_node() failed
* src/rasqal_expr.c: (rasqal_expression_evaluate) Remove memset()
overhead - init vars when actually needed.
2007-10-24 Lauri Aalto <laalto@iki.fi>
* src/rasqal_expr.c: (rasqal_expression_evalate) Fix bug in
RASQAL_EXPR_OR and refactor RASQAL_EXPR_{AND,OR}.
* src/rasqal_expr.c: (rasqal_expression_evaluate_strmatch,
rasqal_expression_evaluate) Init error vars to zero
* src/rasqal_expr.c: (rasqal_expression_evaluate_strmatch) Pulled
function from rasqal_expression_evaluate().
(rasqal_expression_evaluate) Reduce stack consumption of a
recursive function by about 90% (depending on compiler and
architecture) - do not allocate separate variables for each switch
case and pack in unions variables that are not needed
simultaneously.
* src/rasqal_literal.c: (rasqal_literal_string_to_native) Lowmem
leak fix: make sure decimal literal string is not leaked.
* src/rasqal_literal.c: (rasqal_free_literal) Do not leak decimal
literal datatype uris.
2007-10-23 Dave Beckett <dave@dajobe.org>
* src/rasqal_literal.c: (rasqal_literal_print): Write URIs out
properly escaped Unicode.
2007-10-23 Lauri Aalto <laalto@iki.fi>
* src/rasqal_expr.c: (rasqal_expression_evaluate) Check for alloc
failures
2007-10-22 Lauri Aalto <laalto@iki.fi>
* src/rasqal_literal.c: (rasqal_new_literal_from_promotion) Fix
rasqal_new_integer_literal() params.
(rasqal_literal_rdql_promote_calculate) Fix lits array init.
2007-10-22 Dave Beckett <dave@dajobe.org>
* tests/sparql/check-sparql: fix curdir
* tests/sparql/check-sparql: Remove curdir from debug outputs
* docs/tmpl/section-triple.sgml: Added RASQAL_TRIPLE_GRAPH,
RASQAL_TRIPLE_SPO and RASQAL_TRIPLE_SPOG
* docs/tmpl/section-expression.sgml: Added RASQAL_EXPR_SAMETERM
* src/rasqal_literal.c: (rasqal_literal_compare): Restore d assignment
* src/rasqal_literal.c: Remove unused double_to_int
* src/rasqal_literal.c: (rasqal_literal_rdql_promote_calculate):
Pull out of rasqal_literal_compare
(rasqal_literal_compare): Use above.
* Last known good revision 13011: 'make check' succeeds.
* src/rasqal_literal.c: (rasqal_literal_compare): Fix xquery
compare ordering when types are different and cannot promote.
* src/rasqal_literal.c: (rasqal_literal_compare): Fix float/double
compare.
* src/rasqal_literal.c: (rasqal_literal_compare): Fix float/double
compare with fabs
* src/rasqal_literal.c: (rasqal_literal_compare): Return type
error if rasqal_new_literal_from_promotion fails
* src/rasqal_literal.c: (rasqal_new_literal_from_promotion):
Handle rasqal_new_literal_from_promotion failing.
* src/rasqal_literal.c: death in debug message
* src/rasqal_literal.c: casts for warnings
* src/rasqal_literal.c: (rasqal_new_literal_from_promotion): Do
not assume l->string is set.
* src/rasqal_literal.c: (rasqal_new_literal_from_promotion): Allow
nop promotion
* src/rasqal_literal.c: (rasqal_literal_compare): Fix error from
string compare.
* src/rasqal_literal.c: docs
(rasqal_literal_compare): Fix uri compare.
* src/rasqal_literal.c: (rasqal_literal_string_compare): Added,
pulled out of rasqal_literal_compare.
(rasqal_literal_compare): Call above.
* src/rasqal_literal.c: (rasqal_new_literal_from_promotion): Call
rasqal_new_string_literal with copy of string which is an input
parameter.
* src/rasqal_literal.c: (rasqal_new_literal_from_promotion):
Added, pulled out of rasqal_literal_compare.
(rasqal_literal_compare): Use above.
* src/rasqal_literal.c: (rasqal_literal_equals_flags): Start to
add XQuery/SPARQL promotions.
* src/rasqal_literal.c: (rasqal_literal_equals_flags): Added
* src/rasqal_engine.c:
(rasqal_query_result_literal_sequence_equals): Added to compare
two arrays of literal for equality
(rasqal_engine_query_result_row_compare): Use
rasqal_query_result_literal_sequence_equals when just doing
distinct, no sorting.
* src/rasqal_internal.h: Added rasqal_literal_equals_flags prototype
2007-10-21 Lauri Aalto <laalto@iki.fi>
* src/rasqal_decimal.c: Make rasqal_decimal.c compile with
RASQAL_DECIMAL_NONE
* src/rasqal_decimal.c: (rasqal_xsd_decimal_equals) Catch flagging
error and prevent warning about uninitialized rc variable.
2007-10-21 Dave Beckett <dave@dajobe.org>
* src/rasqal_literal.c: Switch rasqal_literal with type
RASQAL_LITERAL_DECIMAL from stored as a double stored as an
rasqal_xsd_decimal.
(rasqal_new_decimal_literal, rasqal_literal_string_to_native,
rasqal_free_literal, rasqal_literal_as_integer,
rasqal_literal_as_floating, rasqal_literal_equals): Use new fields
for decimal.
* src/rasqal_decimal.c: (rasqal_xsd_decimal_equals): Renamed from
rasqal_xsd_decimal_equal
* src/rasqal.h: rasqal_literal now stores decimals as
rasqal_xsd_decimal. rasqal_xsd_decimal_equals renamed from
rasqal_xsd_decimal_equal
* Last known good revision 12976: 'make check' succeeds.
* src/rasqal.h, src/rasqal_decimal.c, src/rasqal_internal.h: Move
rasqal_xsd_decimal prototypes to rasqal.h and rename
constructor/destructor to match convention
* src/rasqal_decimal.c, src/rasqal_internal.h: Move
rasqal_xsd_decimal prototypes to rasqal_internal.h
* src/rasqal_decimal.c: (main): Tests are silent on success
* src/rasqal_decimal.c: (rasqal_xsd_decimal_init): Set to 32
digits precision
* src/rasqal_decimal.c: (rasqal_xsd_decimal_as_string): less strlen
* src/rasqal_decimal.c: ;
* src/rasqal_decimal.c: (rasqal_xsd_decimal_clear_string): All
strings are rasqal alloced.
(rasqal_xsd_decimal_as_string): Handle zero better.
* src/rasqal_decimal.c: (rasqal_xsd_decimal_as_string): No longer
format as ints, always generate -?X.YeZ
* src/rasqal_decimal.c: Prevent 0.0e-1, make it 0.0e0
* src/rasqal_decimal.c: Ensure trailing zeroes are not all removed
in MPFR cleanup. Clear result strings when computing.
* src/rasqal_decimal.c: Catch malloc failures
* src/rasqal_decimal.c: (rasqal_xsd_decimal_as_string): Adjust
MPFR output to remove leading 0s and have 1 leading digit. Adjust
GMP output to have 1 leading digit.
(rasqal_xsd_decimal_print): Use string from
rasqal_xsd_decimal_as_string.
* src/rasqal_decimal.c: Flags made explicit.
Annotate free()
* src/rasqal_decimal.c: (rasqal_xsd_decimal_as_counted_string): Added.
* src/rasqal_decimal.c: Preserve original string as str. Fix
output formatting better for GMP
* src/rasqal_decimal.c: Added GMP
* configure.ac: Added --with-decimal to choose mpfr, gmp, none
Added --with-mpfr=DIR to set prefix for mpfr install.
Added MPFR and GMP presence tests.
Added decimal choice to summary
* src/Makefile.am: Added rasqal_decimal.c to library
* configure.ac: AC_MSG_RESULT
* src/Makefile.am: Added rasqal_decimal_test
* src/rasqal_decimal.c: Moved macros to ../configure.ac
* configure.ac: Add checks and defines for MPFR and decimal
* src/rasqal_decimal.c: XSD decimal via some external library
2007-10-18 Lauri Aalto <laalto@iki.fi>
* src/rasqal_engine.c: (rasqal_engine_query_result_row_update) Fix
SPARQL sort-3 segfault: Evaluating order condition expression may
return NULL.
* src/rasqal_engine.c: (rasqal_engine_query_result_row_to_nodes,
rasqal_engine_execute_run) Allow empty result sets - not an error.
* src/rasqal_literal.c: (rasqal_literal_cast) Check for new_string
alloc failure
* src/rasqal_result_formats.c: (rasqal_query_results_write_xml_result4)
Fix segfault when binding value literal is not a node type.
* src/rasqal_engine.c: (rasqal_engine_query_result_row_to_nodes)
Return an error if cannot convert a literal to node. Do not just
leave a non-node literal row values.
(rasqal_engine_execute_run) Check
rasqal_engine_query_result_row_to_nodes() return value.
* src/rasqal_engine.c: (rasqal_engine_query_result_row_update)
Free literal returned by evaluation of order condition
expressions.
2007-10-17 Lauri Aalto <laalto@iki.fi>
* src/rasqal_engine.c: (rasqal_free_gp_data) Remove unnecessary
start_column check - the root cause for start_column<0 was fixed
in r12884.
* tests/sparql/ExprBuiltins/Makefile.am: Expect SPARQL
ExprBuiltins str-1 to fail.
* src/fix-flex: (fix-flex) Also remove generated yy_fatal_error()
declaration to avoid warning about declared but non-defined static
function. Fix line offset off-by-one by not including $ in printed
match when patching lex_destroy(). Fix .h #line directives as
well.
* src/fix-flex: (fix-flex) Remove generated yy_fatal_error()
definition to avoid warnings about unused function.
* src/rdql_lexer.l, src/sparql_lexer.l: (sparql_lexer_fatal_error,
rdql_lexer_fatal_error) Portability: avoid depending on varargs
implementation internals.
* src/sparql_lexer.l: (sparql_lexer) Replace out-of-memory
yyterminate() calls with more informative SPARQL_LEXER_OOM macros.
* src/rdql_lexer.l,
src/sparql_lexer.l: (sparql_lexer_cleanup,rdql_lexer_cleanup) Does
not have to be non-static.
* src/fix-flex, src/rasqal_internal.h, src/rdql_lexer.l,
src/sparql_lexer.l: (rasqal_query_s) Added lexer_user_data for
storing re-entrant lexer internal data.
(fix-flex) Replace calls to yy_fatal_error() with YY_FATAL_ERROR
macro. Add alloc failure checks to generated ensure_stack().
Call custom cleanup() function in lex_destroy(). Removed
prefixing free(ptr) with NULL guard - rasqal lexers now have
yyfree replacements that check for NULL. Fix .c #line numbers.
(sparql_lexer) Specify noyyalloc, noyyrealloc, noyyfree options to
prevent flex from generating alloc/realloc/free functions. Define
YY_FATAL_ERROR macro to sparql_lexer_fatal_error().
Added experimental low-memory memory leak prevention code under
LEXER_ALLOC_TRACKING flag (disabled by default) - easier and
probably more failsafe than patching large amounts of generated C
in fix-flex. The leak itself is YY_BUFFER_STATE struct that is not
freed when ensure_stack() encounters an OOM fatal error -
previously ensure_stack() segfaulted but now fix-flex patches it
to just leak memory.
(sparql_lexer_fatal_error) Added replacement for default error
handler. Uses rasqal query fatal error reporting mechanisms if
possible. abort()s and does not exit() like the generated error
handler would do.
(sparql_lexer_cleanup) Added function that gets called by
sparql_lexer_lexer_destroy() patched by fix-flex. Cleans up memory
leaks (if any) when LEXER_ALLOC_TRACKING flag is enabled,
otherwise a no-op.
(sparql_lexer_alloc) Added allocator function as needed after the
noyyalloc option. If LEXER_ALLOC_TRACKING flag is disabled, it's
just the plain malloc(). Otherwise stores allocated pointer to an
alloc tracker stored in lexer_user_data in rasqal_query_s to allow
cleanup by sparql_lexer_cleanup().
(sparql_lexer_realloc) Added realloc function as needed after the
noyyrealloc option. If LEXER_ALLOC_TRACKING flag is disabled, it's
just the plain realloc(). Otherwise it uses the alloc tracker in
lexer_user_data.
(sparql_lexer_free) Added free function as needed after the
noyyfree option. If LEXER_ALLOC_TRACKING flag is disabled, it's
just the plain free() with NULL check. Otherwise it uses the alloc
tracker in lexer_user_data.
(rdql_lexer) Specify noyyalloc, noyyrealloc, noyyfree options to
prevent flex from generating alloc/realloc/free functions. Define
YY_FATAL_ERROR macro to rdql_lexer_fatal_error().
(rdql_lexer_fatal_error) Added replacement for default error
handler. Uses rasqal query fatal error reporting mechanisms if
possible. abort()s and does not exit() like the generated error
handler would do.
(rdql_lexer_cleanup) Added empty function that gets called by
rdql_lexer_lex_destroy() patched by fix-flex.
(rdql_lexer_alloc,rdql_lexer_realloc) Added functions as needed
after noyyalloc and noyyrealloc options.
(rdql_lexer_free) Added function as needed after noyyfree
option. Checks for NULL ptr unlike the generated yyfree().
2007-10-16 Lauri Aalto <laalto@iki.fi>
* src/fix-bison: (fix-bison) Fix .c #line references - was still
off by one.
* src/fix-bison: (fix-bison) Fix .c #line references. Fix script indent.
* src/sparql_parser.y: (sparql_parse) Check lexer init return code.
2007-10-15 Dave Beckett <dave@dajobe.org>
* tests/rdql/testsuite/Makefile.am: Document B-07 B-20 as failing
since core changes to normalize xsd:double format for SPARQL cause
these to fail now
2007-10-15 Lauri Aalto <laalto@iki.fi>
* src/rasqal_literal.c: (rasqal_new_string_literal) Free datatype
as uri and not as cstring on error.
* src/rasqal_xsd_datatypes.c: (rasqal_xsd_datatype_uri_parent_type)
fix comments
* src/sparql_parser.y: Memory leak fix: add %destructor for Object
* src/rasqal_engine.c: (rasqal_engine_convert_blank_node_to_anonymous_variable)
Fix low memory crashes due to variable literals with NULL
value. Changed function to return an int error code.
(rasqal_engine_build_anonymous_variables) Bubble up errors from
rasqal_engine_convert_blank_node_to_anonymous_variable().
(rasqal_engine_prepare) Bubble up errors from
rasqal_engine_build_anonymous_variables().
* src/rasqal_xsd_datatypes.c: (rasqal_xsd_datetime_normalize) Fix
bugs in day normalization: uninitialized var t in y2 expression;
add the correct number of days when going down a month
boundary (and not the number of days next month).
(test_datetimes) Add tests to catch the bug. Was not caught before
because January and December both have 31 days.
(test_datetime_parser_tostring) Print relevant information to
stderr on test failure.
* src/rasqal_literal.c: (rasqal_literal_string_to_native) Remove
unnecessary if
2007-10-15 Dave Beckett <dave@dajobe.org>
* src/rasqal_literal.c: docs
2007-10-14 Dave Beckett <dave@dajobe.org>
* src/rasqal_literal.c: (rasqal_new_double_literal): Use
rasqal_xsd_format_double to format a double.
(rasqal_literal_string_to_native): Use rasqal_xsd_format_double to
format a new double.
* src/rasqal_internal.h: Added rasqal_xsd_format_double prototype
* src/rasqal_xsd_datatypes.c: (rasqal_xsd_format_double): Added to
properly format an xsd:double
* src/sparql_lexer.l: Added SPARQL_NAME_CHECK_ALLOW_09_FIRST
NCNAME2: Added allowing 0-9
(QNAME,BNAME,BNAME2): Use NCNAME2 instead of NCNAME to allow 0-9
first.
(rasqal_sparql_name_check): Use SPARQL_NAME_CHECK_ALLOW_09_FIRST
to allow 0-9 as the first character.
* tests/sparql/ValueTesting/Makefile.am:
typePromotion-decimal-decimal-fail passes again
* src/rasqal_literal.c: (rasqal_literal_cast): Use
rasqal_xsd_datatype_check() to check if a cast from string is
allowed.
* src/rasqal_xsd_datatypes.c: (rasqal_xsd_init,
rasqal_xsd_finish): Do not try to init, free NULL names.
* src/rasqal_expr.c: (rasqal_expression_evaluate): Moved
RASQAL_EXPR_PLUS, RASQAL_EXPR_MINUS, RASQAL_EXPR_STAR and
RASQAL_EXPR_SLASH evaluation to rasqal_literal_add,
rasqal_literal_subtract, rasqal_literal_multiply,
rasqal_literal_divide respectively.
* src/rasqal_xsd_datatypes.c: table sparql_xsd_names now includes
the types that promote to xsd:integer
(rasqal_xsd_init): Init the URIs of the types above.
(rasqal_xsd_datatype_uri_parent_type): Added to get the parent
type of a datatype URI.
(rasqal_xsd_datatype_is_numeric): Added to check if an XSD type is
numeric.
* src/rasqal_literal.c: (rasqal_new_integer_literal): Initialise
parent_type to decimal.
(rasqal_literal_string_to_native): Native integers have a decimal
parent.
(rasqal_new_string_literal): Initialise parent type.
(rasqal_literal_promote_calculate): Added to calculate XSD type
promotions.
(rasqal_literal_is_numeric): Added to determine a numeric literal.
(rasqal_literal_add, rasqal_literal_subtract,
rasqal_literal_multiply, rasqal_literal_divide): Added based on
the expression code for literals.
* src/rasqal_internal.h: Added prototypes for rasqal_literal_is_numeric,
rasqal_literal_promote_calculate, rasqal_literal_add,
rasqal_literal_subtract, rasqal_literal_multiply,
rasqal_literal_divide, rasqal_xsd_datatype_uri_parent_type and
rasqal_xsd_datatype_is_numeric
* src/rasqal.h: rasqal_literal_s gains field parent_type for XSD
type hierarchy.
* Last known good revision 12894: 'make check' succeeds.
* tests/sparql/SyntaxDev/Syntax-SPARQL2/Makefile.am,
tests/sparql/SyntaxDev/Syntax-SPARQL2/manifest.ttl,
tests/sparql/SyntaxDev/Syntax-SPARQL2/syntax-graph-02.rq,
tests/sparql/SyntaxDev/Syntax-SPARQL2/syntax-graph-06.rq: Removed
tests syntax-graph-02.rq syntax-graph-06.rq with GRAPH blank nodes
which are no longer legal SPARQL
* tests/sparql/SyntaxDev/Syntax-SPARQL/Makefile.am,
tests/sparql/SyntaxDev/Syntax-SPARQL/manifest.ttl,
tests/sparql/SyntaxDev/Syntax-SPARQL/syntax-bnodes-03.rq,
tests/sparql/SyntaxDev/Syntax-SPARQL/syntax-bnodes-04.rq: Removed
tests syntax-bnodes-03.rq syntax-bnodes-04.rq with blank nodes in
predicate which are no longer legal SPARQL
* tests/sparql/ValueTesting/Makefile.am: Add
typePromotion-decimal-decimal-fail to failures until type
promotions are fixed.
* tests/sparql/syntax/Makefile.am,
tests/sparql/syntax/construct0.rq: Removed construct0.rq test
since CONSTRUCT * is no longer legal sparql
* src/rasqal_literal.c: (rasqal_literal_compare): Use
raptor_uri_compare from raptor 1.4.16 instead of strcmp. Protect
checking rdf literal language and datatypes in a comparison to
only happen when both literals were originally strings.
* src/rasqal_raptor.c: (rasqal_raptor_triple_match): Debug
messages
(rasqal_raptor_triple_present): Set the match parts dependent of
whether the triple has an origin.
* src/rasqal_xsd_datatypes.c: (rasqal_xsd_datetime_to_string):
Does not return a string that is required to be const.
2007-10-13 Dave Beckett <dave@dajobe.org>
* src/rasqal_xsd_datatypes.c: Code style - comments, whitespace,
indenting.
(rasqal_xsd_datetime_normalize): Added, pulled out of
rasqal_xsd_datetime_parse_and_normalize
2007-10-12 Lauri Aalto <laalto@iki.fi>
* src/sparql_parser.y: (OrderConditionList) Fix memory leak when
sequence creation fails.
* src/rasqal_engine.c, src/rasqal_internal.h, src/rasqal_query.c:
Fix error where a sequence alloc error in
rasqal_engine_join_graph_patterns() leaves gp in stale state.
(rasqal_engine_move_constraints,
rasqal_engine_join_graph_patterns) Changed to return an int error
code.
(rasqal_engine_merge_graph_patterns, rasqal_engine_merge_triples,
rasqal_engine_remove_empty_group_graph_patterns) Set modified flag
to negative to signal error codes.
(rasqal_query_prepare) Do gp merge only if factory->prepare()
succeeded. Use negative values of the modified flag to signal
errors from gp visitors.
* src/rasqal_engine.c: (rasqal_engine_graph_pattern_init) Bubble
up errors from subgp init.
* src/sparql_parser.y: Memory leak fixes:
Add Filter %destructor.
(AdditiveExpression) Free MultiplicativeExpression when
rasqal_new_literal_expression() for a numeric literal fails.
* src/rasqal_literal.c: (rasqal_new_integer_literal,
rasqal_new_double_literal, rasqal_new_float_literal,
rasqal_new_decimal_literal, rasqal_new_boolean_literal,
rasqal_literal_as_node) Check rasqal_xsd_datatype_type_to_uri()
return value.
* src/rasqal_xsd_datatypes.c: (sparql_xsd_datatypes_table) Init
static variable to NULL.
(rasqal_xsd_init) Check for rasqal_xsd_namespace_uri alloc
failure.
(rasqal_xsd_finish) Set static pointers to NULL to prevent
dangling pointers.
(rasqal_xsd_datatype_uri_to_type, rasqal_xsd_datatype_type_to_uri,
rasqal_xsd_datatype_check, rasqal_xsd_datatype_label) Check that
sparql_xsd_datatypes_table is allocated.
* src/rasqal_engine.c: (rasqal_new_engine_execution_data) Check
raptor_sequence_set_at() return value. Fixes memory leak when
setting (n+1)th item and setting nth item had failed.
2007-10-11 Lauri Aalto <laalto@iki.fi>
* src/rasqal_xsd_datatypes.c: Fix compiler warning
* tests/sparql/examples/Makefile.am:
sparql-query-example-Testing-Values-0 (ex11_0) was broken by
recent changes in literal handling.
* tests/sparql/examples/Makefile.am: makefile comments
* tests/sparql/examples/Makefile.am:
sparql-query-example-Testing-Values-RDFterm-equal-2 (ex11.2.3.1_1)
now passes
* src/rasqal_literal.c: (rasqal_literal_string_to_native) Promote
xsd:dateTime literals to canonical literal form - strcmp() now
works better when comparing datetime literals.
* src/Makefile.am, src/rasqal_internal.h,
src/rasqal_xsd_datatypes.c: (rasqal_xsd_datetime_string_to_canonical)
Added library internal function for upgrading xsd:dateTime strings
to canonical form.
(rasqal_xsd_datetime_parse_and_normalize,
rasqal_xsd_datetime_to_string) Added module internal functions for
dealing with xsd:dateTime strings.
(rasqal_xsd_check_dateTime_format) Use
rasqal_xsd_datetime_parse_and_normalize() for format checking.
(days_per_month) Added helper function for
rasqal_xsd_datetime_parse_and_normalize().
(rasqal_xsd_datetime) Replaced struct with a version that can be
used for normalization and does not use bitfields. Second
fractions stored as string, not as double.
(test_datetime_parser_tostring, test_datetimes, main) Added test
code for xsd:dateTime handling.
(Makefile.am): Moved rasqal_xsd_datatypes_test from local_tests to
TESTS.
2007-10-10 Lauri Aalto <laalto@iki.fi>
* src/rasqal_raptor.c: (rasqal_raptor_triple_present,
rasqal_raptor_triples_match_context) Fix compiler warnings about
enum-int mismatches.
2007-10-09 Dave Beckett <dave@dajobe.org>
* tests/sparql/check-sparql: Invoke roqet with -D for data
graphs (not named)
* utils/roqet.c: Added -D/--data for data graphs and -G/--named
for named graphs (-s is a synonym for this)
* src/rasqal_raptor.c: (rasqal_raptor_new_triples_source): Use the
named graph URI for the source literal to distinguish default and
named graphs.
(rasqal_raptor_triple_match): Add a parts field for the fields of
the triple to match to distinguish a graph query with no binding
from a non-graph query. Add checks for graph/non-graph query when
finding an origin in a triple so that they match.
(rasqal_raptor_init_triples_match): Init the parts being looked
for depending on whether t->origin is present.
* src/rasqal_engine.c: (rasqal_engine_execute_run): Allow
rasqal_engine_excute_next_lazy to return finished on first
execution, for an empty result set.
* src/rasqal_query.c: (rasqal_query_execute): It is not a failure
for rasqal_engine_execute_run to be immediately finished, it is
just an empty results set.
* src/rasqal.h: (enum rasqal_triple_parts): Added
RASQAL_TRIPLE_GRAPH as alias for RASQAL_TRIPLE_ORIGIN,
RASQAL_TRIPLE_SPO for triple parts and RASQAL_TRIPLE_SPOG for all
parts including graph.
* src/sparql_parser.y: (DefaultGraphClause): Set graph name to
NULL for default graph.
* src/rasqal_raptor.c: (rasqal_raptor_triple_match): If a named
graph triple is present, do not match a triple pattern with
nothing in the 'origin'.
* tests/sparql/check-sparql: handle dt:graphData
* tests/sparql/dawg/graph/data-g3-dup.ttl,
tests/sparql/dawg/graph/manifest.ttl: Update to DAWG test suite
graph dir 2007-10-09
* tests/sparql/dawg/dataset/data-g1-dup.ttl,
tests/sparql/dawg/dataset/data-g2-dup.ttl,
tests/sparql/dawg/dataset/data-g3-dup.ttl,
tests/sparql/dawg/dataset/data-g4-dup.ttl,
tests/sparql/dawg/dataset/dataset-09b.rq,
tests/sparql/dawg/dataset/dataset-10b.rq,
tests/sparql/dawg/dataset/dataset-12b.rq,
tests/sparql/dawg/dataset/manifest.ttl: Update to DAWG test suite
dataset dir 2007-10-09
* tests/sparql/check-sparql: Handle DAWG dawgt:approval
dawgt:Withdrawn tests
* src/rasqal_expr.c: (rasqal_expression_evaluate): Make
RASQAL_EXPR_BOUND work again.
2007-10-08 Dave Beckett <dave@dajobe.org>
* src/sparql_parser.y: Added SAMETERM token for SPARQL keyword
sameTerm() Added lexer tokens DOUBLE_POSITIVE_LITERAL,
DOUBLE_NEGATIVE_LITERAL, INTEGER_POSITIVE_LITERAL,
INTEGER_NEGATIVE_LITERAL, DECIMAL_POSITIVE_LITERAL,
DECIMAL_NEGATIVE_LITERAL. Some token re-orderings and
renumberings.
(Query): Move dataset, wher, group, order and limit to elsewhere
like sparql grammar.
(Prolog, PRefixDeclOpt): Rename to PrefixDeclListOpt
(SelectQuery, DescribeQuery, ConstructQuery, AskQuery): Add
appropriate datasets, where, and solution modifier if allowed.
(ConstructQuery): Remove CONSTRUCT * - no longer in the grammar.
(DefaultGraphClause, NamedGraphClause): Use SourceSelector
(SourceSelector, SolutionModifier): Added like SPARQL grammar.
(LimitOffsetClausesOpt): Renamed from LimitOffsetOpt, like SPARQL
grammar.
(Filter): Added, like SPARQL grammar.
(ObjectList): Uses a list of Object like SPARQL grammar
(Object): Added, like SPARQL grammar.
(Verb): Changed to be VarOrIRIref not VarOrBlankNodeOrIRIref like
SPARQL grammar
(VarOrBlankNodeOrIRIref): Removed, no longer used.
(GraphTerm): Use NumericLiteral like SPARQL grammar.
(AdditiveExpression): Use NumericLiteralPositive and
NumericLiteralNegative to allow unary minus/plus to work. like
SPARQL grammar.
(BuiltInCall): Add SAMETERM.
(NumericLiteral, NumericLiteralUnsigned, NumericLiteralPositive,
NumericLiteralNegative): Added like SPARQL grammar
* src/sparql_lexer.l: Added INTEGER macro
Added SAMETERM SPARQL keyword
Made INTEGER, DECIMAL and DOUBLE return either UNSIGNED_, POSITIVE_ or
NEGATIVE_ tokens to help out the parser.
* src/rasqal_query.c: (rasqal_query_write_sparql_expression_op):
Added new RASQAL_EXPR_SAMETERM for SPARQL keyword sameTerm.
* src/rasqal_expr.c: (rasqal_expression_clear,
rasqal_expression_visit, rasqal_expression_evaluate,
rasqal_expression_print, rasqal_expression_is_constant): Added new
RASQAL_EXPR_SAMETERM for SPARQL keyword sameTerm(). Evaluation
not implemented yet.
* src/rasqal.h: Added new rasqal_op expression
RASQAL_EXPR_SAMETERM for SPARQL keyword sameTerm()
2007-10-07 Dave Beckett <dave@dajobe.org>
* src/rasqal_xsd_datatypes.c: (main) Comment out all of old test
code that's not used or usable.
* configure.ac: Remove --enable-datatypes
* src/rasqal_expr.c: (main): Needs more init for xsd module.
* src/rasqal_internal.h, src/rasqal_xsd_datatypes.c: Remove last
uses of static rasqal_xsd_TYPE_uri uris
* src/sparql_lexer.l: altered cast for change to
rasqal_new_decimal_literal.
* tests/sparql/check-sparql: Use config->{execute} and set to
false for syntax test types
* tests/sparql/check-sparql: revert: Debugging run_test for $debug>0
* tests/sparql/check-sparql: Debugging run_test for $debug>1
* tests/sparql/check-sparql: Debugging manifest for $debug>1
* src/rasqal.h: typedef rasqal_literal: note decimal inits
value.floating
* src/rasqal_literal.c: (rasqal_new_decimal_literal): Initialise
the floating field.
* src/rasqal.h: Move the FIRST XSD to include
RASQAL_LITERAL_STRING aka xsd:string
* src/rasqal_query.c: (rasqal_query_write_sparql_literal): Use
rasqal_xsd_datatype_type_to_uri to get xsd:dateTime URI.
* src/rasqal_expr.c: (rasqal_expression_evaluate):
RASQAL_EXPR_DATATYPE - ensure a plain literal with no datatype
returns datatype xsd:string.
* src/sparql_parser.y: (sparql_is_builtin_xsd_datatype): Removed.
Use rasqal_xsd_is_datatype_uri instead
* src/rasqal_literal.c, src/rasqal_xsd_datatypes.c: Move XSD
functions to rasqal_xsd_datatypes.c
* src/rasqal_internal.h: Added prototypes for
rasqal_xsd_datatype_uri_to_type, rasqal_xsd_datatype_type_to_uri,
rasqal_xsd_datatype_check, rasqal_xsd_datatype_label and
rasqal_xsd_is_datatype_uri
* src/rasqal_general.c: Move XSD uris init/free to
rasqal_xsd_datatypes.c
* src/Makefile.am: Add rasqal_xsd_datatypes.c to compilation
* src/rasqal_internal.h: Added rasqal_new_numeric_literal
* src/rasqal_expr.c: (rasqal_expression_evaluate):
RASQAL_EXPR_UMINUS, RASQAL_EXPR_PLUS, RASQAL_EXPR_MINUS,
RASQAL_EXPR_STAR and RASQAL_EXPR_SLASH now use
rasqal_new_numeric_literal. RASQAL_EXPR_LITERAL: Turn a literal
into a literal value here, removing mention of variables.
* src/rasqal_literal.c: (rasqal_new_float_literal): Added.
(rasqal_new_decimal_literal) Now takes a const char* arg.
(rasqal_new_numeric_literal): Added
* src/rasqal.h: Added rasqal_new_float_literal
rasqal_new_decimal_literal now takes a const char*
* tests/sparql/check-sparql: debug query type
* src/rasqal_expr.c: (rasqal_expression_evaluate): Print
expression again when printing result.
* src/rasqal_literal.c: (rasqal_literal_as_integer,
rasqal_literal_as_floating): Convert decimal to integer, floating
too.
(rasqal_literal_compare): Decimal can be used as a double.
(rasqal_literal_as_integer): Decimal can be turned into an an
integer.
(rasqal_literal_equals): Compare decimal as doubles.
* src/rasqal_literal.c: (rasqal_literal_print): Debug message tweak
* src/rasqal_engine.c: docs
* src/rasqal_engine.c: (rasqal_engine_query_result_row_to_nodes):
Added to turn internal literal types into just URI/blank/string
literal RDF nodes.
(rasqal_engine_execute_run): Call
rasqal_engine_query_result_row_to_nodes for first result row.
(rasqal_engine_execute_next): Call
rasqal_engine_query_result_row_to_nodes for all new rows.
* src/rasqal_engine.c: prototype
* src/rasqal_engine.c: Moved rasqal_engine_excute_next_lazy
* src/rasqal_engine.c: (rasqal_engine_get_result_row): Added
(rasqal_engine_get_result_values): Uses
rasqal_engine_get_result_row.
(rasqal_engine_execute_next_from_saved): Added
(rasqal_engine_execute_next): Use
rasqal_engine_execute_next_from_saved.
2007-10-06 Dave Beckett <dave@dajobe.org>
* src/rasqal_engine.c: Code style
* src/rasqal_engine.c, src/rasqal_internal.h, src/rasqal_query.c:
Remove rasqal_query field binding_values as it is not needed
* src/rasqal_engine.c: Docs
(rasqal_engine_get_result_values): Renamed from
rasqal_engine_get_results_values
* src/rasqal_query_results.c: Renamed
rasqal_engine_get_results_values to
rasqal_engine_get_result_values
* src/rasqal_internal.h: Renamed rasqal_engine_get_results_values
to rasqal_engine_get_result_values
* src/rasqal_engine.c: docs
* src/rasqal_engine.c: Add a bunch of internal docs.
(rasqal_engine_query_result_row_update): Do not throw away
datatype information early. Do not throw it away for ordering.
(rasqal_engine_excute_next_lazy): Renamed from
rasqal_engine_query_results_update since it is only used in lazy
evaluation.
(rasqal_engine_execute_and_save): Added to pull out the code from
rasqal_engine_execute_run that is run when results are wanted to
be saved.
(rasqal_engine_execute_run): Documentation of execution operation
and change to use rasqal_engine_execute_and_save
(rasqal_engine_execute_next): Docs and change to use
rasqal_engine_excute_next_lazy.
* src/rasqal.h: Added rasqal_literal_value.
* src/rasqal_literal.c: (rasqal_new_literal_from_literal): Return
NULL if NULL was given.
(rasqal_literal_value): Added, to return a value and looking up
variable literals.
* tests/sparql/check-sparql: Order expected results using rs:index
predicate if it's present.
2007-10-05 Lauri Aalto <laalto@iki.fi>
* src/sparql_parser.y: (PropertyListNotEmpty) Refactored to not
use raptor_sequence_disown_at()
* src/rasqal_literal.c: (sparql_xsd_datatypes_table) Fix compiler
warning: cast int to enum.
(rasqal_literal_cast) Return a copy of the literal when casting to
same type.
2007-10-05 Dave Beckett <dave@dajobe.org>
* src/rasqal_literal.c: (rasqal_literal_check_boolean_format):
Note not strictly conforming.
(rasqal_literal_check_dateTime_format): Add even more caveats.
(rasqal_literal_check_decimal_format): Update to be conformant.
(rasqal_literal_check_double_format): Note not strictly
confirming.
(rasqal_literal_check_float_format): Note not strictly confirming.
(rasqal_literal_check_integer_format): Note is conformant.
* src/rasqal_literal.c: Added start of format checking for XSD
literal strings. This code should probably be moved into a
separate module and connected to the other skeletal datatype code.
(rasqal_literal_check_boolean_format,
rasqal_literal_check_dateTime_format,
rasqal_literal_check_decimal_format,
rasqal_literal_check_double_format,
rasqal_literal_check_float_format,
rasqal_literal_check_integer_format): Added of which only boolean
and integer are fully correct.
(struct sparql_xsd_datatypes_table): Table added.
(rasqal_xsd_init, rasqal_xsd_finish): Added to initialise table.
(rasqal_literal_string_to_native): Use sparql_xsd_datatypes_table
table to drive validation and to avoid URI comparisons.
(rasqal_literal_cast): Do allowed type conversion checks and then
pass on to rasqal_new_string_literal to test the allowed syntax.
* src/rasqal_internal.h: Added rasqal_xsd_init and rasqal_xsd_finish.
* src/rasqal_general.c: (rasqal_init, rasqal_finish): Init/free
the XSD code with rasqal_xsd_init() and rasqal_xsd_finish().
2007-10-04 Dave Beckett <dave@dajobe.org>
* src/rasqal_expr.c: unused var
* src/rasqal_expr.c: (rasqal_expression_evaluate): Use
rasqal_literal_cast for RASQAL_EXPR_CAST evaluation.
* src/rasqal_internal.h: Added rasqal_literal_cast
* src/rasqal_literal.c: (rasqal_literal_cast): Added for casting
between literal types
* src/rasqal.h: Added rasqal_literal_datatype
* src/rasqal_literal.c: (rasqal_new_boolean_literal): Set boolean
datatype.
(rasqal_literal_datatype): Added to get a literal datatype URI if
it has one.
* tests/sparql/check-sparql: Allow choosing unique test by regex
on the test URI since sometimes the name is not unique.
* tests/sparql/check-sparql: Replace so-called XML::Simple with
XML::DOM which is actually simpler, and even as a bonus, works.
2007-10-04 Lauri Aalto <laalto@iki.fi>
* src/sparql_parser.y: Check for alloc failures. Free allocated
resources and YYERROR on failure. Added YYERROR_MSG macro to help
with debugging.
* src/sparql_lexer.l: lexer: yyterminate() on alloc failures.
(sparql_copy_string_token) Check for alloc failures.
* src/rasqal_expr.c: (rasqal_new_3op_expression) Do not free null
arg3 on alloc error.
2007-10-03 Dave Beckett <dave@dajobe.org>
* tests/sparql/check-sparql: tweak output
* tests/sparql/dawg/optional-filter/expr-4-result.ttl,
tests/sparql/dawg/optional-filter/expr-4.rq,
tests/sparql/dawg/optional-filter/expr-5-result-not-simplified.ttl,
tests/sparql/dawg/optional-filter/expr-5-result-simplified.ttl,
tests/sparql/dawg/optional-filter/expr-5.rq: new DAWG tests
* tests/sparql/dawg/optional-filter/data-1.ttl,
tests/sparql/dawg/optional-filter/expr-1-result.ttl,
tests/sparql/dawg/optional-filter/expr-2-result.ttl,
tests/sparql/dawg/optional-filter/expr-3-result.ttl,
tests/sparql/dawg/optional-filter/manifest.ttl: updated DAWG tests
* src/rasqal_raptor.c: (rasqal_raptor_triple_match): debug printf
* src/rasqal_literal.c: (rasqal_literal_string_to_native): Promote
xsd:decimal to RASQAL_LITERAL_DECIMAL
* src/sparql_lexer.l: Add support for @lang and ^^datatype after
triple quoted literals.
(sparql_copy_string_token): Skip repeated terminating delimiters.
2007-10-03 Lauri Aalto <laalto@iki.fi>
* src/rasqal_literal.c: (rasqal_literal_as_node) Return NULL if
new literal string allocation fails. No need to handle boolean
datatypes as a special case.
* src/rasqal_literal.c: indent, style
* src/rasqal_literal.c: (rasqal_new_integer_literal,
rasqal_new_double_literal, rasqal_new_decimal_literal,
rasqal_new_string_literal) Set usage flag early to enable cleanup
with rasqal_free_literal().
* src/rasqal_literal.c: (rasqal_formula_join) Free second formula
even if neither formula has triples.
2007-10-02 Dave Beckett <dave@dajobe.org>
* tests/sparql/check-sparql: try to fix the pain of using XML::Simple
* tests/sparql/check-sparql: Save rasqal_date in output EARL
2007-10-02 Lauri Aalto <laalto@iki.fi>
* src/rasqal_literal.c,
tests/sparql/examples/Makefile.am: (rasqal_literal_compare) Return
type error when comparing plain and typed literals. Fixes
tests/sparql/examples/ex11_0
(sparql-query-example-Testing-Values-0).
* src/sparql_parser.y, tests/sparql/examples/Makefile.am:
(FilteredBasicGraphPattern) Push BlockOfTriplesOpt instead of
shifting.
Fixes Issue#000200 http://bugs.librdf.org/mantis/view.php?id=200
Fixes tests/sparql/examples/ex3 (sparql-query-example-e).
2007-10-01 Lauri Aalto <laalto@iki.fi>
* src/rasqal_engine.c: (rasqal_free_gp_data) Free triple_meta even
if gp is NULL.
(rasqal_engine_graph_pattern_init(rasqal_query_results) Check for
triple_meta alloc failure.
2007-09-30 Dave Beckett <dave@dajobe.org>
* tests/sparql/check-sparql: Add SVN info to version for EARL output
* tests/sparql/dawg, tests/sparql/dawg/LICENSE,
tests/sparql/dawg/README, tests/sparql/dawg/algebra,
tests/sparql/dawg/algebra/data-1.ttl,
tests/sparql/dawg/algebra/data-2.ttl,
tests/sparql/dawg/algebra/filter-nested-1.rq,
tests/sparql/dawg/algebra/filter-nested-1.srx,
tests/sparql/dawg/algebra/filter-nested-2.rq,
tests/sparql/dawg/algebra/filter-nested-2.srx,
tests/sparql/dawg/algebra/filter-placement-1.rq,
tests/sparql/dawg/algebra/filter-placement-1.srx,
tests/sparql/dawg/algebra/filter-placement-2.rq,
tests/sparql/dawg/algebra/filter-placement-2.srx,
tests/sparql/dawg/algebra/filter-placement-3.rq,
tests/sparql/dawg/algebra/filter-placement-3.srx,
tests/sparql/dawg/algebra/filter-scope-1.rq,
tests/sparql/dawg/algebra/filter-scope-1.srx,
tests/sparql/dawg/algebra/join-combo-1.rq,
tests/sparql/dawg/algebra/join-combo-1.srx,
tests/sparql/dawg/algebra/join-combo-2.rq,
tests/sparql/dawg/algebra/join-combo-2.srx,
tests/sparql/dawg/algebra/join-combo-graph-1.ttl,
tests/sparql/dawg/algebra/join-combo-graph-2.ttl,
tests/sparql/dawg/algebra/manifest.ttl,
tests/sparql/dawg/algebra/opt-filter-1.rq,
tests/sparql/dawg/algebra/opt-filter-1.srx,
tests/sparql/dawg/algebra/opt-filter-1.ttl,
tests/sparql/dawg/algebra/opt-filter-2.rq,
tests/sparql/dawg/algebra/opt-filter-2.srx,
tests/sparql/dawg/algebra/opt-filter-2.ttl,
tests/sparql/dawg/algebra/opt-filter-3.rq,
tests/sparql/dawg/algebra/opt-filter-3.srx,
tests/sparql/dawg/algebra/opt-filter-3.ttl,
tests/sparql/dawg/algebra/two-nested-opt-alt.rq,
tests/sparql/dawg/algebra/two-nested-opt-alt.srx,
tests/sparql/dawg/algebra/two-nested-opt.rq,
tests/sparql/dawg/algebra/two-nested-opt.srx,
tests/sparql/dawg/algebra/two-nested-opt.ttl,
tests/sparql/dawg/algebra/var-scope-join-1.rq,
tests/sparql/dawg/algebra/var-scope-join-1.srx,
tests/sparql/dawg/algebra/var-scope-join-1.ttl,
tests/sparql/dawg/algebra-expressions.txt, tests/sparql/dawg/ask,
tests/sparql/dawg/ask/ask-1.rq, tests/sparql/dawg/ask/ask-1.srx,
tests/sparql/dawg/ask/ask-4.rq, tests/sparql/dawg/ask/ask-4.srx,
tests/sparql/dawg/ask/ask-7.rq, tests/sparql/dawg/ask/ask-7.srx,
tests/sparql/dawg/ask/ask-8.rq, tests/sparql/dawg/ask/ask-8.srx,
tests/sparql/dawg/ask/data.ttl,
tests/sparql/dawg/ask/manifest.ttl, tests/sparql/dawg/basic,
tests/sparql/dawg/basic/base-prefix-1.rq,
tests/sparql/dawg/basic/base-prefix-1.srx,
tests/sparql/dawg/basic/base-prefix-2.rq,
tests/sparql/dawg/basic/base-prefix-2.srx,
tests/sparql/dawg/basic/base-prefix-3.rq,
tests/sparql/dawg/basic/base-prefix-3.srx,
tests/sparql/dawg/basic/base-prefix-4.rq,
tests/sparql/dawg/basic/base-prefix-4.srx,
tests/sparql/dawg/basic/base-prefix-5.rq,
tests/sparql/dawg/basic/base-prefix-5.srx,
tests/sparql/dawg/basic/bgp-no-match.rq,
tests/sparql/dawg/basic/bgp-no-match.srx,
tests/sparql/dawg/basic/data-1.ttl,
tests/sparql/dawg/basic/data-2.ttl,
tests/sparql/dawg/basic/data-3.ttl,
tests/sparql/dawg/basic/data-4.ttl,
tests/sparql/dawg/basic/data-5.ttl,
tests/sparql/dawg/basic/data-6.ttl,
tests/sparql/dawg/basic/data-7.ttl,
tests/sparql/dawg/basic/list-1.rq,
tests/sparql/dawg/basic/list-1.srx,
tests/sparql/dawg/basic/list-2.rq,
tests/sparql/dawg/basic/list-2.srx,
tests/sparql/dawg/basic/list-3.rq,
tests/sparql/dawg/basic/list-3.srx,
tests/sparql/dawg/basic/list-4.rq,
tests/sparql/dawg/basic/list-4.srx,
tests/sparql/dawg/basic/manifest.ttl,
tests/sparql/dawg/basic/prefix-name-1.rq,
tests/sparql/dawg/basic/prefix-name-1.srx,
tests/sparql/dawg/basic/quotes-1.rq,
tests/sparql/dawg/basic/quotes-1.srx,
tests/sparql/dawg/basic/quotes-2.rq,
tests/sparql/dawg/basic/quotes-2.srx,
tests/sparql/dawg/basic/quotes-3.rq,
tests/sparql/dawg/basic/quotes-3.srx,
tests/sparql/dawg/basic/quotes-4.rq,
tests/sparql/dawg/basic/quotes-4.srx,
tests/sparql/dawg/basic/spoo-1.rq,
tests/sparql/dawg/basic/spoo-1.srx,
tests/sparql/dawg/basic/term-1.rq,
tests/sparql/dawg/basic/term-1.srx,
tests/sparql/dawg/basic/term-2.rq,
tests/sparql/dawg/basic/term-2.srx,
tests/sparql/dawg/basic/term-3.rq,
tests/sparql/dawg/basic/term-3.srx,
tests/sparql/dawg/basic/term-4.rq,
tests/sparql/dawg/basic/term-4.srx,
tests/sparql/dawg/basic/term-5.rq,
tests/sparql/dawg/basic/term-5.srx,
tests/sparql/dawg/basic/term-6.rq,
tests/sparql/dawg/basic/term-6.srx,
tests/sparql/dawg/basic/term-7.rq,
tests/sparql/dawg/basic/term-7.srx,
tests/sparql/dawg/basic/term-8.rq,
tests/sparql/dawg/basic/term-8.srx,
tests/sparql/dawg/basic/term-9.rq,
tests/sparql/dawg/basic/term-9.srx,
tests/sparql/dawg/basic/var-1.rq,
tests/sparql/dawg/basic/var-1.srx,
tests/sparql/dawg/basic/var-2.rq,
tests/sparql/dawg/basic/var-2.srx,
tests/sparql/dawg/bnode-coreference,
tests/sparql/dawg/bnode-coreference/data.ttl,
tests/sparql/dawg/bnode-coreference/manifest.ttl,
tests/sparql/dawg/bnode-coreference/query.rq,
tests/sparql/dawg/bnode-coreference/result.ttl,
tests/sparql/dawg/boolean-effective-value,
tests/sparql/dawg/boolean-effective-value/data-1.ttl,
tests/sparql/dawg/boolean-effective-value/data-2.ttl,
tests/sparql/dawg/boolean-effective-value/manifest.ttl,
tests/sparql/dawg/boolean-effective-value/query-bev-1.rq,
tests/sparql/dawg/boolean-effective-value/query-bev-2.rq,
tests/sparql/dawg/boolean-effective-value/query-bev-3.rq,
tests/sparql/dawg/boolean-effective-value/query-bev-4.rq,
tests/sparql/dawg/boolean-effective-value/query-bev-5.rq,
tests/sparql/dawg/boolean-effective-value/query-bev-6.rq,
tests/sparql/dawg/boolean-effective-value/query-boolean-literal.rq,
tests/sparql/dawg/boolean-effective-value/result-bev-1.ttl,
tests/sparql/dawg/boolean-effective-value/result-bev-2.ttl,
tests/sparql/dawg/boolean-effective-value/result-bev-3.ttl,
tests/sparql/dawg/boolean-effective-value/result-bev-4.ttl,
tests/sparql/dawg/boolean-effective-value/result-bev-5.ttl,
tests/sparql/dawg/boolean-effective-value/result-bev-6.ttl,
tests/sparql/dawg/boolean-effective-value/result-boolean-literal.ttl,
tests/sparql/dawg/bound,
tests/sparql/dawg/bound/bound1-result.ttl,
tests/sparql/dawg/bound/bound1.rq,
tests/sparql/dawg/bound/data.ttl,
tests/sparql/dawg/bound/manifest.ttl, tests/sparql/dawg/cast,
tests/sparql/dawg/cast/cast-bool.rq,
tests/sparql/dawg/cast/cast-bool.srx,
tests/sparql/dawg/cast/cast-dT.rq,
tests/sparql/dawg/cast/cast-dT.srx,
tests/sparql/dawg/cast/cast-dbl.rq,
tests/sparql/dawg/cast/cast-dbl.srx,
tests/sparql/dawg/cast/cast-dec.rq,
tests/sparql/dawg/cast/cast-dec.srx,
tests/sparql/dawg/cast/cast-flt.rq,
tests/sparql/dawg/cast/cast-flt.srx,
tests/sparql/dawg/cast/cast-int.rq,
tests/sparql/dawg/cast/cast-int.srx,
tests/sparql/dawg/cast/cast-str.rq,
tests/sparql/dawg/cast/cast-str.srx,
tests/sparql/dawg/cast/data.ttl,
tests/sparql/dawg/cast/manifest.ttl, tests/sparql/dawg/construct,
tests/sparql/dawg/construct/data-ident.ttl,
tests/sparql/dawg/construct/data-opt.ttl,
tests/sparql/dawg/construct/data-reif.ttl,
tests/sparql/dawg/construct/manifest.ttl,
tests/sparql/dawg/construct/query-construct-optional.rq,
tests/sparql/dawg/construct/query-ident.rq,
tests/sparql/dawg/construct/query-reif-1.rq,
tests/sparql/dawg/construct/query-reif-2.rq,
tests/sparql/dawg/construct/query-subgraph.rq,
tests/sparql/dawg/construct/result-construct-optional.ttl,
tests/sparql/dawg/construct/result-ident.ttl,
tests/sparql/dawg/construct/result-reif.ttl,
tests/sparql/dawg/construct/result-subgraph.ttl,
tests/sparql/dawg/dataset, tests/sparql/dawg/dataset/data-g1.ttl,
tests/sparql/dawg/dataset/data-g2.ttl,
tests/sparql/dawg/dataset/data-g3.ttl,
tests/sparql/dawg/dataset/data-g4.ttl,
tests/sparql/dawg/dataset/dataset-01.rq,
tests/sparql/dawg/dataset/dataset-01.ttl,
tests/sparql/dawg/dataset/dataset-02.rq,
tests/sparql/dawg/dataset/dataset-02.ttl,
tests/sparql/dawg/dataset/dataset-03.rq,
tests/sparql/dawg/dataset/dataset-03.ttl,
tests/sparql/dawg/dataset/dataset-04.rq,
tests/sparql/dawg/dataset/dataset-04.ttl,
tests/sparql/dawg/dataset/dataset-05.rq,
tests/sparql/dawg/dataset/dataset-05.ttl,
tests/sparql/dawg/dataset/dataset-06.rq,
tests/sparql/dawg/dataset/dataset-06.ttl,
tests/sparql/dawg/dataset/dataset-07.rq,
tests/sparql/dawg/dataset/dataset-07.ttl,
tests/sparql/dawg/dataset/dataset-08.rq,
tests/sparql/dawg/dataset/dataset-08.ttl,
tests/sparql/dawg/dataset/dataset-09.rq,
tests/sparql/dawg/dataset/dataset-09.ttl,
tests/sparql/dawg/dataset/dataset-10.rq,
tests/sparql/dawg/dataset/dataset-10.ttl,
tests/sparql/dawg/dataset/dataset-11.rq,
tests/sparql/dawg/dataset/dataset-11.ttl,
tests/sparql/dawg/dataset/dataset-12.rq,
tests/sparql/dawg/dataset/dataset-12.ttl,
tests/sparql/dawg/dataset/manifest.ttl,
tests/sparql/dawg/distinct,
tests/sparql/dawg/distinct/data-all.ttl,
tests/sparql/dawg/distinct/data-node.ttl,
tests/sparql/dawg/distinct/data-num.ttl,
tests/sparql/dawg/distinct/data-opt.ttl,
tests/sparql/dawg/distinct/data-star.ttl,
tests/sparql/dawg/distinct/data-str.ttl,
tests/sparql/dawg/distinct/distinct-1-results.srx,
tests/sparql/dawg/distinct/distinct-1.rq,
tests/sparql/dawg/distinct/distinct-2.rq,
tests/sparql/dawg/distinct/distinct-all.srx,
tests/sparql/dawg/distinct/distinct-node.srx,
tests/sparql/dawg/distinct/distinct-num.srx,
tests/sparql/dawg/distinct/distinct-opt.srx,
tests/sparql/dawg/distinct/distinct-star-1.rq,
tests/sparql/dawg/distinct/distinct-star-1.srx,
tests/sparql/dawg/distinct/distinct-str.srx,
tests/sparql/dawg/distinct/manifest.ttl,
tests/sparql/dawg/distinct/no-distinct-1.rq,
tests/sparql/dawg/distinct/no-distinct-2.rq,
tests/sparql/dawg/distinct/no-distinct-all.srx,
tests/sparql/dawg/distinct/no-distinct-node.srx,
tests/sparql/dawg/distinct/no-distinct-num.srx,
tests/sparql/dawg/distinct/no-distinct-opt.srx,
tests/sparql/dawg/distinct/no-distinct-str.srx,
tests/sparql/dawg/expr-builtin,
tests/sparql/dawg/expr-builtin/data-builtin-1.ttl,
tests/sparql/dawg/expr-builtin/data-builtin-2.ttl,
tests/sparql/dawg/expr-builtin/data-langMatches-de.ttl,
tests/sparql/dawg/expr-builtin/data-langMatches.ttl,
tests/sparql/dawg/expr-builtin/lang-case-insensitive-eq.srx,
tests/sparql/dawg/expr-builtin/lang-case-insensitive-ne.srx,
tests/sparql/dawg/expr-builtin/lang-case-sensitivity-eq.rq,
tests/sparql/dawg/expr-builtin/lang-case-sensitivity-ne.rq,
tests/sparql/dawg/expr-builtin/lang-case-sensitivity.ttl,
tests/sparql/dawg/expr-builtin/manifest.ttl,
tests/sparql/dawg/expr-builtin/q-blank-1.rq,
tests/sparql/dawg/expr-builtin/q-datatype-1.rq,
tests/sparql/dawg/expr-builtin/q-datatype-2.rq,
tests/sparql/dawg/expr-builtin/q-datatype-3.rq,
tests/sparql/dawg/expr-builtin/q-iri-1.rq,
tests/sparql/dawg/expr-builtin/q-isliteral-1.rq,
tests/sparql/dawg/expr-builtin/q-lang-1.rq,
tests/sparql/dawg/expr-builtin/q-lang-2.rq,
tests/sparql/dawg/expr-builtin/q-lang-3.rq,
tests/sparql/dawg/expr-builtin/q-langMatches-1.rq,
tests/sparql/dawg/expr-builtin/q-langMatches-2.rq,
tests/sparql/dawg/expr-builtin/q-langMatches-3.rq,
tests/sparql/dawg/expr-builtin/q-langMatches-4.rq,
tests/sparql/dawg/expr-builtin/q-langMatches-de-de.rq,
tests/sparql/dawg/expr-builtin/q-str-1.rq,
tests/sparql/dawg/expr-builtin/q-str-2.rq,
tests/sparql/dawg/expr-builtin/q-str-3.rq,
tests/sparql/dawg/expr-builtin/q-str-4.rq,
tests/sparql/dawg/expr-builtin/q-uri-1.rq,
tests/sparql/dawg/expr-builtin/result-blank-1.ttl,
tests/sparql/dawg/expr-builtin/result-datatype-1.ttl,
tests/sparql/dawg/expr-builtin/result-datatype-2.srx,
tests/sparql/dawg/expr-builtin/result-datatype-3.srx,
tests/sparql/dawg/expr-builtin/result-iri-1.ttl,
tests/sparql/dawg/expr-builtin/result-isliteral-1.ttl,
tests/sparql/dawg/expr-builtin/result-lang-1.srx,
tests/sparql/dawg/expr-builtin/result-lang-2.srx,
tests/sparql/dawg/expr-builtin/result-lang-3.srx,
tests/sparql/dawg/expr-builtin/result-langMatches-1.ttl,
tests/sparql/dawg/expr-builtin/result-langMatches-2.ttl,
tests/sparql/dawg/expr-builtin/result-langMatches-3.ttl,
tests/sparql/dawg/expr-builtin/result-langMatches-4.ttl,
tests/sparql/dawg/expr-builtin/result-langMatches-de.ttl,
tests/sparql/dawg/expr-builtin/result-str-1.ttl,
tests/sparql/dawg/expr-builtin/result-str-2.ttl,
tests/sparql/dawg/expr-builtin/result-str-3.ttl,
tests/sparql/dawg/expr-builtin/result-str-4.ttl,
tests/sparql/dawg/expr-builtin/result-uri-1.ttl,
tests/sparql/dawg/expr-equals,
tests/sparql/dawg/expr-equals/data-eq.ttl,
tests/sparql/dawg/expr-equals/manifest.ttl,
tests/sparql/dawg/expr-equals/query-eq-1.rq,
tests/sparql/dawg/expr-equals/query-eq-2.rq,
tests/sparql/dawg/expr-equals/query-eq-3.rq,
tests/sparql/dawg/expr-equals/query-eq-4.rq,
tests/sparql/dawg/expr-equals/query-eq-5.rq,
tests/sparql/dawg/expr-equals/query-eq-graph-1.rq,
tests/sparql/dawg/expr-equals/query-eq-graph-2.rq,
tests/sparql/dawg/expr-equals/query-eq-graph-3.rq,
tests/sparql/dawg/expr-equals/query-eq-graph-4.rq,
tests/sparql/dawg/expr-equals/query-eq-graph-5.rq,
tests/sparql/dawg/expr-equals/query-eq2-1.rq,
tests/sparql/dawg/expr-equals/query-eq2-2.rq,
tests/sparql/dawg/expr-equals/query-eq2-graph-1.rq,
tests/sparql/dawg/expr-equals/result-eq-1.ttl,
tests/sparql/dawg/expr-equals/result-eq-2.ttl,
tests/sparql/dawg/expr-equals/result-eq-3.ttl,
tests/sparql/dawg/expr-equals/result-eq-4.ttl,
tests/sparql/dawg/expr-equals/result-eq-5.ttl,
tests/sparql/dawg/expr-equals/result-eq-graph-1.ttl,
tests/sparql/dawg/expr-equals/result-eq-graph-2.ttl,
tests/sparql/dawg/expr-equals/result-eq-graph-3.ttl,
tests/sparql/dawg/expr-equals/result-eq-graph-4.ttl,
tests/sparql/dawg/expr-equals/result-eq-graph-5.ttl,
tests/sparql/dawg/expr-equals/result-eq2-1.ttl,
tests/sparql/dawg/expr-equals/result-eq2-2.ttl,
tests/sparql/dawg/expr-equals/result-eq2-graph-1.ttl,
tests/sparql/dawg/expr-ops, tests/sparql/dawg/expr-ops/data.ttl,
tests/sparql/dawg/expr-ops/manifest.ttl,
tests/sparql/dawg/expr-ops/query-ge-1.rq,
tests/sparql/dawg/expr-ops/query-le-1.rq,
tests/sparql/dawg/expr-ops/query-minus-1.rq,
tests/sparql/dawg/expr-ops/query-mul-1.rq,
tests/sparql/dawg/expr-ops/query-plus-1.rq,
tests/sparql/dawg/expr-ops/query-unminus-1.rq,
tests/sparql/dawg/expr-ops/query-unplus-1.rq,
tests/sparql/dawg/expr-ops/result-ge-1.srx,
tests/sparql/dawg/expr-ops/result-le-1.srx,
tests/sparql/dawg/expr-ops/result-minus-1.srx,
tests/sparql/dawg/expr-ops/result-mul-1.srx,
tests/sparql/dawg/expr-ops/result-plus-1.srx,
tests/sparql/dawg/expr-ops/result-unminus-1.srx,
tests/sparql/dawg/expr-ops/result-unplus-1.srx,
tests/sparql/dawg/extended-manifest-evaluation.ttl,
tests/sparql/dawg/graph, tests/sparql/dawg/graph/data-g1.ttl,
tests/sparql/dawg/graph/data-g2.ttl,
tests/sparql/dawg/graph/data-g3.ttl,
tests/sparql/dawg/graph/data-g4.ttl,
tests/sparql/dawg/graph/graph-01.rq,
tests/sparql/dawg/graph/graph-01.ttl,
tests/sparql/dawg/graph/graph-02.rq,
tests/sparql/dawg/graph/graph-02.ttl,
tests/sparql/dawg/graph/graph-03.rq,
tests/sparql/dawg/graph/graph-03.ttl,
tests/sparql/dawg/graph/graph-04.rq,
tests/sparql/dawg/graph/graph-04.ttl,
tests/sparql/dawg/graph/graph-05.rq,
tests/sparql/dawg/graph/graph-05.ttl,
tests/sparql/dawg/graph/graph-06.rq,
tests/sparql/dawg/graph/graph-06.ttl,
tests/sparql/dawg/graph/graph-07.rq,
tests/sparql/dawg/graph/graph-07.ttl,
tests/sparql/dawg/graph/graph-08.rq,
tests/sparql/dawg/graph/graph-08.ttl,
tests/sparql/dawg/graph/graph-09.rq,
tests/sparql/dawg/graph/graph-09.ttl,
tests/sparql/dawg/graph/graph-10.rq,
tests/sparql/dawg/graph/graph-10.ttl,
tests/sparql/dawg/graph/graph-11.rq,
tests/sparql/dawg/graph/graph-11.ttl,
tests/sparql/dawg/graph/manifest.ttl, tests/sparql/dawg/i18n,
tests/sparql/dawg/i18n/.htaccess,
tests/sparql/dawg/i18n/kanji-01-results.ttl,
tests/sparql/dawg/i18n/kanji-01.rq,
tests/sparql/dawg/i18n/kanji-02-results.ttl,
tests/sparql/dawg/i18n/kanji-02.rq,
tests/sparql/dawg/i18n/kanji.ttl,
tests/sparql/dawg/i18n/manifest.ttl,
tests/sparql/dawg/i18n/normalization-01-results.ttl,
tests/sparql/dawg/i18n/normalization-01.rq,
tests/sparql/dawg/i18n/normalization-01.ttl,
tests/sparql/dawg/i18n/normalization-02-results.ttl,
tests/sparql/dawg/i18n/normalization-02.rq,
tests/sparql/dawg/i18n/normalization-02.ttl,
tests/sparql/dawg/i18n/normalization-03-results.ttl,
tests/sparql/dawg/i18n/normalization-03.rq,
tests/sparql/dawg/i18n/normalization-03.ttl,
tests/sparql/dawg/manifest-evaluation.ttl,
tests/sparql/dawg/manifest-syntax.ttl,
tests/sparql/dawg/open-world,
tests/sparql/dawg/open-world/data-1.ttl,
tests/sparql/dawg/open-world/data-2.ttl,
tests/sparql/dawg/open-world/data-3.ttl,
tests/sparql/dawg/open-world/data-4.ttl,
tests/sparql/dawg/open-world/date-1-result.srx,
tests/sparql/dawg/open-world/date-1.rq,
tests/sparql/dawg/open-world/date-2-result.srx,
tests/sparql/dawg/open-world/date-2.rq,
tests/sparql/dawg/open-world/date-3-result.srx,
tests/sparql/dawg/open-world/date-3.rq,
tests/sparql/dawg/open-world/date-4-result.srx,
tests/sparql/dawg/open-world/date-4.rq,
tests/sparql/dawg/open-world/manifest.ttl,
tests/sparql/dawg/open-world/open-cmp-01-result.srx,
tests/sparql/dawg/open-world/open-cmp-01.rq,
tests/sparql/dawg/open-world/open-cmp-02-result.srx,
tests/sparql/dawg/open-world/open-cmp-02.rq,
tests/sparql/dawg/open-world/open-eq-01-result.srx,
tests/sparql/dawg/open-world/open-eq-01.rq,
tests/sparql/dawg/open-world/open-eq-02-result.srx,
tests/sparql/dawg/open-world/open-eq-02.rq,
tests/sparql/dawg/open-world/open-eq-03-result.srx,
tests/sparql/dawg/open-world/open-eq-03.rq,
tests/sparql/dawg/open-world/open-eq-04-result.srx,
tests/sparql/dawg/open-world/open-eq-04.rq,
tests/sparql/dawg/open-world/open-eq-05-result.srx,
tests/sparql/dawg/open-world/open-eq-05.rq,
tests/sparql/dawg/open-world/open-eq-06-result.srx,
tests/sparql/dawg/open-world/open-eq-06.rq,
tests/sparql/dawg/open-world/open-eq-07-result.srx,
tests/sparql/dawg/open-world/open-eq-07.rq,
tests/sparql/dawg/open-world/open-eq-08-result.srx,
tests/sparql/dawg/open-world/open-eq-08.rq,
tests/sparql/dawg/open-world/open-eq-09-result.srx,
tests/sparql/dawg/open-world/open-eq-09.rq,
tests/sparql/dawg/open-world/open-eq-10-result.srx,
tests/sparql/dawg/open-world/open-eq-10.rq,
tests/sparql/dawg/open-world/open-eq-11-result.srx,
tests/sparql/dawg/open-world/open-eq-11.rq,
tests/sparql/dawg/open-world/open-eq-12-result.srx,
tests/sparql/dawg/open-world/open-eq-12.rq,
tests/sparql/dawg/open-world/sameTerm-StringSimpleLiteralCmp.srx,
tests/sparql/dawg/open-world/sameTerm-eq-StringSimpleLiteralCmp.srx,
tests/sparql/dawg/open-world/sameTerm-eq.rq,
tests/sparql/dawg/open-world/sameTerm-eq.srx,
tests/sparql/dawg/open-world/sameTerm-manifest.ttl,
tests/sparql/dawg/open-world/sameTerm-not-eq-StringSimpleLiteralCmp.srx,
tests/sparql/dawg/open-world/sameTerm-not-eq.rq,
tests/sparql/dawg/open-world/sameTerm-not-eq.srx,
tests/sparql/dawg/open-world/sameTerm.rq,
tests/sparql/dawg/open-world/sameTerm.srx,
tests/sparql/dawg/open-world/sameTerm.ttl,
tests/sparql/dawg/optional,
tests/sparql/dawg/optional/complex-data-1.ttl,
tests/sparql/dawg/optional/complex-data-2.ttl,
tests/sparql/dawg/optional/data.ttl,
tests/sparql/dawg/optional/manifest.ttl,
tests/sparql/dawg/optional/q-opt-1.rq,
tests/sparql/dawg/optional/q-opt-2.rq,
tests/sparql/dawg/optional/q-opt-3.rq,
tests/sparql/dawg/optional/q-opt-complex-1.rq,
tests/sparql/dawg/optional/q-opt-complex-2.rq,
tests/sparql/dawg/optional/q-opt-complex-3.rq,
tests/sparql/dawg/optional/q-opt-complex-4.rq,
tests/sparql/dawg/optional/result-opt-1.ttl,
tests/sparql/dawg/optional/result-opt-2.ttl,
tests/sparql/dawg/optional/result-opt-3.ttl,
tests/sparql/dawg/optional/result-opt-complex-1.ttl,
tests/sparql/dawg/optional/result-opt-complex-2.ttl,
tests/sparql/dawg/optional/result-opt-complex-3.ttl,
tests/sparql/dawg/optional/result-opt-complex-4.ttl,
tests/sparql/dawg/optional-filter,
tests/sparql/dawg/optional-filter/data-1.ttl,
tests/sparql/dawg/optional-filter/expr-1-result.ttl,
tests/sparql/dawg/optional-filter/expr-1.rq,
tests/sparql/dawg/optional-filter/expr-2-result.ttl,
tests/sparql/dawg/optional-filter/expr-2.rq,
tests/sparql/dawg/optional-filter/expr-3-result.ttl,
tests/sparql/dawg/optional-filter/expr-3.rq,
tests/sparql/dawg/optional-filter/manifest.ttl,
tests/sparql/dawg/regex, tests/sparql/dawg/regex/manifest.ttl,
tests/sparql/dawg/regex/regex-data-01.ttl,
tests/sparql/dawg/regex/regex-query-001.rq,
tests/sparql/dawg/regex/regex-query-002.rq,
tests/sparql/dawg/regex/regex-query-003.rq,
tests/sparql/dawg/regex/regex-query-004.rq,
tests/sparql/dawg/regex/regex-result-001.ttl,
tests/sparql/dawg/regex/regex-result-002.ttl,
tests/sparql/dawg/regex/regex-result-003.ttl,
tests/sparql/dawg/regex/regex-result-004.ttl,
tests/sparql/dawg/slice, tests/sparql/dawg/solution-seq,
tests/sparql/dawg/solution-seq/data.ttl,
tests/sparql/dawg/solution-seq/manifest.ttl,
tests/sparql/dawg/solution-seq/slice-01.rq,
tests/sparql/dawg/solution-seq/slice-02.rq,
tests/sparql/dawg/solution-seq/slice-03.rq,
tests/sparql/dawg/solution-seq/slice-04.rq,
tests/sparql/dawg/solution-seq/slice-10.rq,
tests/sparql/dawg/solution-seq/slice-11.rq,
tests/sparql/dawg/solution-seq/slice-12.rq,
tests/sparql/dawg/solution-seq/slice-13.rq,
tests/sparql/dawg/solution-seq/slice-20.rq,
tests/sparql/dawg/solution-seq/slice-21.rq,
tests/sparql/dawg/solution-seq/slice-22.rq,
tests/sparql/dawg/solution-seq/slice-23.rq,
tests/sparql/dawg/solution-seq/slice-24.rq,
tests/sparql/dawg/solution-seq/slice-results-01.ttl,
tests/sparql/dawg/solution-seq/slice-results-02.ttl,
tests/sparql/dawg/solution-seq/slice-results-03.ttl,
tests/sparql/dawg/solution-seq/slice-results-04.ttl,
tests/sparql/dawg/solution-seq/slice-results-10.ttl,
tests/sparql/dawg/solution-seq/slice-results-11.ttl,
tests/sparql/dawg/solution-seq/slice-results-12.ttl,
tests/sparql/dawg/solution-seq/slice-results-13.ttl,
tests/sparql/dawg/solution-seq/slice-results-20.ttl,
tests/sparql/dawg/solution-seq/slice-results-21.ttl,
tests/sparql/dawg/solution-seq/slice-results-22.ttl,
tests/sparql/dawg/solution-seq/slice-results-23.ttl,
tests/sparql/dawg/solution-seq/slice-results-24.ttl,
tests/sparql/dawg/sort, tests/sparql/dawg/sort/.manifest.ttl.swp,
tests/sparql/dawg/sort/data-sort-1.ttl,
tests/sparql/dawg/sort/data-sort-11.ttl,
tests/sparql/dawg/sort/data-sort-3.ttl,
tests/sparql/dawg/sort/data-sort-4.ttl,
tests/sparql/dawg/sort/data-sort-6.ttl,
tests/sparql/dawg/sort/data-sort-7.ttl,
tests/sparql/dawg/sort/data-sort-8.ttl,
tests/sparql/dawg/sort/data-sort-9.ttl,
tests/sparql/dawg/sort/data-sort-builtin.ttl,
tests/sparql/dawg/sort/data-sort-function.ttl,
tests/sparql/dawg/sort/data-sort-numbers.ttl,
tests/sparql/dawg/sort/extended-manifest.ttl,
tests/sparql/dawg/sort/manifest.ttl,
tests/sparql/dawg/sort/query-sort-1.rq,
tests/sparql/dawg/sort/query-sort-10.rq,
tests/sparql/dawg/sort/query-sort-2.rq,
tests/sparql/dawg/sort/query-sort-3.rq,
tests/sparql/dawg/sort/query-sort-4.rq,
tests/sparql/dawg/sort/query-sort-5.rq,
tests/sparql/dawg/sort/query-sort-6.rq,
tests/sparql/dawg/sort/query-sort-9.rq,
tests/sparql/dawg/sort/query-sort-builtin.rq,
tests/sparql/dawg/sort/query-sort-function.rq,
tests/sparql/dawg/sort/query-sort-numbers.rq,
tests/sparql/dawg/sort/result-sort-1.rdf,
tests/sparql/dawg/sort/result-sort-10.rdf,
tests/sparql/dawg/sort/result-sort-11.ttl,
tests/sparql/dawg/sort/result-sort-2.rdf,
tests/sparql/dawg/sort/result-sort-3.rdf,
tests/sparql/dawg/sort/result-sort-4.rdf,
tests/sparql/dawg/sort/result-sort-5.rdf,
tests/sparql/dawg/sort/result-sort-6.rdf,
tests/sparql/dawg/sort/result-sort-7.rdf,
tests/sparql/dawg/sort/result-sort-8.rdf,
tests/sparql/dawg/sort/result-sort-9.rdf,
tests/sparql/dawg/sort/result-sort-builtin.ttl,
tests/sparql/dawg/sort/result-sort-function.ttl,
tests/sparql/dawg/sort/result-sort-numbers.ttl,
tests/sparql/dawg/syntax, tests/sparql/dawg/syntax-sparql1,
tests/sparql/dawg/syntax-sparql1/manifest.ttl,
tests/sparql/dawg/syntax-sparql1/syntax-basic-01.rq,
tests/sparql/dawg/syntax-sparql1/syntax-basic-02.rq,
tests/sparql/dawg/syntax-sparql1/syntax-basic-03.rq,
tests/sparql/dawg/syntax-sparql1/syntax-basic-04.rq,
tests/sparql/dawg/syntax-sparql1/syntax-basic-05.rq,
tests/sparql/dawg/syntax-sparql1/syntax-basic-06.rq,
tests/sparql/dawg/syntax-sparql1/syntax-bnodes-01.rq,
tests/sparql/dawg/syntax-sparql1/syntax-bnodes-02.rq,
tests/sparql/dawg/syntax-sparql1/syntax-bnodes-03.rq,
tests/sparql/dawg/syntax-sparql1/syntax-bnodes-04.rq,
tests/sparql/dawg/syntax-sparql1/syntax-bnodes-05.rq,
tests/sparql/dawg/syntax-sparql1/syntax-expr-01.rq,
tests/sparql/dawg/syntax-sparql1/syntax-expr-02.rq,
tests/sparql/dawg/syntax-sparql1/syntax-expr-03.rq,
tests/sparql/dawg/syntax-sparql1/syntax-expr-04.rq,
tests/sparql/dawg/syntax-sparql1/syntax-expr-05.rq,
tests/sparql/dawg/syntax-sparql1/syntax-forms-01.rq,
tests/sparql/dawg/syntax-sparql1/syntax-forms-02.rq,
tests/sparql/dawg/syntax-sparql1/syntax-limit-offset-01.rq,
tests/sparql/dawg/syntax-sparql1/syntax-limit-offset-02.rq,
tests/sparql/dawg/syntax-sparql1/syntax-limit-offset-03.rq,
tests/sparql/dawg/syntax-sparql1/syntax-limit-offset-04.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lists-01.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lists-02.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lists-03.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lists-04.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lists-05.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-01.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-02.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-03.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-04.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-05.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-06.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-07.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-08.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-09.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-10.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-11.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-12.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-13.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-14.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-15.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-16.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-17.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-18.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-19.rq,
tests/sparql/dawg/syntax-sparql1/syntax-lit-20.rq,
tests/sparql/dawg/syntax-sparql1/syntax-order-01.rq,
tests/sparql/dawg/syntax-sparql1/syntax-order-02.rq,
tests/sparql/dawg/syntax-sparql1/syntax-order-03.rq,
tests/sparql/dawg/syntax-sparql1/syntax-order-04.rq,
tests/sparql/dawg/syntax-sparql1/syntax-order-05.rq,
tests/sparql/dawg/syntax-sparql1/syntax-order-06.rq,
tests/sparql/dawg/syntax-sparql1/syntax-order-07.rq,
tests/sparql/dawg/syntax-sparql1/syntax-pat-01.rq,
tests/sparql/dawg/syntax-sparql1/syntax-pat-02.rq,
tests/sparql/dawg/syntax-sparql1/syntax-pat-03.rq,
tests/sparql/dawg/syntax-sparql1/syntax-pat-04.rq,
tests/sparql/dawg/syntax-sparql1/syntax-qname-01.rq,
tests/sparql/dawg/syntax-sparql1/syntax-qname-02.rq,
tests/sparql/dawg/syntax-sparql1/syntax-qname-03.rq,
tests/sparql/dawg/syntax-sparql1/syntax-qname-04.rq,
tests/sparql/dawg/syntax-sparql1/syntax-qname-05.rq,
tests/sparql/dawg/syntax-sparql1/syntax-qname-06.rq,
tests/sparql/dawg/syntax-sparql1/syntax-qname-07.rq,
tests/sparql/dawg/syntax-sparql1/syntax-qname-08.rq,
tests/sparql/dawg/syntax-sparql1/syntax-struct-01.rq,
tests/sparql/dawg/syntax-sparql1/syntax-struct-02.rq,
tests/sparql/dawg/syntax-sparql1/syntax-struct-03.rq,
tests/sparql/dawg/syntax-sparql1/syntax-struct-05.rq,
tests/sparql/dawg/syntax-sparql1/syntax-struct-06.rq,
tests/sparql/dawg/syntax-sparql1/syntax-struct-07.rq,
tests/sparql/dawg/syntax-sparql1/syntax-struct-08.rq,
tests/sparql/dawg/syntax-sparql1/syntax-struct-09.rq,
tests/sparql/dawg/syntax-sparql1/syntax-struct-10.rq,
tests/sparql/dawg/syntax-sparql1/syntax-struct-11.rq,
tests/sparql/dawg/syntax-sparql1/syntax-struct-12.rq,
tests/sparql/dawg/syntax-sparql1/syntax-struct-13.rq,
tests/sparql/dawg/syntax-sparql1/syntax-struct-14.rq,
tests/sparql/dawg/syntax-sparql1/syntax-union-01.rq,
tests/sparql/dawg/syntax-sparql1/syntax-union-02.rq,
tests/sparql/dawg/syntax-sparql2,
tests/sparql/dawg/syntax-sparql2/manifest.ttl,
tests/sparql/dawg/syntax-sparql2/syntax-bnode-01.rq,
tests/sparql/dawg/syntax-sparql2/syntax-bnode-02.rq,
tests/sparql/dawg/syntax-sparql2/syntax-bnode-03.rq,
tests/sparql/dawg/syntax-sparql2/syntax-dataset-01.rq,
tests/sparql/dawg/syntax-sparql2/syntax-dataset-02.rq,
tests/sparql/dawg/syntax-sparql2/syntax-dataset-03.rq,
tests/sparql/dawg/syntax-sparql2/syntax-dataset-04.rq,
tests/sparql/dawg/syntax-sparql2/syntax-esc-01.rq,
tests/sparql/dawg/syntax-sparql2/syntax-esc-02.rq,
tests/sparql/dawg/syntax-sparql2/syntax-esc-03.rq,
tests/sparql/dawg/syntax-sparql2/syntax-esc-04.rq,
tests/sparql/dawg/syntax-sparql2/syntax-esc-05.rq,
tests/sparql/dawg/syntax-sparql2/syntax-form-ask-02.rq,
tests/sparql/dawg/syntax-sparql2/syntax-form-construct01.rq,
tests/sparql/dawg/syntax-sparql2/syntax-form-construct02.rq,
tests/sparql/dawg/syntax-sparql2/syntax-form-construct03.rq,
tests/sparql/dawg/syntax-sparql2/syntax-form-construct04.rq,
tests/sparql/dawg/syntax-sparql2/syntax-form-construct06.rq,
tests/sparql/dawg/syntax-sparql2/syntax-form-describe01.rq,
tests/sparql/dawg/syntax-sparql2/syntax-form-describe02.rq,
tests/sparql/dawg/syntax-sparql2/syntax-form-select-01.rq,
tests/sparql/dawg/syntax-sparql2/syntax-form-select-02.rq,
tests/sparql/dawg/syntax-sparql2/syntax-function-01.rq,
tests/sparql/dawg/syntax-sparql2/syntax-function-02.rq,
tests/sparql/dawg/syntax-sparql2/syntax-function-03.rq,
tests/sparql/dawg/syntax-sparql2/syntax-function-04.rq,
tests/sparql/dawg/syntax-sparql2/syntax-general-01.rq,
tests/sparql/dawg/syntax-sparql2/syntax-general-02.rq,
tests/sparql/dawg/syntax-sparql2/syntax-general-03.rq,
tests/sparql/dawg/syntax-sparql2/syntax-general-04.rq,
tests/sparql/dawg/syntax-sparql2/syntax-general-05.rq,
tests/sparql/dawg/syntax-sparql2/syntax-general-06.rq,
tests/sparql/dawg/syntax-sparql2/syntax-general-07.rq,
tests/sparql/dawg/syntax-sparql2/syntax-general-08.rq,
tests/sparql/dawg/syntax-sparql2/syntax-general-09.rq,
tests/sparql/dawg/syntax-sparql2/syntax-general-10.rq,
tests/sparql/dawg/syntax-sparql2/syntax-general-11.rq,
tests/sparql/dawg/syntax-sparql2/syntax-general-12.rq,
tests/sparql/dawg/syntax-sparql2/syntax-general-13.rq,
tests/sparql/dawg/syntax-sparql2/syntax-general-14.rq,
tests/sparql/dawg/syntax-sparql2/syntax-graph-01.rq,
tests/sparql/dawg/syntax-sparql2/syntax-graph-02.rq,
tests/sparql/dawg/syntax-sparql2/syntax-graph-03.rq,
tests/sparql/dawg/syntax-sparql2/syntax-graph-04.rq,
tests/sparql/dawg/syntax-sparql2/syntax-graph-05.rq,
tests/sparql/dawg/syntax-sparql2/syntax-keywords-01.rq,
tests/sparql/dawg/syntax-sparql2/syntax-keywords-02.rq,
tests/sparql/dawg/syntax-sparql2/syntax-keywords-03.rq,
tests/sparql/dawg/syntax-sparql2/syntax-lists-01.rq,
tests/sparql/dawg/syntax-sparql2/syntax-lists-02.rq,
tests/sparql/dawg/syntax-sparql2/syntax-lists-03.rq,
tests/sparql/dawg/syntax-sparql2/syntax-lists-04.rq,
tests/sparql/dawg/syntax-sparql2/syntax-lists-05.rq,
tests/sparql/dawg/syntax-sparql3,
tests/sparql/dawg/syntax-sparql3/manifest.ttl,
tests/sparql/dawg/syntax-sparql3/syn-01.rq,
tests/sparql/dawg/syntax-sparql3/syn-02.rq,
tests/sparql/dawg/syntax-sparql3/syn-03.rq,
tests/sparql/dawg/syntax-sparql3/syn-04.rq,
tests/sparql/dawg/syntax-sparql3/syn-05.rq,
tests/sparql/dawg/syntax-sparql3/syn-06.rq,
tests/sparql/dawg/syntax-sparql3/syn-07.rq,
tests/sparql/dawg/syntax-sparql3/syn-08.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-01.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-02.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-03.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-04.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-05.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-06.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-07.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-08.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-09.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-10.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-11.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-12.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-13.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-14.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-15.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-16.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-17.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-18.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-19.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-20.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-21.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-22.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-23.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-24.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-25.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-26.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-27.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-28.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-29.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-30.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-31.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-bnode-dot.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-bnodes-missing-pvalues-01.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-bnodes-missing-pvalues-02.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-empty-optional-01.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-empty-optional-02.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-filter-missing-parens.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-lone-list.rq,
tests/sparql/dawg/syntax-sparql3/syn-bad-lone-node.rq,
tests/sparql/dawg/syntax-sparql3/syn-blabel-cross-filter.rq,
tests/sparql/dawg/syntax-sparql3/syn-blabel-cross-graph-bad.rq,
tests/sparql/dawg/syntax-sparql3/syn-blabel-cross-optional-bad.rq,
tests/sparql/dawg/syntax-sparql3/syn-blabel-cross-union-bad.rq,
tests/sparql/dawg/syntax-sparql4,
tests/sparql/dawg/syntax-sparql4/manifest.ttl,
tests/sparql/dawg/syntax-sparql4/syn-09.rq,
tests/sparql/dawg/syntax-sparql4/syn-10.rq,
tests/sparql/dawg/syntax-sparql4/syn-11.rq,
tests/sparql/dawg/syntax-sparql4/syn-bad-34.rq,
tests/sparql/dawg/syntax-sparql4/syn-bad-35.rq,
tests/sparql/dawg/syntax-sparql4/syn-bad-36.rq,
tests/sparql/dawg/syntax-sparql4/syn-bad-37.rq,
tests/sparql/dawg/syntax-sparql4/syn-bad-38.rq,
tests/sparql/dawg/syntax-sparql4/syn-bad-GRAPH-breaks-BGP.rq,
tests/sparql/dawg/syntax-sparql4/syn-bad-OPT-breaks-BGP.rq,
tests/sparql/dawg/syntax-sparql4/syn-bad-UNION-breaks-BGP.rq,
tests/sparql/dawg/syntax-sparql4/syn-leading-digits-in-prefixed-names.rq,
tests/sparql/dawg/triple-match,
tests/sparql/dawg/triple-match/data-01.ttl,
tests/sparql/dawg/triple-match/data-02.ttl,
tests/sparql/dawg/triple-match/data-03.ttl,
tests/sparql/dawg/triple-match/dawg-data-01.ttl,
tests/sparql/dawg/triple-match/dawg-tp-01.rq,
tests/sparql/dawg/triple-match/dawg-tp-02.rq,
tests/sparql/dawg/triple-match/dawg-tp-03.rq,
tests/sparql/dawg/triple-match/dawg-tp-04.rq,
tests/sparql/dawg/triple-match/dawg-tp-05.rq,
tests/sparql/dawg/triple-match/manifest.ttl,
tests/sparql/dawg/triple-match/result-tp-01.ttl,
tests/sparql/dawg/triple-match/result-tp-02.ttl,
tests/sparql/dawg/triple-match/result-tp-03.ttl,
tests/sparql/dawg/triple-match/result-tp-04.ttl,
tests/sparql/dawg/type-promotion,
tests/sparql/dawg/type-promotion/false.ttl,
tests/sparql/dawg/type-promotion/manifest.ttl,
tests/sparql/dawg/type-promotion/tP-byte-short-fail.rq,
tests/sparql/dawg/type-promotion/tP-byte-short.rq,
tests/sparql/dawg/type-promotion/tP-decimal-decimal.rq,
tests/sparql/dawg/type-promotion/tP-double-decimal-fail.rq,
tests/sparql/dawg/type-promotion/tP-double-decimal.rq,
tests/sparql/dawg/type-promotion/tP-double-double.rq,
tests/sparql/dawg/type-promotion/tP-double-float-fail.rq,
tests/sparql/dawg/type-promotion/tP-double-float.rq,
tests/sparql/dawg/type-promotion/tP-float-decimal-fail.rq,
tests/sparql/dawg/type-promotion/tP-float-decimal.rq,
tests/sparql/dawg/type-promotion/tP-float-float.rq,
tests/sparql/dawg/type-promotion/tP-int-short.rq,
tests/sparql/dawg/type-promotion/tP-integer-short.rq,
tests/sparql/dawg/type-promotion/tP-long-short.rq,
tests/sparql/dawg/type-promotion/tP-negativeInteger-short.rq,
tests/sparql/dawg/type-promotion/tP-nonNegativeInteger-short.rq,
tests/sparql/dawg/type-promotion/tP-nonPositiveInteger-short.rq,
tests/sparql/dawg/type-promotion/tP-positiveInteger-short.rq,
tests/sparql/dawg/type-promotion/tP-short-byte-fail.rq,
tests/sparql/dawg/type-promotion/tP-short-decimal.rq,
tests/sparql/dawg/type-promotion/tP-short-double.rq,
tests/sparql/dawg/type-promotion/tP-short-float.rq,
tests/sparql/dawg/type-promotion/tP-short-int-fail.rq,
tests/sparql/dawg/type-promotion/tP-short-long-fail.rq,
tests/sparql/dawg/type-promotion/tP-short-short-fail.rq,
tests/sparql/dawg/type-promotion/tP-short-short.rq,
tests/sparql/dawg/type-promotion/tP-unsignedByte-short.rq,
tests/sparql/dawg/type-promotion/tP-unsignedInt-short.rq,
tests/sparql/dawg/type-promotion/tP-unsignedLong-short.rq,
tests/sparql/dawg/type-promotion/tP-unsignedShort-short.rq,
tests/sparql/dawg/type-promotion/tP.ttl,
tests/sparql/dawg/type-promotion/true.ttl: Import DAWG latest
SPARQL tests
2007-09-30 Lauri Aalto <laalto@iki.fi>
* tests/sparql/check-sparql: Recognize
http://jena.hpl.hp.com/2005/05/test-manifest-extra#TestSyntax and
#TestBadSyntax as syntax tests.
* tests/sparql/check-sparql: Use stderr consistently for debug messages.
2007-09-29 Dave Beckett <dave@dajobe.org>
* src/rasqal_result_formats.c: Adjust for
raptor_new_xml_element_from_namespace_local_name signature change
2007-09-28 Lauri Aalto <laalto@iki.fi>
* src/rasqal_expr.c: (rasqal_new_data_graph) Does not take
ownership or uri & name_uri but copies them.
2007-09-27 Lauri Aalto <laalto@iki.fi>
* src/rasqal_engine.c: (rasqal_free_gp_data) Do not assume graph
pattern is non-NULL.
2007-09-26 Dave Beckett <dave@dajobe.org>
* autogen.sh: autogen.sh with perl version grep script
2007-09-26 Lauri Aalto <laalto@iki.fi>
* src, tests/engine, tests/laqrs, tests/laqrs/syntax, utils:
Props: ignore .exes, Makefile, Makefile.in
2007-09-25 Lauri Aalto <laalto@iki.fi>
* src/rasqal_result_formats.c: (rasqal_query_results_write_xml_result4)
Refactoring: Replaced rasqal_query_results_new_xml_element() with
raptor_new_xml_element_from_namespace_local_name().
2007-09-24 Lauri Aalto <laalto@iki.fi>
* autogen.sh: Do not compare versions as decimal, e.g. automake
1.10 should be treated newer than 1.7.
(update_prog_version) Convert [z.]x.y version strings to 100x+y.
2007-09-21 Lauri Aalto <laalto@iki.fi>
* src/sparql_parser.y: (rasqal_sparql_query_engine_terminate)
Clean up nicely even if could not init query engine.
* src/rasqal_internal.h, src/rasqal_query.c, src/rdql_parser.y,
src/sparql_parser.y: (rasqal queries) Added query string length
field to rasqal_query_s. Moved padding query strings with two
YY_END_OF_BUFFER_CHARs (NULs) from bison parsers to
rasqal_query_prepare() - prevents a memory leak if there's an
error parsing the string. Removed query_string from *_parse()
prototypes as the query string is already available in the query
structure passed in.
* src/rasqal_result_formats.c: (rasqal_query_results_write_xml_result4)
Check for alloc failures and clean up on error.
* src/rasqal_query_results.c: (rasqal_query_results_reset) Do not
clear executed flag to allow cleanup on partially initialized
results.
* src/rasqal_general.c: rasqal_general: Check for alloc failures
and clean up on error.
* src/rasqal_general.c: (rasqal_finish) Allow cleanup even if init
was incomplete
* src/rasqal_engine.c: (rasqal_engine_merge_graph_patterns) Fix
constant 1 > 1 check for the number of triples.
* src/rasqal_engine.c: (rasqal_engine_graph_pattern_init)
Robustness fixes
* src/rasqal_engine.c: (rasqal_free_gp_data) Check against
negative start_column
* src/rasqal_engine.c: (rasqal_engine_graph_pattern_init) Check
for alloc failure
* src/rasqal_engine.c: (rasqal_engine_merge_triples) Fix compiler
warning about uninitialized variables.
* src/rasqal_engine.c: (rasqal_engine_prepare) Check
rasqal_engine_assign_variables() return value.
* src/rasqal_engine.c: rasqal_engine: Check for alloc failures and
clean up on errors.
* src/rasqal_expr.c: rasqal_expr: Fix compiler warnings about not
returning a value from a non-void function (for compilers that do
not recognize abort() as non-returning function).
* src/rasqal_expr.c: rasqal_expr: Check for alloc failures and
clean up on errors.
* src/rasqal_graph_pattern.c: rasqal_graph_pattern: Check for
alloc failures and clean up on errors.
* src/rasqal_literal.c: (rasqal_formula_join) Free formulas and
return NULL on error.
* src/rasqal_literal.c: rasqal_literal: Fix compiler warnings
about uninitialized variables. Fix compiler warnings about not
returning a value from a non-void function (for compilers that do
not recognize abort() as non-returning function).
* src/rasqal_literal.c: rasqal_literal: Check for alloc
failures. Clean up on failure.
* src/rasqal_query.c: rasqal_query: Check for alloc
failures. Clean up on failure.
* src/rasqal_query.c: (rasqal_new_query) Check for alloc
failures. Clean up on failure.
* src/rasqal_query.c: (rasqal_query_escape_counted_string) Fix
compiler warning about type punning.
* src/rasqal_query_results.c: (rasqal_free_query_results) Do not
indirect query_results before making sure it is not NULL.
* src/rasqal_query_results.c: (rasqal_new_query_results) Check for
alloc failure
* src/rasqal_result_formats.c: rasqal_result_formats: Check for
alloc failures. Clean up on failure.
* src/fix-bison: bison parsers / fix-bison: Fix compiler warning
about empty declarations (remove semicolon).
* src/rasqal_feature.c: Fix typos in comments
* Makefile.am, autogen.sh, configure.ac, data/Makefile.am,
docs/Makefile.am, src/Makefile.am, tests/Makefile.am,
tests/engine/Makefile.am, tests/laqrs/Makefile.am,
tests/laqrs/syntax/Makefile.am, tests/rdql/Makefile.am,
tests/rdql/testsuite/Makefile.am, tests/sparql/Expr1/Makefile.am,
tests/sparql/Expr2/Makefile.am,
tests/sparql/ExprBuiltins/Makefile.am,
tests/sparql/ExprEquals/Makefile.am, tests/sparql/Makefile.am,
tests/sparql/SyntaxDev/Makefile.am,
tests/sparql/SyntaxDev/Syntax-SPARQL/Makefile.am,
tests/sparql/SyntaxDev/Syntax-SPARQL2/Makefile.am,
tests/sparql/SyntaxDev/Syntax-SPARQL3/Makefile.am,
tests/sparql/SyntaxFull/Makefile.am,
tests/sparql/ValueTesting/Makefile.am,
tests/sparql/bound/Makefile.am, tests/sparql/examples/Makefile.am,
tests/sparql/part1/Makefile.am, tests/sparql/regex/Makefile.am,
tests/sparql/simple/Makefile.am, tests/sparql/sort/Makefile.am,
tests/sparql/survey/Makefile.am, tests/sparql/syntax/Makefile.am,
utils/Makefile.am, win32/Makefile.am: Fix EOL issues when building
svn version on cygwin.
Partial fix to http://bugs.librdf.org/mantis/view.php?id=236
* src/Makefile.am, tests/engine/Makefile.am: Added $(EXEEXT)s to
Makefiles to fix "make clean" on cygwin. Partial fix to
http://bugs.librdf.org/mantis/view.php?id=235
* autogen.sh: rasqal autogen.sh $dir quoting. Partial fix to
http://bugs.librdf.org/mantis/view.php?id=234
2007-09-20 Dave Beckett <dave@dajobe.org>
* tests/sparql/SyntaxFull/Makefile.am: Expect 2 more failures :(
* tests/engine/rasqal_order_test.c: Formatting
2007-09-19 Dave Beckett <dave@dajobe.org>
* tests/sparql/check-sparql: Fix exit
* src/sparql_parser.y: Protect destructors from calling on NULL
object - such as in an error case.
* src/sparql_lexer.l: Move bare +, - alone to after recognising
all other numerics.
* src/sparql_lexer.l: Allow unary +/- before an integer.
* src/sparql_parser.y: (OrderCondition): Allow a built-in call at
the top level
* src/sparql_parser.y: (LimitOffsetOpt): Added to allow LIMIT and
OFFSET in any order or absent.
(LimitClause): Renamed from LimitClauseOpt
(OffsetClause): Renamed from OffsetClauseOpt
* tests/sparql/check-sparql: Output EARL. Handle syntax only tests
2007-09-18 Dave Beckett <dave@dajobe.org>
* tests/sparql/check-sparql: help
* tests/sparql/check-sparql: use perl Getopt::Long and Pod::Usage
2007-08-25 Dave Beckett <dave@dajobe.org>
* src/rasqal_limit_test.c: Tidy messages
* src/Makefile.am, src/rasqal_engine.c, src/rasqal_limit_test.c:
Added rasqal_iimit_test.c
2007-08-24 Dave Beckett <dave@dajobe.org>
* data/Makefile.am, data/letters.nt: Added letters.nt
* src/rasqal_literal.c: (rasqal_literal_as_integer): Return
integer values correctly. How did this ever work?
Fixes Issue#0000221 http://bugs.librdf.org/mantis/view.php?id=221
* src/sparql_parser.y: Destruct all tokens so memory does not leak
on error.
Fixes Issue#0000225 http://bugs.librdf.org/mantis/view.php?id=225
* tests/sparql/check-sparql: guess for xml:lang
* tests/sparql/check-sparql: tidy
* tests/sparql/check-sparql: Crude srx reading
* tests/sparql/Makefile.am: Removed BNodes dir
* tests/sparql/Makefile.am: Added BNodes
* tests/sparql/check-sparql: Add error messages when rapper fails
- and abort test. Fix more assumptions when no result is expected.
2007-08-23 Dave Beckett <dave@dajobe.org>
* tests/sparql/check-sparql: (read_rdf_results_file): Renamed from
read_turtle_results_file and guesses result rdf format - turtle/n3
or rdf seem to be the choiecs.
* tests/sparql/check-sparql: Refactored to pull out
read_turtle_results_file
* tests/sparql/check-sparql: pull apart results creation from
writing result.out
* src/rasqal_result_formats.c: Delete old SPARQL XML Result
formats to leave just the latest draft and JSON.
* src/Makefile.am, src/rasqal_general.c, src/rasqal_internal.h,
src/rasqal_query_results.c, src/rasqal_result_formats.c (from
/rasqal/trunk/src/rasqal_query_results.c:12462): Moved query
result formatter code into new rasqal_result_formats.c from
rasqal_query_results.c
2007-08-22 Dave Beckett <dave@dajobe.org>
* src/rasqal_query_results.c: (rasqal_query_results_get_boolean):
Do not return error on finished. Finished has no meaning for
boolean result.
* src/rasqal_query_results.c: (rasqal_query_results_get_boolean):
Simplify since now rasqal_engine_query_results_update does all the
work. Just count the results returned so far which will be at
least 1 if there are any results.
* src/rasqal_engine.c: (rasqal_engine_query_results_update): Let
this be called for a boolean result, to get the first one.
2007-08-19 Dave Beckett <dave@dajobe.org>
* src/sparql_parser.y: (BasedeclOpt): Use
rasqal_query_set_base_uri to ensure the URI fields are updated
correctly.
Fixes Issue#0000219 http://bugs.librdf.org/mantis/view.php?id=219
* src/rasqal_internal.h: Added rasqal_query_set_base_uri prototype
* src/rasqal_query.c: (rasqal_query_prepare): Use
rasqal_query_set_base_uri.
(rasqal_query_set_base_uri): Added
* src/rasqal_query_results.c: (rasqal_query_results_get_boolean):
Get the first result row from a query in order to answer ASK.
Fixes Issue#0000193 http://bugs.librdf.org/mantis/view.php?id=193
* src/sparql_lexer.l: (rasqal_sparql_name_check): debug cast
* src/sparql_parser.y: (WhereClauseOpt): Remove warning about
optional SPARQL WHERE although it is still a dumb idea to have
useless keywords.
Fixes Issue#0000204 http://bugs.librdf.org/mantis/view.php?id=204
* src/rasqal_expr.c: (rasqal_language_matches): * does not match a
langString with no language.
Fixes Issue#0000201 http://bugs.librdf.org/mantis/view.php?id=201
* tests/sparql/ExprBuiltins/result-langMatches-3.ttl,
tests/sparql/ExprBuiltins/result-langMatches-4.ttl: Fix expected
result fixes for langMatches-[34]
http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2006Jun/0050.html
2007-08-17 Dave Beckett <dave@dajobe.org>
* src/rasqal.h: Applied rasqal part of symbian portability fix for
Issue#0000203 http://bugs.librdf.org/mantis/view.php?id=203
2007-07-06 Dave Beckett <dave@dajobe.org>
* src/rasqal_query_results.c: Add 4th version of SPARQL XML
Results format.
(rasqal_init_query_results): Use
rasqal_query_results_write_xml_result4 for latest version
2007-06-14 named "xml" and demote previous one 2006-01-25 to name
"xml-v3"
(rasqal_query_results_write_xml_result4): Added to implement
version 2007-06-14 with removal of attributes 'ordered' and
'distinct'.
2007-06-13 Dave Beckett <dave@dajobe.org>
* tests/sparql/ExprBuiltins/Makefile.am: LangMatches-2
LangMatches-3 LangMatches-4 all pass leaving 2 failures
* src/rasqal_expr.c: (rasqal_language_matches): Added to do proper
language tag/range matching.
(rasqal_expression_evaluate): RASQAL_EXPR_LANG: Return an empty
string for no language and NULL (error) for not a literal.
RASQAL_EXPR_LANGMATCHES: Use rasqal_language_matches() above.
Fixes Issue#0000201 http://bugs.librdf.org/mantis/view.php?id=201
and makes tests sparql/ExprBuiltins/LangMatches-[234] pass.
2007-06-12 Dave Beckett <dave@dajobe.org>
* tests/sparql/Expr2/Makefile.am: Fix for issue #0000199 makes
query-bev-[1-4].rq pass
* src/rasqal_literal.c: (rasqal_literal_as_boolean): Implement
SPARQL EBV rules here.
Fixes Issue#0000199 http://bugs.librdf.org/mantis/view.php?id=199
and makes tests sparql/Expr2/query-bev-[1-4].rq pass
* src/rasqal_redland.c: (redland_node_to_rasqal_literal): Casts
for picky compiler.
Fixes Issue#0000198 http://bugs.librdf.org/mantis/view.php?id=198
* src/rasqal_expr.c: (rasqal_expression_evaluate): case
RASQAL_EXPR_STR_MATCH, RASQAL_EXPR_STR_NMATCH and RASQAL_EXPR_REGEX.
Use pcre_free(re) to free PCRE object
Fixes Issue#0000196 http://bugs.librdf.org/mantis/view.php?id=196
2007-06-02 Dave Beckett <dave@dajobe.org>
* src/rasqal_literal.c: (rasqal_literal_as_floating): It is
possible to promote a decimal to a float.
Fixes Issue#0000197 http://bugs.librdf.org/mantis/view.php?id=197
2007-05-26 Dave Beckett <dave@dajobe.org>
* src/rasqal.h: Use RASQAL_API not RAPTOR_API here
Fixes Issue#0000191 http://bugs.librdf.org/mantis/view.php?id=191
* src/rasqal_literal.c: (rasqal_literal_string_to_native): Free
original string for boolean, replacing with static.
(rasqal_free_literal): Free boolean literal's datatype URI. Fixes
Issue#0000190 http://bugs.librdf.org/mantis/view.php?id=190
* src/rasqal.h: Allow _declspec and __declspec
Fixes Issue#0000188 http://bugs.librdf.org/mantis/view.php?id=188
2007-05-21 Dave Beckett <dave@dajobe.org>
* configure.ac: Add -Wformat-security
2007-04-23 Dave Beckett <dave@dajobe.org>
* src/rasqal_literal.c: (rasqal_literal_compare): Declare
rasqal_literal_type type and add rest of cases to switches.
* NEWS.html, configure.ac, src/win32_rasqal_config.h: Bump version
to 0.9.15
2007-04-22 Dave Beckett <dave@dajobe.org>
* Snapshotted rasqal_0_9_14 for 0.9.14 release (SVN 12127)
* docs/librasqal.3: rasqal_query_get_explain
* docs/librasqal.3: 0.9.14 from 6 months ago
* autogen.sh: Update autogen.sh
* rasqal.pc.in: Add Libs.private
* src/rasqal-config.in, src/rasqal_engine.c, src/rasqal_literal.c,
src/rasqal_query.c, src/rasqal_query_results.c,
src/rasqal_raptor.c, utils/roqet.c: casts for C++
* docs/tmpl/section-expression.sgml, docs/tmpl/section-query.sgml,
docs/tmpl/section-query_results.sgml,
docs/tmpl/section-query_results_formatter.sgml: docs
2007-04-21 Dave Beckett <dave@dajobe.org>
* src/rasqal.h: variable has @expression field.
* src/rasqal_engine.c, src/rasqal_internal.h: Revert query engine
back to 'working' optionals. At least working as well as they did
in the last release
* src/rasqal.h: rasqal_expression has no variable
* docs/tmpl/section-unused.sgml: expression no variable
* docs/tmpl/section-query.sgml: rasqal_query_set_distinct
* src/rasqal_graph_pattern.c: (rasqal_new_graph_pattern): Make
static, only used here.
* src/sparql_parser.y: (SelectTerm): Renamed from
SelectExpressionTerm
(SelectExpression): Uses AggregateExpression or Expression.
(AggregateExpression): Added, just using CountAggregateExpression.
(CountAggregateExpression): Added for COUNT(expr) and COUNT(*)
* tests/laqrs/syntax/Makefile.am, tests/laqrs/syntax/count1.rq,
tests/laqrs/syntax/count2.rq, tests/laqrs/syntax/count3.rq,
tests/laqrs/syntax/count4.rq: more COUNT tests
* utils/roqet.c: Declare any query namespaces in the output
serializer
* utils/roqet.c: Allow -r to take a serializer argument. Check it
with raptor_serializer_syntax_name_check
* tests/Makefile.am: No local_tests here for 6 months
* tests/laqrs/Makefile.am, tests/laqrs/check-laqrs: remove
check-laqrs
* tests/laqrs/syntax/Makefile.am: renames
* tests/laqrs/syntax/bad-select-expr.rq: comment
* src/sparql_parser.y: (SelectExpressionTerm): Do not allow a
select expression to contain the variable name it is named for.
(SelectExpression): Tidy error returns.
* src/rasqal_internal.h: Added rasqal_expression_mentions_variable
prototype
* src/rasqal_expr.c: (rasqal_expression_has_variable): Added.
(rasqal_expression_mentions_variable): Added to check if an
expression mentions a rasqal_variable.
* src/rasqal.h: rasqal_expression does not need a rasqal_variable
field.
* tests/laqrs, tests/laqrs/Makefile.am, tests/laqrs/check-laqrs,
tests/laqrs/syntax, tests/laqrs/syntax/Makefile.am,
tests/laqrs/syntax/bad-select-expr.rq,
tests/laqrs/syntax/bug156.rq, tests/laqrs/syntax/coverage.rq,
tests/laqrs/syntax/data.n3, tests/laqrs/syntax/delete.rq,
tests/laqrs/syntax/explain.rq: laqrs
* src/sparql_parser.y: (SelectExpressionListTail): A list or a
wildcard.
(SelectExpressionListTail): Added to ensure select expression list
is always 1 or more item.
(SelectExpressionTerm): A variable ?var or a select expression
assigned to a name
(SelectExpression): Docs and forbid COUNT in sparql.
* src/sparql_parser.y: Move '*' to SelectExpressionList from
SelectQuery
* src/sparql_parser.y: Add getopt() simple handling for -d and -i
LANGUAGE for sparql and laqrs.
* configure.ac: Added tests/laqrs/syntax/Makefile
* configure.ac: add tests/laqrs/Makefile
* tests/Makefile.am: Add laqrs sub dir
* src/rdql_lexer.l: Allow '-' in language tags
* src/sparql_lexer.l: Allow '-' in language tags
Fixes Issue#0000182 http://bugs.librdf.org/mantis/view.php?id=182
* src/sparql_lexer.l: Make <_:NAME> (an illegal URI) act like _:NAME.
Fixes Issue#0000152 http://bugs.librdf.org/mantis/view.php?id=152
* tests/sparql/syntax/Makefile.am,
tests/sparql/syntax/blankuri.rq: added blankuri.rq
2007-04-15 Dave Beckett <dave@dajobe.org>
* src/rasqal_engine.c: (rasqal_engine_query_result_row_compare):
Only do distinct=1 DISTINCT, no code for REDUCE yet.
* src/rasqal_query_results.c:
(rasqal_query_results_write_xml_result3): Allow for a potential
new output argument reduced=true/false. Not yet enabled.
* src/rasqal_query.c: (rasqal_query_get_distinct): Rename arg to
distinct_mode.
(rasqal_query_set_distinct): Rename arg to distinct_mode and
accept values 0, 1 and 2.
(rasqal_query_print, rasqal_query_write_sparql_20060406): Print
distinct or reduced.
2007-04-14 Dave Beckett <dave@dajobe.org>
* src/rasqal.h: Alter rasqal_query_set_distinct arg to be named
distinct_mode (no API change)
* src/rasqal_internal.h: (struct rasqal_query_s): distinct now
takes 0, 1 or 2 to allow for REDUCED.
* src/sparql_parser.y: Add REDUCED token
(SelectQuery): Add REDUCED wherever DISTINCT can go
* src/sparql_lexer.l: Add REDUCED keyword
* tests/rdql/testsuite/check-rdql: add debug if RASQAL_DEBUG set
* tests/sparql/check-sparql: hardcode turtle as input type add
debug if RASQAL_DEBUG set
* tests/rdql/testsuite/check-rdql: hardcode turtle as input type
2007-04-08 Dave Beckett <dave@dajobe.org>
* src/rasqal_engine.c:
(rasqal_engine_triple_graph_pattern_get_next_match): Fix revision
with an exact match in a 1 TP query.
2007-03-25 Dave Beckett <dave@dajobe.org>
* utils/roqet.c: Print all informational and help messages to
stderr. Only results of querying and the help (-h/--help) message
goes to stdout now.
2007-03-07 Dave Beckett <dave@dajobe.org>
* src/rasqal_engine.c: (rasqal_optional_graph_pattern_execute_init,
rasqal_optional_graph_pattern_execute_bind): Restored.
2007-03-06 Dave Beckett <dave@dajobe.org>
* src/rasqal_engine.c: Removed rasqal_engine_gp_data unused fields
optional_graph_pattern, optional_graph_pattern_matches_count,
matches_returned Added rasqal_engine_gp_data field matches
(rasqal_engine_triple_graph_pattern_get_next_match): Side effect
return matches count.
(rasqal_basic_graph_pattern_execute_bind): Count matches.
(rasqal_group_graph_pattern_execute_init): Init start and current
graph patterns.
(rasqal_group_graph_pattern_execute_bind): Count matches, use
start_graph_pattern for backtracing.
(asqal_engine_graph_pattern_init): Merged
rasqal_engine_graph_pattern_reset and
rasqal_engine_graph_pattern_init
(rasqal_engine_move_to_graph_pattern): Deleted.
(rasqal_engine_execute_run_graph_pattern): Return step
(rasqal_engine_execute_run): Use step and pass on counts.
* src/rasqal_internal.h: removed new_bindings_count
2007-03-04 Dave Beckett <dave@dajobe.org>
* src/rasqal_engine.c: Add STEP_IGNORE to handle things such as
empty group graph patterns that neither bind nor otherwise affect
the results. Restore rasqal_engine_step_names table.
rasqal_engine_execute_gp_handler method execute_bind returns a
rasqal_engine_step
(rasqal_basic_graph_pattern_execute_bind): Return step. Still
works.
(rasqal_optional_graph_pattern_execute_bind): Return steps. Still
untested.
(rasqal_group_graph_pattern_execute_init): Added. Works.
(rasqal_group_graph_pattern_execute_bind): Added. Works.
(rasqal_engine_execute_run_graph_pattern): Convert from step to
rc. Testing state: src/ tests/rdql tests all work.
* src/rasqal_query.c: Define RASQAL_NO_GP_MERGE to enable/disable
empty graph merging
* src/rasqal_engine.c: Remove
rasqal_engine_group_graph_pattern_get_next_match
* src/rasqal_engine.c: docs
* src/rasqal_engine.c: Here we go. Throughout replace "graph
pattern POINTER" with "graph pattern INDEX"
(rasqal_basic_graph_pattern_execute_init): Added, with code from
rasqal_engine_graph_pattern_reset for triples.
(rasqal_basic_graph_pattern_execute_bind): Added, with code from
rasqal_engine_do_step for triples and calling
rasqal_engine_triple_graph_pattern_get_next_match to do the triple
pattern matching. WORKS on a trivial example.
(rasqal_optional_graph_pattern_execute_bind): Added, with code
from rasqal_engine_do_optional_step. UNTESTED.
rasqal_engine_execute_gp_handlers table does basic init/bind,
optional bind.
(rasqal_engine_graph_pattern_order): Removed.
(rasqal_engine_graph_pattern_reset): Do less, moved into
gp-specific init.
(rasqal_engine_graph_pattern_init): Can return failure.
(rasqal_engine_do_step, rasqal_engine_do_optional_step): Merged
above.
(rasqal_engine_store_query_results): Debug messages here.
(rasqal_engine_execute_run_graph_pattern): Added to call the
execute_bind handler method.
(rasqal_engine_execute_run): Remove outer_gp and old code, use
rasqal_engine_execute_run_graph_pattern to do the work.
* src/rasqal_engine.c: struct rasqal_engine_gp_data gains matched,
finished fields
(rasqal_engine_graph_pattern_reset): Init matched, finished fields
(rasqal_engine_graph_pattern_init): Remove sort.
(rasqal_engine_do_step, rasqal_engine_do_optional_step,
rasqal_engine_execute_run): use gp_data->matched, finished
* src/rasqal_internal.h: struct rasqal_graph_pattern loses
matched, finished fields
* src/rasqal_graph_pattern.c: (rasqal_new_graph_pattern): Lose
finished field.
* src/rasqal_engine.c: (rasqal_engine_execute_init): Remove hack
to restructure top-level GP
* src/rasqal_engine.c: typedef rasqal_engine_execute_gp_handler
Added handler field to rasqal_engine_gp_data
(rasqal_new_engine_gp_data): Error checking Added NULL
rasqal_engine_execute_gp_handlers array.
(rasqal_new_engine_execution_data): Init handler field.
* src/rasqal_engine.c: Rename rasqal_new_engine_gp_data from
rasqal_new_gp_data
* src/rasqal_engine.c, src/rasqal_graph_pattern.c,
src/rasqal_internal.h, src/rasqal_query.c: Docucomments.
(rasqal_new_graph_pattern): Add op arg and use it.
* src/rasqal_engine.c: Docs. Use rasqal_query_results_reset call
replacing rasqal_query_results_init
* src/rasqal_query_results.c: (rasqal_query_results_reset) Renamed
from rasqal_query_results_init
* src/rasqal_internal.h: rasqal_query_results_reset renamed from
rasqal_query_results_init
* src/rasqal_query.c: (rasqal_query_execute): Handle failing to
make query results object.
* src/sparql_parser.y: Use
rasqal_engine_new_basic_graph_pattern_from_formula.
* src/rdql_parser.y: Use rasqal_new_basic_graph_pattern.
* src/rasqal_engine.c:
(rasqal_engine_new_basic_graph_pattern_from_formula): renamed from
rasqal_engine_new_graph_pattern_from_formula
Use rasqal_new_basic_graph_pattern.
* src/rasqal_internal.h: Added rasqal_new_basic_graph_pattern
renamed from rasqal_new_graph_pattern_from_triples. Removed
rasqal_graph_pattern_add_triples Added
rasqal_engine_new_basic_graph_pattern_from_formula renamed from
rasqal_engine_new_graph_pattern_from_formula
* src/rasqal_graph_pattern.c: (rasqal_new_graph_pattern): Warning
this is mostly internal and does not init all fields.
(rasqal_new_basic_graph_pattern): Renamed from
rasqal_new_graph_pattern_from_triples - API change.
(rasqal_new_graph_pattern_from_sequence): Tidied.
(rasqal_graph_pattern_add_triples): Removed - API change.
2007-02-27 Dave Beckett <dave@dajobe.org>
* src/rasqal_engine.c: (rasqal_engine_execute_run): Pull out
invariants to top.
* src/rasqal_engine.c: (rasqal_engine_execute_run): Tidy inlining more
* src/rasqal_engine.c: (rasqal_engine_execute_run): Tidy inlining
2007-02-26 Dave Beckett <dave@dajobe.org>
* src/rasqal_engine.c: (rasqal_engine_execute_run): Inline
rasqal_engine_get_next_result into here.
* src/rasqal_query_results.c: (rasqal_query_results_get_boolean):
Remove rasqal_engine_get_next_result and use
rasqal_engine_execute_run then look for sequence size.
* src/rasqal_query.c: (rasqal_query_get_genid): one more byte
* src/rasqal_engine.c, src/rasqal_internal.h: (rasqal_engine_run):
Removed, never called
* src/rasqal_engine.c: removed rasqal_engine_query_results_update
* src/rasqal_engine.c: tidy
* src/rasqal_engine.c,
src/rasqal_internal.h: (rasqal_engine_store_query_results): Added.
Store offset in rasqal_engine_execution_data
* src/rasqal_engine.c, src/rasqal_internal.h, src/rasqal_query.c:
Move rasqal_map inside rasqal_engine_execute_data
* src/rasqal_engine.c: (rasqal_engine_execute_order): Do less work
when not ordering or distinct, just store results in seq.
* src/rasqal_engine.c: (rasqal_engine_execute_next): LAZY removal:
Always use results in order_conditions_sequence.
* src/rasqal_engine.c: (order_conditions_sequence): LAZY removal:
Always store results in order_conditions_sequence.
* docs/tmpl/section-query.sgml: new docs
2007-02-21 Dave Beckett <dave@dajobe.org>
* src/sparql_lexer.l: Added LAQRS DELETE and INSERT
* src/sparql_parser.y: (DeleteQuery, InsertQuery): Added.
* src/rasqal_query.c: Add rasqal_query_verb_labels labels for
DELETE and INSERT.
* src/rasqal_engine.c: (rasqal_engine_expand_wildcards):
Handle switch RASQAL_QUERY_VERB_DELETE and RASQAL_QUERY_VERB_INSERT
(rasqal_engine_assign_variables): Init size to 0
* src/rasqal.h: Added LAQRS RASQAL_QUERY_VERB_DELETE and
RASQAL_QUERY_VERB_INSERT
2007-02-17 Dave Beckett <dave@dajobe.org>
* utils/roqet.1: -r words
2007-02-09 Dave Beckett <dave@dajobe.org>
* src/rasqal_raptor.c: rasqal_raptor_triples_source_user_data
gains query field, source_uri field replacing list of URIs and
mapped_id_base, mapped_id_base_len.
(rasqal_raptor_generate_id_handler): Added, to either add the
user_bnodeid to a graph-specific base, or to generate an ID
otherwise.
(rasqal_raptor_new_triples_source): Init uris each time, keep
literals around till destruction. Set the generated ID handler
for raptor to rasqal_raptor_generate_id_handler.
(rasqal_raptor_free_triples_source): Do not free URIs in list, or
uris array.
* src/rasqal_query.c: (rasqal_query_get_genid): Added simple genid
generation from a single counter held in the query plus a given
base.
* src/rasqal_internal.h: Remove genid_bsae again
* src/rasqal_internal.h: Added rasqal_query_get_genid
2007-02-08 Dave Beckett <dave@dajobe.org>
* src/rasqal_query.c: (rasqal_query_write_sparql_graph_pattern):
Write GRAPH parameter correctly in output.
2007-02-07 Dave Beckett <dave@dajobe.org>
* src/rasqal_query_results.c: (rasqal_query_results_get_triple,
rasqal_query_results_next_triple): Simplify and use
rasqal_engine_execute_next to handle limit and offset. This patch
with the previous commits
Fixes Issue#0000167 http://bugs.librdf.org/mantis/view.php?id=167
* src/rasqal_engine.c: (rasqal_engine_assign_variables): Abstract
from assigning variables just for a select, also assign them for a
construct but put them in the variables_sequence.
(rasqal_engine_get_next_result,
rasqal_engine_query_result_row_update,
rasqal_engine_new_query_result_row): Use size of variables from
either variables_sequence for construct, otherwise
select_variables_count.
(rasqal_engine_query_result_row_update,
rasqal_engine_new_query_result_row,
rasqal_engine_query_results_update): Allow graph results to call
this.
(rasqal_engine_query_result_row_print): Work for construct too.
(rasqal_engine_bind_construct_variables): Added, to substitute in
variable bindings from a ordered query result row.
(rasqal_engine_execute_order): Run
rasqal_engine_bind_construct_variables after ordering.
(rasqal_engine_execute_next): Run
rasqal_engine_bind_construct_variables after getting next result.
* src/rasqal_internal.h: docs - variables may be bound when
constructs triples are present as well as when selects variables
are around
* src/rasqal_query_results.c: (rasqal_query_results_get_triple,
rasqal_query_results_next_triple): Check limit when getting
results for triples, such as SPARQL CONSTRUCT. offset may work
but not tested much. Addresses issue
http://bugs.librdf.org/mantis/view.php?id=167
2007-01-24 Dave Beckett <dave@dajobe.org>
* utils/roqet.c: (roqet_query_write_variable): Added.
(roqet_query_walk): Use above to print out a variable with
possible expression value.
* configure.ac: Added LAQRS query language - maintainer only.
2007-01-23 Dave Beckett <dave@dajobe.org>
* src/sparql_parser.y: Added LAQRS tokens EXPLAIN GROUP COUNT AS
protected by sparql->extended flag.
(ExplainOpt): Added for optional EXPLAIN
(SelectQuery): VarList is now a SelectExpressionList
(SelectExpressionList): Can take SelectExpression AS VarName when
extended.
(SelectExpression): Added, to handle variables as well as
COUNT(expr), COUNT(*) generating a VARSTAR expression.
(GroupClauseOpt): Add GROUP BY to sorting.
(Var): Takes a VarName.
(rasqal_sparql_query_engine_init): Init extended flag based on
language name.
(rasqal_init_query_engine_laqrs): Added.
* src/sparql_lexer.l: Added LAQRS keywords - EXPLAIN, GROUP,
COUNT, AS New state SPID for variable names after AS
* src/sparql_common.h: rasqal_sparql_query_engine_s gains SPARQL
extended flag
* src/rasqal_engine.c: (rasqal_query_build_declared_in): Do not
warn if a variable expression is given.
* src/rasqal_general.c: (rasqal_init): Init LAQRS if enabled.
* src/rasqal_query.c: (rasqal_new_query, rasqal_free_query):
Free/init new group_conditions_sequence sequence.
(rasqal_query_get_explain, rasqal_query_set_explain): Added to
get/set explain flag.
(rasqal_query_print): Print explain flag, group conditions
sequence.
(rasqal_query_get_group_conditions_sequence,
rasqal_query_get_group_condition): Added to get all or one group
condition.
(rasqal_query_write_sparql_variable): Modified to display variable
expressions when present.
(rasqal_sparql_op_labels): Add LAQRS labels.
(rasqal_query_write_sparql_expression,
rasqal_query_write_sparql_graph_pattern, ): Handle new LAQRS
expressions, group condition sequences and query flags.
* src/rasqal_expr.c: (rasqal_free_variable): Free new optional
expression field.
(rasqal_variable_print): Print new optional expression field.
(rasqal_new_0op_expression): Added no-arg (constant) expression
constructor. Initially for RASQAL_EXPR_VARSTAR.
(rasqal_new_1op_expression): Handle docs mentioning new 1-op
expressions RASQAL_EXPR_GROUP_COND_ASC,
RASQAL_EXPR_GROUP_COND_DESC, RASQAL_EXPR_COUNT.
(rasqal_expression_clear, rasqal_expression_visit,
rasqal_expression_evaluate, rasqal_expression_print,
rasqal_expression_is_constant): Handle new expressions above
* src/rasqal.h: rasqal_variable gains expression field. Added
expression types RASQAL_EXPR_GROUP_COND_ASC,
RASQAL_EXPR_GROUP_COND_DESC, RASQAL_EXPR_COUNT and
RASQAL_EXPR_VARSTAR Added prototypes for query methods
rasqal_query_get_explain, rasqal_query_set_explain,
rasqal_query_get_group_conditions_sequence,
rasqal_query_get_group_condition. Added rasqal_new_0op_expression
expression constructor with no arguments, a constant.
* NEWS.html, configure.ac, src/win32_rasqal_config.h: Bumped
version to 0.9.14
* src/rasqal_query_results.c: (rasqal_query_results_write): Allow
serializing of finished/empty results.
* configure.ac: Fix GNU bison check again, using raptor style.
2007-01-22 Dave Beckett <dave@dajobe.org>
* configure.ac: make bison version check work on V1 version
message format
2007-01-20 Dave Beckett <dave@dajobe.org>
* src/rasqal_internal.h: Ensure rasqal_strcasecmp and
rasqal_strncasecmp get prototypes.
Fixes Issue#0000160 http://bugs.librdf.org/mantis/view.php?id=160
2007-01-16 Dave Beckett <dave@dajobe.org>
* utils/roqet.c: 2007
Use rasqal_license_string and rasqal_home_url_string
Add some more rasqal_finish() before exit
* src/rasqal.h: Added prototypes for rasqal_license_string and
rasqal_home_url_string
* src/rasqal_general.c: 2007
Added rasqal_license_string and rasqal_home_url_string
2007-01-07 Dave Beckett <dave@dajobe.org>
* src/rasqal_query_results.c:
(rasqal_query_results_format_register_factory):
Gains mime_type arg.
(rasqal_init_query_results): Add mime type to query result format
registrations.
(rasqal_query_results_is_bindings,
rasqal_query_results_is_boolean, rasqal_query_results_is_graph):
True only if no results formatter is specified.
(rasqal_query_results_is_syntax): Added to check if a query result
is a syntax.
(rasqal_query_results_formats_enumerate_full): Added to return
mime type also.
(rasqal_get_query_results_formatter_factory): Add mime type arg.
(rasqal_query_results_formats_check): Added to check if a
formatter exists for the given name, uri and/or mime type.
(rasqal_new_query_results_formatter_by_mime_type): Added to
construct a formatter by mime type alone.
(rasqal_query_results_formatter_get_mime_type): Added to get the
mime type of a built formatter.
* src/rasqal.h: Added prototypes for
rasqal_query_results_is_syntax,
rasqal_query_results_formats_enumerate_full,
rasqal_query_results_formats_check,
rasqal_new_query_results_formatter_by_mime_type and
rasqal_query_results_formatter_get_mime_type.
* src/rasqal_query.c: (rasqal_free_query): Free
query_results_formatter_name if set.
* src/rasqal_internal.h: struct rasqal_query_s gains
query_results_formatter_name field
Jump to Line
Something went wrong with that request. Please try again.