-
Notifications
You must be signed in to change notification settings - Fork 25
/
ChangeLog.2
2986 lines (2068 loc) · 99.5 KB
/
ChangeLog.2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2004-12-31 Dave Beckett <[email protected]>
* rasqal_query.c (rasqal_query_results_write):
Added, writing query results in form of
http://www.w3.org/TR/2004/WD-rdf-sparql-XMLres-20041221/
* sparql_parser.y: Undef RASQAL_DEBUG 2 always
2004-12-23 Dave Beckett <[email protected]>
* rasqal_query.c (rasqal_free_query): Free variables last.
* sparql_lexer.l:
LANGUAGETOKEN, PREFIX QNAME use explicit ranges and expand
to allow UTF8 \x80-\xff.
<ID>{NAME}: Use sparql_copy_name
<ID>.: Add \r\n to silence -s warning.
<PREF>{PREFIX}".": Use sparql_copy_name
<PREF>.: Add \r\n to silence -s warning.
{QNAME}: Use sparql_copy_qname
(sparql_copy_name): Added and checks XML name is OK.
(sparql_copy_qname): Renamed from rdql_copy_token, and checks XML
names are OK, before and after :
(sparql_token_free): Free qname strings before they are made into
URIs.
(main): Free query_string.
* rdql_lexer.l:
LANGUAGETOKEN, PREFIX QNAME use explicit ranges and expand
to allow UTF8 \x80-\xff.
<*>{NAME}: Use rdql_copy_name
<ID>.: Add \r\n to silence -s warning.
{QNAME}: Use rdql_copy_qname
\<{QNAME}\>: Use rdql_copy_qname
(rdql_copy_name): Added and checks XML name is OK.
(rdql_copy_qname): Renamed from rdql_copy_token, and checks XML names
are OK, before and after :
(rdql_token_free): Free qname strings before they are made into URIs.
(main): Free query_string.
2004-12-08 Dave Beckett <[email protected]>
* tests/rdql/testsuite/Makefile.am (check-rdql-correct): Set PATH
then use -s $(srcdir) rather than lots of envariable passing.
* tests/rdql/testsuite/check-rdql: Merged in changes from
check-sparql - use -s . argument now.
* rasqal_engine.c (rasqal_engine_execute_init):
Init current_graph_pattern only if there are graph patterns.
(rasqal_engine_get_next_result): Handle 0 graph patterns.
* tests/sparql/syntax/Makefile.am: Added manifest.n3
Invoke check-sparql-correct test
* tests/sparql/syntax/manifest.n3: Test manifest
* tests/sparql/syntax/result-0triples.n3: select with 0 triples
result
* tests/sparql/syntax/Makefile.am: Added 0triples.rq
* tests/sparql/syntax/0triples.rq: Zero graph pattern triples
* tests/sparql/syntax/data.n3: typos
2004-12-07 Dave Beckett <[email protected]>
* sparql_parser.y (PatternElementForms):
Handle empty GraphPattern1 (NULL sequences)
* tests/sparql/part1/dawg-data-01.n3,
tests/sparql/part1/dawg-query-002,
tests/sparql/simple/dawg-tp-04.rq,
tests/sparql/simple/dawg-data-01.n3: foaf:knowns to foaf:knows
2004-11-30 Dave Beckett <[email protected]>
* tests/sparql/examples/ex2-1a-result.n3,
tests/sparql/examples/ex2-2a-result.n3,
tests/sparql/examples/ex2-3a-result.n3,
tests/sparql/examples/ex2-4a-result.n3,
tests/sparql/examples/ex3-result.n3: .
2004-11-29 Dave Beckett <[email protected]>
* rasqal_expr.c (rasqal_expression_evaluate): UMINUS, PLUS, MINUS,
STAR, SLASH are now done with floating literals.
* rasqal_internal.h: Export rasqal_literal_as_floating
* rasqal_literal.c (rasqal_new_floating_literal): Changed to take
a double arg
(rasqal_literal_as_floating): Export.
(rasqal_literal_compare): Improve promotion. Promote to float
where needed, especially assuming strings could be a float.
* sparql_lexer.l, rdql_lexer.l: Do sscanf here and call
rasqal_new_floating_literal with the double.
* rasqal.h: rasqal_new_floating_literal takes a double arg
* tests/sparql/check-sparql, tests/rdql/testsuite/check-rdql: Do
the diff backwards - from expected to actual
* tests/sparql/part1/dawg-result-002.n3,
tests/sparql/part1/dawg-result-003.n3,
tests/sparql/simple/result-tp-01.n3,
tests/sparql/simple/result-tp-02.n3,
tests/sparql/simple/result-tp-03.n3,
tests/sparql/simple/result-tp-04.n3,
tests/sparql/part1/dawg-result-001.n3: Update to DAWG latest
results removing rs:size triples.
* rasqal_literal.c (rasqal_literal_as_integer): For
RASQAL_LITERAL_STRING, also try to evaluate it as a double with
strtod, then return that cast to int if it worked.
* sparql_parser.y, rdql_parser.y (UnaryExpression):
Make unary plus and minus work; removes 2
shift/reduce conflicts.
* rasqal_expr.c: (rasqal_free_expression, rasqal_expression_foreach,
rasqal_expression_evaluate, rasqal_expression_print):
Added RASQAL_EXPR_UMINUS support.
rasqal_op_labels: added uminus
* rasqal.h: Added RASQAL_EXPR_UMINUS
2004-11-26 Dave Beckett <[email protected]>
* configure.ac: --with-dmalloc default is now no
2004-11-21 Dave Beckett <[email protected]>
* rasqal_engine.c (rasqal_new_graph_pattern_from_triples): Init
current column to -1 so no execution or tidy happens.
(rasqal_free_graph_pattern): Clean up until reach start_column,
not 0.
(rasqal_graph_pattern_init): Do triple init work only if there are
triples.
* sparql_parser.y: s/puts/fputs(..., stdout)/
* rasqal_engine.c (rasqal_new_graph_pattern_from_sequence):
Fold sequence of 1 graph pattern into the return value, tidying up.
(rasqal_graph_pattern_print): Print just the triple columns that are
used. Print flags using words.
(rasqal_graph_pattern_get_next_match): Note failing not-implemented
sequence of graph_patterns.
(rasqal_engine_prepare): Do not invoke rasqal_query_order_triples -
does not make sense to do with the graph_pattern code.
(rasqal_engine_get_next_result): Note failing not-implemented
sequence of graph_patterns.
Debug message when an optional graph pattern failed to patch.
* rasqal_expr.c (rasqal_variable_set_value): Debug fatal error
when there is no name.
2004-11-20 Dave Beckett <[email protected]>
* rasqal_engine.c (rasqal_new_graph_pattern_from_sequence):
lose triples argument
(rasqal_graph_pattern_get_next_match, rasqal_engine_get_next_result):
Check and fail for sequence of graph_patterns.
* rasqal_internal.h: Update rasqal_new_graph_pattern_from_sequence
to lose triples argument
* rdql_parser.y (rasqal_rdql_query_engine_prepare):
Use rasqal_new_graph_pattern_from_triples
* rasqal_query.c (rasqal_new_query): Init triples here.
(rasqal_query_print): Print graph_patterns
* rasqal_internal.h:
Add graph_patterns sequence to rasqal_graph_pattern.
Added prototypes for rasqal_new_graph_pattern_from_triples and
rasqal_new_graph_pattern_from_sequence
* rasqal_engine.c (rasqal_new_graph_pattern_from_triples):
Renamed from rasqal_new_graph_pattern
(rasqal_new_graph_pattern_from_sequence): Added to handle a graph
pattern as a sequence of graph patterns.
(rasqal_free_graph_pattern): Handle cleanup for sequence.
(rasqal_graph_pattern_print): Handle sequence and simplify.
(rasqal_engine_execute_init): Abort with messsage if sequence has a
NULL graph pattern in it.
2004-11-19 Dave Beckett <[email protected]>
* rasqal_engine.c (rasqal_engine_execute_init): Init
current_graph_pattern.
(rasqal_engine_get_next_result): Attempt to walk through
graph_patterns without failing on optional ones.
* rasqal_internal.h: Added current_graph_pattern to rasqal_query.
* sparql_lexer.l (sparql_token_print): Added UNION token
* sparql_parser.y: Added UNION token
* sparql_lexer.l: Added UNION|union keyword
* sparql_parser.y (rasqal_sparql_query_engine_prepare):
Add graph pqttern of all triples found.
* rdql_parser.y (rasqal_rdql_query_engine_prepare): Add graph
pattern of all triples found.
* rasqal_engine.c (rasqal_new_graph_pattern): No triples_size.
Don't init triple_meta here but on each execution.
(rasqal_free_graph_pattern, rasqal_graph_pattern_get_next_match):
update triple_meta offset
(rasqal_graph_pattern_init): Added, to init for execution.
(rasqal_graph_pattern_print): Added for debug printing.
(rasqal_engine_execute_init): Use query->graph_patterns - init
them with rasqal_graph_pattern_init
(rasqal_engine_execute_finish): Do not delete
query->graph_pattern.
(rasqal_engine_get_next_result): Pick 0th item from
query->graph_patterns to execute.
* rasqal_query.c (rasqal_new_query, rasqal_free_query): Init/free
query->graph_patterns sequence
* rasqal_internal.h: Delete triples_count from rasqal_graph_pattern.
Only use exactly what's needed: end-start+1 columns
Added rasqal_graph_pattern_init and rasqal_graph_pattern_print
prototypes
Added raptor_sequence of rasqal_graph_pattern* to rasqal_query
* sparql_parser.y (PatternElementForms):
'SOURCE * ...' Warn this is ignored.
'Source VarOrURI ...' Set triple origin from the literal
(UnaryExpressionNotPlusMinus): Delete ignored ArgList for now.
* rasqal_internal.h: Added rasqal_graph_pattern_adjust prototype
* rasqal_engine.c (rasqal_new_graph_pattern,
rasqal_free_graph_pattern): Docs, code tidy.
(rasqal_graph_pattern_adjust): Added, to shift graph pattern
columns.
(rasqal_graph_pattern_get_next_match): Code tidy.
2004-11-17 Dave Beckett <[email protected]>
* rasqal_engine.c (rasqal_engine_get_next_result): More code tweaks
* rasqal_engine.c (rasqal_engine_get_next_result):
Evaluate constraint_expression
2004-11-16 Dave Beckett <[email protected]>
* rasqal_internal.h, rasqal_engine.c: pattern_graph to graph_pattern
* rasqal_engine.c (rasqal_engine_get_next_result):
Inner loop logic tidying.
* rasqal_engine.c (rasqal_engine_get_next_result):
triples_size deleted, never used.
* rasqal_engine.c: source re-ordering
* rasqal_engine.c (rasqal_engine_prepare): set flags here.
(rasqal_engine_execute_init): Always init a new graph_pattern.
* rasqal_engine.c (rasqal_engine_execute_init, rasqal_engine_run):
Remove remaining use of query->column field.
* rasqal_internal.h: rasqal_query remove column field
* rasqal_engine.c:
(rasqal_engine_execute_init); Added graph_pattern field, using
rasqal_new_graph_pattern
(rasqal_engine_execute_finish): Tidy up, deleting graph_pattern.
(rasqal_graph_pattern_get_next_triple): Renamed from
rasqal_engine_get_next_triple_pattern_result and using
rasqal_graph_pattern argument.
(rasqal_new_graph_pattern): tidy.
(rasqal_free_graph_pattern): Delete the triple_meta array.
(rasqal_engine_get_next_result): Use
rasqal_graph_pattern_get_next_triple and evaluate the constraints
here.
* rasqal_internal.h: rasqal_query rename to graph_pattern field
* rasqal_internal.h: rasqal_graph_pattern add column Remove
rasqal_triple_meta field from rasqal_query and add graph_pattern
field
* rasqal_internal.h: Update rasqal_new_graph_pattern prototype.
* rasqal_expr.c: Replace calloc() with RASQAL_CALLOC(type,...)
* rasqal_internal.h: Added rasqal_pattern_flags enum.
Added rasqal_graph_pattern
Added rasqal_new_graph_pattern, rasqal_free_graph_pattern prototypes.
* rasqal_engine.c (rasqal_new_graph_pattern,
rasqal_free_graph_pattern): Added.
* rasqal_engine.c (rasqal_engine_get_next_triple_pattern_result):
Added, split off from rasqal_engine_get_next_result.
* sparql_parser.y (rasqal_sparql_query_engine_prepare):
Call rasqal_engine_prepare.
* rdql_parser.y (rasqal_rdql_query_engine_prepare):
Call rasqal_engine_prepare.
* rasqal_engine.c (rasqal_engine_prepare): Added, split some bits
from rasqal_engine_execute_init that were just query preparation,
rather than execution.
* rasqal_internal.h: Added rasqal_engine_prepare prototype
2004-11-12 Dave Beckett <[email protected]>
* sparql_parser.y (PatternElementForms): Set triple optional flags.
* rasqal_expr.c: Added rasqal_triple_flag_strings consts
(rasqal_triple_print): Use rasqal_triple_flag_strings to print
flags out.
* roqet.c: Cast for c++
* rasqal_engine.c (rasqal_engine_execute_init): Set triple flags
RASQAL_TRIPLE_FLAGS_EXACT rather than triple meta is_exact.
(rasqal_engine_get_next_result): Use triple flags
RASQAL_TRIPLE_FLAGS_EXACT rather than using triple meta is_exact.
* rasqal_expr.c (rasqal_triple_set_flags, rasqal_triple_get_flags):
Added
* rasqal.h: Added enum rasqal_triple_flags
Added flags field to rasqal_triple.
Added prototypes for rasqal_triple_set_flags and
rasqal_triple_get_flags
2004-11-11 Dave Beckett <[email protected]>
* sparql_parser.y (GraphPattern): Only join non-empty PatternElement
(PatternElement.1): Return something.
(PatternElementForms): Return NULL for AND Expression part.
2004-11-10 Dave Beckett <[email protected]>
* sparql_parser.y (rasqal_init_query_engine_sparql):
URL now http://www.w3.org/TR/rdf-sparql-query/
* sparql_parser.y (rasqal_init_query_engine_sparql): No alias.
* sparql_parser.y: typo
* rdql_lexer.l, rdql_parser.y, sparql_lexer.l, sparql_parser.y:
Rename terminals: PLUS MINUS STAR SLASH REM TILDE BANG to be the
single symbol they are.
* rdql_parser.y, rdql_lexer.l: Rename terminals: COMMA LPAREN
RPAREN VARPREFIX to be the single symbol they are.
* sparql_lexer.l: Rename terminals: COMMA LPAREN RPAREN LSQUARE
RSQUARE LCURLY RCURLY VARPREFIX AMP to be the single symbol they
are. Added $ terminal.
* sparql_parser.y: Enable YYERROR_VERBOSE for now
Rename terminals: COMMA LPAREN RPAREN LSQUARE RSQUARE LCURLY RCURLY
VARPREFIX AMP to be the single symbol they are.
(Var): Allow ? and $ prefix.
* sparql_parser.y: Removed ()s for groups.
* sparql_parser.y: Added {}s for groups
* tests/sparql/syntax/Makefile.am, tests/sparql/syntax/groups.rq:
Added groups.rq
* rdql_parser.y (ConstraintClause): Don't add constraint sequence
here.
(CommaAndConstraintClause): Instead, add constraints here.
* sparql_parser.y (GraphPattern): Use raptor_sequence_join
* rdql_parser.y (Query): Don't set contraints here.
(ConstraintClause): Use rasqal_query_add_constraint.
* configure.ac: require raptor 1.4.3
* rasqal.h:
Applied patch from René Puls to allow for Redland public headers to
be in a different directory structure. If LIBRDF_OBJC_FRAMEWORK
is defined, the headers are in a Redland subdirectory.
Only applies to public Redland header files that #include other
public header files. rasqal.h includes raptor.h so needs modifying
also.
2004-11-02 Dave Beckett <[email protected]>
* rasqal_raptor.c (ordinal_as_uri): Utterly broken
* tests/sparql/check-sparql (run_test):
Take array of data files and use them to invoke roqet
Tidy some rapper invoking.
Add more debug messages.
* sparql_parser.y (GraphPattern): Merge the two sequences to make
one sequence of triples.
(PatternElement): Pass on PatternElementForms sequence
(GraphPattern1:) Make a new triple sequence and pass on
PatternElementForms.
* roqet.c (main): Add sources before prepare.
* roqet.c (main): Form a list of files/source URIs to add using a
raptor_sequence and add them once the query is created.
* configure.ac, win32_rasqal_config.h: Bumped version to 0.9.5
2004-11-01 Dave Beckett <[email protected]>
* configure.ac: Need raptor 1.4.2
2004-10-29 Dave Beckett <[email protected]>
* Snapshotted rasqal_0_9_4 for 0.9.4 release
* configure.ac: Minimum raptor 1.4.1
* rasqal_raptor.c (ordinal_as_uri):
Helper, added to Properly calculate uri_string from
rdf:_n ordinals
(raptor_statement_as_rasqal_triple): Use above for subject,
predicate, object
* rasqal_expr.c (rasqal_free_triple):
Handle a partially constructed triple.
2004-10-28 Dave Beckett <[email protected]>
* sparql_parser.y, rdql_parser.y, rasqal_query_test.c: Casts for C++
* tests/sparql/check-sparql: Use PATH to find programs.
(run-test): More debug messages Add -s $srcdir arg to find
manifest
* tests/sparql/syntax/Makefile.am,
tests/sparql/simple/Makefile.am, tests/sparql/part1/Makefile.am,
tests/sparql/examples/Makefile.am: Invoke check-sparql with PATH
set and -s $(srcdir) arg
* tests/sparql/simple/manifest.n3, tests/sparql/part1/manifest.n3:
Update to latest DAWG tests, no file:
* sparql_lexer.l, rdql_lexer.l: Remove YY_INPUT since it never worked.
(main): Read query string into a buffer and use *_lexer__scan_buffer
* sparql_parser.y (main): Use full rasqal_init/finish sequence
since setup and cleanup is rather complex now.
2004-10-27 Dave Beckett <[email protected]>
* sparql_parser.y (sparql_parse): Added workaround to crash when
regex is at very end of input, by appending a space to the parsed
query string.
* rdql_parser.y (rdql_parse): Added workaround to crash when regex
is at very end of input, by appending a space to the parsed query
string.
* tests/sparql/check-sparql, tests/rdql/testsuite/check-rdql: OK
to assume raptor 1.4.0
* roqet.1: updated RDQL URL
* tests/sparql/syntax/data.n3: skeleton data file
* tests/sparql/syntax/Makefile.am: Added check-bad-sparql rule
Added nojam.rq bad test
* tests/sparql/syntax/nojam.rq: failure with ? and non var
* rdql_lexer.l:
Restore ID state which is used to allow things like ?select.
However, make sure ID state is left on errors.
* sparql_lexer.l: In <ID> state with unknown token, return to
INITIAL and report the error.
* rdql_lexer.l: Remove ID state - not used and jams parser with
non-matched chars in <ID> state.
* tests/sparql/Makefile.am: Added syntax dir
* sparql_parser.y (VarOrURIList):
Fix calls to rasqal_new_variable_literal.
* configure.ac: Added dir tests/sparql/syntax
* tests/sparql/syntax/Makefile.am,
tests/sparql/syntax/describe1.rq: syntax tests for SPARQL
* tests/sparql/examples/Makefile.am: Remove check-sparql-works
* tests/rdql/testsuite/Makefile.am: Remove check-rdql-works
* rasqal_internal.h: Note that describe is a sequence of
rasqal_literal*
* sparql_parser.y (VarOrURIList): Build a list of rasqal_literal*
2004-10-26 Dave Beckett <[email protected]>
* roqet.c: fix file reading
* roqet.c: Tidy up after failure to get query document
* rasqal_raptor.c (rasqal_raptor_error_handler):
Added to pass on raptor parser errors to rasqal, and onwards.
(rasqal_raptor_new_triples_source): On failure to parser, abort
and tidy up.
* rasqal_query.c (rasqal_free_query):
Tidy up any half-constructed rasqal_expression
sequence when query parsing/execution fails.
* sparql_lexer.l (sparql_token_free):
Free raptor_uri objects in URI_LITERAL. Debug function.
* rdql_lexer.l (rdql_token_free):
Free raptor_uri objects in URI_LITERAL. Debug function.
* rdql_parser.y (main):
Use full rasqal_init/finish sequence since setup and cleanup
is rather complex now.
* rasqal_engine.c (rasqal_new_triples_source):
Do not abort when no explict list of sources are given.
* sparql_lexer.l: More renames
* rdql_lexer.l: Rename static functions to have rdql_ prefix to
aid setting breakpoints in debugging.
(<PATTERN>.): Only return PATTERN_LITERAL if rdql_copy_regex_token
worked.
(rdql_copy_regex_token): Report EOF in regex rather than continue.
(rdql_copy_string_token): Fix debug message parameters.
* sparql_lexer.l: Rename static functions to have sparql_ prefix
to aid setting breakpoints in debugging.
(<PATTERN>.): Only return PATTERN_LITERAL if sparql_copy_regex_token
worked.
(sparql_copy_regex_token): Report EOF in regex rather than continue.
* rasqal-config.1: zap ASCII 160
* rasqal-config.1: Fix --libtool-libs desc
2004-10-26 Dave Beckett <[email protected]>
* rdql_lexer.l:
Rename static functions to have rdql_ prefix to aid setting
breakpoints in debugging.
(<PATTERN>.): Only return PATTERN_LITERAL if rdql_copy_regex_token
worked.
(rdql_copy_regex_token): Report EOF in regex rather than continue.
(rdql_copy_string_token): Fix debug message parameters.
* sparql_lexer.l:
Rename static functions to have sparql_ prefix to aid setting
breakpoints in debugging.
(<PATTERN>.): Only return PATTERN_LITERAL if sparql_copy_regex_token
worked.
(sparql_copy_regex_token): Report EOF in regex rather than continue.
* rasqal-config.1: zap ASCII 160
* rasqal-config.1: Fix --libtool-libs desc
2004-10-25 Dave Beckett <[email protected]>
* win32_rasqal_config.h, configure.ac, NEWS.html:
Bumped version to 0.9.4
* Snapshotted rasqal_0_9_3 for 0.9.3 release
* configure.ac: Use AC_TRY_LINK for regcomp test; no need to run it.
* roqet.c: Many casts for c++
(roqet_xml_print_xml_attribute, roqet_query_results_print_as_xml):
Use type raptor_simple_message_handler for error callbacks.
* rasqal_expr.c: Casts for C++
* rasqal_expr.c (rasqal_prefix_print): Handle NULL prefix
* configure.ac:
Do a 'return 0' after regcomp check to ensure the program exits ok
* tests/rdql/testsuite/check-rdql: Handle empty list of vars
* Makefile.am:
Execute rasqal_query_test specially, passing in full path to
$(srcdir)/data/dc.rdf
* rasqal_query_test.c:
Pass in data file as an argument and allocate the query string with
path to the file burnt in.
* roqet.c:
(roqet_xml_print_xml_attribute, roqet_query_results_print_as_xml):
Move experimental XML output code here.
* Makefile.am: Remove rasqal_xml.c from library for now.
* rasqal.h: Remove rasqal_query_results_print_as_xml from
pre-release public API
* sparql_parser.y (FromClauseOpt):
Store the list of sources got from URIList
(URIList): Use rasqal_literal_as_uri to make a list of raptor_uri*
from individual rasqal_literal* made by term URI.
* rasqal_literal.c (rasqal_literal_as_uri):
Added for getting a URI out of a literal.
* rasqal_internal.h: Added rasqal_literal_as_uri
* sparql_parser.y (sparql_query_error_full): Added, allowing varags.
(Literal, URI): Use above to report failure to expand qnames
immediately.
* sparql_parser.y (Literal, URI):
Invoke rasqal_literal_expand_qname when handling a
QNAME_LITERAL, RASQAL_LITERAL_QNAME.
(sparql_parse): Check for unexpanded QNames. SPARQL does the
expansion in order, so do not invoke expansions here.
* rasqal_literal.c (rasqal_literal_has_qname):
Added, for checking when a QName is
leftover.
* rasqal_internal.h: Added rasqal_engine_sequence_has_qname,
rasqal_engine_constraints_has_qname, rasqal_literal_has_qname,
rasqal_expression_has_qname
* rasqal_expr.c (rasqal_expression_has_qname): Added for use with
rasqal_expression_foreach to check for a leftover QName.
* rasqal_engine.c (rasqal_engine_sequence_has_qname,
rasqal_engine_constraints_has_qname): Added, for checking when a
QName is leftover.
* roqet.c: Set the raptor_www error_handler
* rasqal.h: Added rasqal_prefix depth field.
* rasqal_engine.c (rasqal_engine_declare_prefix):
Use query->prefix_depth and increment
* rasqal_query.c (rasqal_query_add_prefix):
Undeclare older prefixes with the same prefix.
* rasqal_internal.h: Added prefix_depth to rasqal_query_s
Added rasqal_engine_undeclare_prefix prototype
2004-10-24 Dave Beckett <[email protected]>
* tests/sparql/examples/Makefile.am: Added missing ex-24a files
* roqet.c (main): C99 fix - Move FILE*fh declaration to start of block.
* librasqal.3: Updates for 0.9.3
* roqet.c (main): Use raptor_www_fetch_to_string from raptor 1.4.0
* roqet.c:
(roqet_get_www_content); Use raptor_stringbuffer_copy_to_string.
* configure.ac: enable sparql for regular users
2004-10-23 Dave Beckett <[email protected]>
* configure.ac, Makefile.am: Added rasqal.rdf.in
* rasqal.rdf.in: Rasqal DOAP description
2004-10-21 Dave Beckett <[email protected]>
* rasqal.spec.in, Makefile.am, MPL.html, LICENSE-2.0.txt, NOTICE:
Removed MPL.html. Added LICENSE-2.0.txt and NOTICE
* Switched to LGPL / Apache 2.0 license in the sources
CVS tags before: rasqal_license_lgpl_mpl,
and after: rasqal_license_lgpl_apache2
* win32/rasqal.dsp, win32/rasqal.dsw:
win32 updates including sparql (not tested)
2004-10-20 Dave Beckett <[email protected]>
* rasqal_redland.c (rasqal_redland_bind_match):
Take array of 4 bindings.
* rasqal_redland.c:
Update redland support to changes after addition of origin.
* rasqal_general.c:
Added rasqal_initialising and rasqal_finishing statics
(rasqal_init, rasqal_finish): Use the above to prevent
recursion in these methods when rasqal uses redland using rasqal.
* configure.ac:
use $srcdir not .. when looking for raptor sources nearby
* configure.ac: raptor minimum version 1.4.0
* roqet.c: cast for fprintf
* configure.ac: autoconf mode
2004-10-18 Dave Beckett <[email protected]>
* rdql_lexer.l, rdql_parser.y, sparql_lexer.l, sparql_parser.y:
Rename rather generic define ERROR to ERROR_TOKEN to help win32.
* rdql_lexer.l, sparql_lexer.l: words
* rasqal_engine.c (rasqal_set_triples_source_factory):
Export this, to match rasqal.h and add docs.
2004-10-17 Dave Beckett <[email protected]>
* roqet.c: Tidy some #defines
(main): Don't print all of huge query_string on errors.
* roqet.1: formatting
2004-10-16 Dave Beckett <[email protected]>
* tests/sparql/check-sparql: Destroy duff relative file: URIs only
* tests/sparql/check-sparql: validate $roqet path
No Data::Dumper
* roqet.c: Remove extra print of query URI
* roqet.c (roqet_get_www_content): Remove goto. Fix words.
* roqet.1: Update for options changes. Note SPARQL support.
* roqet.c (roqet_error_handler): Added, used by www fetching.
(roqet_get_www_write_bytes): Added, used by roqet_get_www_content
(roqet_get_www_content): Added, creates a big string of a URI
content using the raptor_www class routines to retrieve it
and raptor_stringbuffer to assemble it.
(main): Use roqet_get_www_content to retrieve queries from URIs.
* sparql_parser.y, sparql_lexer.l: Deleted FOR and USING tokens
* sparql_parser.y: Remove PatternLiteral
* tests/sparql/examples/Makefile.am,
tests/sparql/examples/ex2-1a-result.n3,
tests/sparql/examples/ex2-1a.n3, tests/sparql/examples/ex2-1a.rq,
tests/sparql/examples/ex2-1b.rq, tests/sparql/examples/ex2-1c.rq,
tests/sparql/examples/ex2-1d.n3, tests/sparql/examples/ex2-1e.rq,
tests/sparql/examples/ex2-1f.n3,
tests/sparql/examples/ex2-2a-result.n3,
tests/sparql/examples/ex2-2a.n3, tests/sparql/examples/ex2-2a.rq,
tests/sparql/examples/ex2-3a-result.n3,
tests/sparql/examples/ex2-3a.n3, tests/sparql/examples/ex2-3a.rq,
tests/sparql/examples/ex2-4a-result.n3,
tests/sparql/examples/ex2-4a.n3, tests/sparql/examples/ex2-4a.rq,
tests/sparql/examples/ex3-result.n3, tests/sparql/examples/ex3.n3,
tests/sparql/examples/ex3.rq, tests/sparql/examples/manifest.n3:
SPARQL examples from query WD
* tests/sparql/simple/Makefile.am, tests/sparql/part1/Makefile.am,
tests/sparql/Makefile.am, tests/rdql/testsuite/Makefile.am,
tests/rdql/Makefile.am: Use indirect rules for the lexer, parser
tests for rdql, sparql and roqet
* configure.ac: Added tests/sparql/examples/Makefile
* sparql_parser.y: Added SPARQL URI token replacing URI_LITERAL |
QNAME_LITERAL for clarity. Makes several List tokens shorter
* sparql_parser.y (VarOrURIList, VarList): Made left recursive.
(VarOrURI): Don't allow a QName.
* rdql_parser.y (TriplePatternList): rewrite as left recursive
* rdql_parser.y (VarList): rewrite as left recursive
* roqet.c (main): When adding source_uri as a triple source, URI
is now managed by the query, so drop the source_uri pointer.
2004-10-15 Dave Beckett <[email protected]>
* sparql_parser.y (PrefixDeclOpt): Actually use query->prefixes list.
* sparql_parser.y (PrefixDeclOpt):
Add new prefix to existing prefixes list.
(main): Update test code to initialise/free static query.prefixes.
* rdql_parser.y (Query): Do not initialise query->prefixes.
(PrefixDeclList): Shift new prefixes to existing prefixes list.
(main): Update test code to initialise/free static query.prefixes.
* rasqal_query.c (rasqal_new_query): Init query->prefixes here
rather than in each QL implementation.
* sparql_parser.y: Remove prefix from %union - not needed
* sparql_parser.y, sparql_lexer.l, rasqal_internal.h:
Updated SPARQL parser to approximately
http://www.w3.org/TR/2004/WD-rdf-sparql-query-20041012/#grammar
2004-10-12 Dave Beckett <[email protected]>
* tests/sparql/part1/Makefile.am:
Use EXPECTED_SPARQL_CORRECT_FAILURES and count the list at run time
2004-10-10 Dave Beckett <[email protected]>
* sparql_lexer.l, sparql_parser.y, rasqal_expr.c,
rasqal_query_test.c, rdql_lexer.l, rdql_parser.y: Use
rasqal_basename to make 'program' in test code messages.
* rasqal_engine.c (rasqal_engine_execute_finish): Do a terminating
loop through columns.
* rasqal_internal.h: Added rasqal_basename prototype
* rasqal_general.c (rasqal_basename): Added utility function
* rasqal_query_test.c (main):
Check prepares and multiple executes work.
* win32/rasqal.dsp: Rename parser, lexer files. Add sparql
* win32_rasqal_config.h: Add RDQL and SPARQL defines
* rasqal_expr.c: Make all RASQAL_INLINE functions static.
* rasqal_expr.c: RASQAL_INLINE at start of line
2004-10-08 Dave Beckett <[email protected]>
* sparql_parser.y, sparql_lexer.l, sparql_common.h,
rasqal_internal.h, rasqal_general.c, Makefile.am: brql to sparql
2004-09-30 Dave Beckett <[email protected]>
* tests/sparql/check-sparql: -warnings, new perl only
* roqet.c: On query failure (prepare or execute) tidy and exit
* tests/rdql/testsuite/Makefile.am: count expected failures the old way
* tests/rdql/testsuite/check-rdql, tests/sparql/check-sparql:
Handle query parsing, execution errors
* tests/rdql/testsuite/Makefile.am:
Handle test failures with/without a regex library
* tests/sparql/simple/Makefile.am, tests/sparql/part1/Makefile.am:
echo messages for correct, works targets
* tests/sparql/check-sparql:
A few more fixes predicting optional results working.
Unique test works
* tests/rdql/testsuite/check-rdql, tests/sparql/check-sparql:
Handle missing vars or with undef value
* tests/sparql/part1/Makefile.am, tests/sparql/simple/Makefile.am:
Use check-sparql to run queries driven by manifests and check results
are correct. Enable this in check-local
* tests/sparql/check-sparql: Read manifest
* tests/sparql/simple/Makefile.am: Remove expected test failures code.
* tests/sparql/Makefile.am: Added check-sparql
* tests/sparql/check-sparql: run sparql tests
* tests/rdql/testsuite/check-rdql: Relative to root is ../../..
use -d on roqet to dump query
Added -d flag here to run in debug mode
* roqet.c: Added -d/--dump-query to print query to stdout
* tests/sparql/Makefile.am: sparql tests
* Makefile.am: sparql parser/lexer tests
* brql_parser.y: sparql label
* Makefile.am: BRQL to SPARQL
* rasqal_general.c: brql to sparql
* tests/sparql/part1/Makefile.am, tests/sparql/simple/Makefile.am:
list files
* configure.ac: Added sparql subdirs
* tests/sparql/part1/Makefile.am,
tests/sparql/part1/dawg-data-01.n3,
tests/sparql/part1/dawg-query-001,
tests/sparql/part1/dawg-query-002,
tests/sparql/part1/dawg-query-003,
tests/sparql/part1/dawg-result-001.n3,
tests/sparql/part1/dawg-result-002.n3,
tests/sparql/part1/dawg-result-003.n3,
tests/sparql/part1/manifest.n3: sparql part1 tests
* tests/sparql/simple/Makefile.am,
tests/sparql/simple/data-01.n3, tests/sparql/simple/data-02.n3,
tests/sparql/simple/dawg-data-01.n3,
tests/sparql/simple/dawg-tp-01.rq,
tests/sparql/simple/dawg-tp-02.rq,
tests/sparql/simple/dawg-tp-03.rq,
tests/sparql/simple/dawg-tp-04.rq,
tests/sparql/simple/manifest.n3,
tests/sparql/simple/result-tp-01.n3,
tests/sparql/simple/result-tp-02.n3,
tests/sparql/simple/result-tp-03.n3,
tests/sparql/simple/result-tp-04.n3: sparql simple tests
* configure.ac, tests/Makefile.am: brql to sparql
* Makefile.am: Add rasqal_xml.c
* roqet.c: Use rasqal_query_results_print_as_xml
* rasqal.h: Added rasqal_query_results_print_as_xml
* rasqal_xml.c: Rasqal XML
* roqet.c (roqet_print_results_as_xml):
If xml, don't print datatype attribute.
* roqet.c (roqet_print_results_as_xml): no need to malloc/free
when escaped string is same len as original.
* roqet.c (roqet_print_results_as_xml): Print XML Literals raw.
* roqet.c: Added OUTPUT_FORMAT_XML experiment
(roqet_print_xml_attribute): Added, based on
librdf_serialize_rdfxml code.
(roqet_print_results_as_xml): Added, printing an entire result stream
to the given handle in XML.
(main): Added the xml output format.
* rasqal_literal.c, rasqal.h: Export rasqal_literal_print_type
* roqet.c: source_uri check
* brql_parser.y: brql to sparql (keeping alias)
* roqet.c: terminology s/data/source/ -d/-s --data/--source
* rasqal_query.c (rasqal_query_add_source, rasqal_query_get_source):
Handle NULL
query->sources and initialise it first time when adding.
(rasqal_query_add_variable, rasqal_query_get_variable,
rasqal_query_has_variable, rasqal_query_set_variable): Handle NULL
query->selects and initialise it first time when adding.
(rasqal_query_add_triple, rasqal_query_get_triple):Handle NULL
query->triples and initialise it first time when adding.
(rasqal_query_add_constraint, rasqal_query_get_constraint): Handle NULL
query->constraints and initialise it first time when adding.
(rasqal_query_add_prefix, rasqal_query_get_prefix): Handle NULL
query->prefixes and initialise it first time when adding.
* roqet.c:
Added -d URI to specify a data URI to load before running the query.
2004-09-26 Dave Beckett <[email protected]>
* sparql_parser.y:
(TriplePatternList) Append constraint to right sequence.
* sparql_parser.y: Merged CommaAndConstraintClause into TriplePatternList
to remove another shift/reduce conflict with AND.
* sparql_parser.y: CommaAndConstraintClause tidy
* sparql_parser.y:
Removed SOURCE alias for FROM, reducing a shift/reduce cnflict
* sparql_parser.y: URIList tidy
* fix-bison: Delete yyerrlab1 label only if used in a goto
* tests/brql/Q-F2F3-1, tests/brql/Q-F2F3-2: F2F3 bits