Open galgonek opened 5 years ago
I think that the following quick and probably dirty patch of ssg_sdprin_literal
could solve the issue:
--- virtuoso-opensource-develop-7.old/libsrc/Wi/sparqld.c 2019-07-17 22:32:05.000000000 +0200
+++ virtuoso-opensource-develop-7.new/libsrc/Wi/sparqld.c 2019-09-05 20:04:13.188929980 +0200
@@ -61,6 +61,14 @@
ssg_puts (temp);
ssg_putchar ('"');
}
+ else if (NULL != tree->_.lit.original_text && NULL != tree->_.lit.datatype)
+ {
+ ssg_putchar ('"');
+ ssg_puts (tree->_.lit.original_text);
+ ssg_puts ("\"^^");
+ ssg_sdprin_qname (ssg, (SPART *)(tree->_.lit.datatype));
+ return;
+ }
else if (NULL != tree->_.lit.original_text)
ssg_puts (tree->_.lit.original_text);
else
We shall review your proposed patch ...
Hi,
I have performed some experiments with federated queries, and I have found out that Virtuoso sends no type information of numeric literals to a remote query service, so types of numeric literals depend on their lexical forms.
For example, the following query ...
... returns this wrong result:
This is due to the fact that Virtuoso sends the following incorrectly modified query to a remote query service: