CREATE SERVER testserver FOREIGN DATA WRAPPER rdf_fdw OPTIONS ( endpoint 'https://dbpedia.org/sparql', connect_timeout '42' ); /* invalid column option - OPTION 'foo' does not exist */ CREATE FOREIGN TABLE table_error1 ( name text OPTIONS (foo '?s') ) SERVER testserver OPTIONS (sparql 'SELECT * WHERE {?s ?p ?o}'); ERROR: invalid rdf_fdw option 'foo' /* invalid column option - the column OPTION 'variable' cannot be empty. */ CREATE FOREIGN TABLE table_error2 ( name text OPTIONS (variable '') ) SERVER testserver OPTIONS (sparql 'SELECT * WHERE {?s ?p ?o}'); ERROR: empty value in option 'variable' /* invalid foreign table option - SERVER option 'foo' does not exist. */ CREATE FOREIGN TABLE table_error3 ( name text OPTIONS (variable '?s') ) SERVER testserver OPTIONS (foo 'SELECT * WHERE {?s ?p ?o}'); ERROR: invalid rdf_fdw option 'foo' /* * invalid foreign table option - SPARQL variable '?foo' does not exist * in the SPARQL query. The query will return only empty rows. */ CREATE FOREIGN TABLE table_error4 ( name text OPTIONS (variable '?foo') ) SERVER testserver OPTIONS (log_sparql 'true', sparql 'SELECT * WHERE {?s ?p ?o}'); SELECT * FROM table_error4 LIMIT 3; INFO: SPARQL query sent to 'testserver': SELECT ?foo {?s ?p ?o} LIMIT 3 INFO: SPARQL returned 3 records. name ------ (3 rows) /* invalid foreign table option - log_sparql must be boolean */ CREATE FOREIGN TABLE table_error5 ( name text OPTIONS (variable '?s') ) SERVER testserver OPTIONS (sparql 'SELECT * WHERE {?s ?p ?o}', log_sparql 'foo'); ERROR: invalid log_sparql: 'foo' HINT: this parameter expects boolean values ('true' or 'false') CREATE FOREIGN TABLE t1 ( name text OPTIONS (variable '?s') ) SERVER testserver OPTIONS (sparql 'SELECT ?s WHERE {?s ?p ?o} LIMIT 1', log_sparql 'true'); /* invalid SPARQL - missing closing curly braces (\n)*/ CREATE FOREIGN TABLE t2 (s text OPTIONS (variable '?s') ) SERVER testserver OPTIONS (sparql ' SELECT ?s {?s ?p ?o '); ERROR: unable to parse SPARQL WHERE clause: SELECT ?s {?s ?p ?o HINT: The WHERE clause expects at least one triple pattern wrapped by curly braces, e.g. '{?s ?p ?o}' /* invalid SPARQL - missing closing curly braces */ CREATE FOREIGN TABLE t3 (s text OPTIONS (variable '?s') ) SERVER testserver OPTIONS (sparql 'SELECT ?s {?s ?p ?o'); ERROR: unable to parse SPARQL WHERE clause: SELECT ?s {?s ?p ?o HINT: The WHERE clause expects at least one triple pattern wrapped by curly braces, e.g. '{?s ?p ?o}' /* invalid SPARQL - missing closing curly braces (\t) */ CREATE FOREIGN TABLE t4 (s text OPTIONS (variable '?s') ) SERVER testserver OPTIONS (sparql ' SELECT ?s {?s ?p ?o'); ERROR: unable to parse SPARQL WHERE clause: SELECT ?s {?s ?p ?o HINT: The WHERE clause expects at least one triple pattern wrapped by curly braces, e.g. '{?s ?p ?o}' /* invalid SPARQL - missing opening curly braces (\n)*/ CREATE FOREIGN TABLE t5 (s text OPTIONS (variable '?s') ) SERVER testserver OPTIONS (sparql ' SELECT ?s ?s ?p ?o}'); ERROR: unable to parse SPARQL WHERE clause: SELECT ?s ?s ?p ?o} HINT: The WHERE clause expects at least one triple pattern wrapped by curly braces, e.g. '{?s ?p ?o}' /* missing SELECT */ CREATE FOREIGN TABLE t7 (s text OPTIONS (variable '?s') ) SERVER testserver OPTIONS (sparql '?s {?s ?p ?o}'); ERROR: unable to parse SPARQL SELECT clause: ?s {?s ?p ?o}. /* empty nodetype */ CREATE FOREIGN TABLE t7 (s text OPTIONS (variable '?s', nodetype '') ) SERVER testserver OPTIONS (sparql 'SELECT ?s {?s ?p ?o}'); ERROR: empty value in option 'nodetype' /* invalid nodetype */ CREATE FOREIGN TABLE t7 (s text OPTIONS (variable '?s', nodetype 'foo') ) SERVER testserver OPTIONS (sparql 'SELECT ?s {?s ?p ?o}'); ERROR: invalid nodetype: 'foo' HINT: this parameter expects node types ('iri' or 'literal') /* invalid literaltype - contains whitespaces */ CREATE FOREIGN TABLE t7 (s text OPTIONS (variable '?s', literaltype ' xsd:string') ) SERVER testserver OPTIONS (sparql 'SELECT ?s {?s ?p ?o}'); ERROR: invalid literaltype: ' xsd:string' HINT: whitespaces are not allwoed in 'literal_type' option /* invalid language - contains whitespaces */ CREATE FOREIGN TABLE t7 (s text OPTIONS (variable '?s', language 'de ') ) SERVER testserver OPTIONS (sparql 'SELECT ?s {?s ?p ?o}'); ERROR: invalid language: 'de ' HINT: whitespaces are not allwoed in 'language' option /* invalid combination of 'literaltype' and 'language' */ CREATE FOREIGN TABLE t8 (s text OPTIONS (variable '?s', literaltype 'iri', language 'es') ) SERVER testserver OPTIONS (sparql 'SELECT ?s {?s ?p ?o}'); ERROR: invalid language: 'es' HINT: the parameters 'literal_type' and 'language' cannot be combined /* invalid 'variable' */ CREATE FOREIGN TABLE t9 (s text OPTIONS (variable 's', expression 'now()') ) SERVER testserver OPTIONS (sparql 'SELECT ?s {?s ?p ?o}'); ERROR: invalid variable: 's' HINT: a query variable must start with either "?" or "$"; the "?" or "$" is not part of the variable name. Allowable characters for the name are [a-z], [A-Z], [0-9], _ and diacrictics. /* invalid 'variable' */ CREATE FOREIGN TABLE t10 (s text OPTIONS (variable '?a-z', expression 'now()') ) SERVER testserver OPTIONS (sparql 'SELECT ?s {?s ?p ?o}'); ERROR: invalid variable: '?a-z' HINT: a query variable must start with either "?" or "$"; the "?" or "$" is not part of the variable name. Allowable characters for the name are [a-z], [A-Z], [0-9], _ and diacrictics. /* invalid 'variable' */ CREATE FOREIGN TABLE t11 (s text OPTIONS (variable '?a$z', expression 'now()') ) SERVER testserver OPTIONS (sparql 'SELECT ?s {?s ?p ?o}'); ERROR: invalid variable: '?a$z' HINT: a query variable must start with either "?" or "$"; the "?" or "$" is not part of the variable name. Allowable characters for the name are [a-z], [A-Z], [0-9], _ and diacrictics. /* invalid 'variable' */ CREATE FOREIGN TABLE t12 (s text OPTIONS (variable '?a?z', expression 'now()') ) SERVER testserver OPTIONS (sparql 'SELECT ?s {?s ?p ?o}'); ERROR: invalid variable: '?a?z' HINT: a query variable must start with either "?" or "$"; the "?" or "$" is not part of the variable name. Allowable characters for the name are [a-z], [A-Z], [0-9], _ and diacrictics. /* invalid 'variable' */ CREATE FOREIGN TABLE t13 (s text OPTIONS (variable ' ?a', expression 'now()') ) SERVER testserver OPTIONS (sparql 'SELECT ?s {?s ?p ?o}'); ERROR: invalid variable: ' ?a' HINT: a query variable must start with either "?" or "$"; the "?" or "$" is not part of the variable name. Allowable characters for the name are [a-z], [A-Z], [0-9], _ and diacrictics. /* invalid foreign table option - fetch_size empty */ CREATE FOREIGN TABLE t14 ( name text OPTIONS (variable '?s') ) SERVER testserver OPTIONS (sparql 'SELECT ?s {?s ?p ?o}', fetch_size ''); ERROR: empty value in option 'fetch_size' /* invalid foreign table option - fetch_size negative */ CREATE FOREIGN TABLE t15 ( name text OPTIONS (variable '?s') ) SERVER testserver OPTIONS (sparql 'SELECT ?s {?s ?p ?o}', fetch_size '-1'); ERROR: invalid fetch_size: '-1' HINT: expected values are positive integers /* invalid option for rdfnode column*/ CREATE FOREIGN TABLE t16 ( name rdfnode OPTIONS (variable '?s', expression 'STR(?s)') ) SERVER testserver OPTIONS (sparql 'SELECT ?s {?s ?p ?o}'); SELECT * FROM t16; ERROR: invalid option "expression" for column "name" HINT: rdfnode columns accept only the "variable" option /* clean up */ DROP SERVER testserver CASCADE; NOTICE: drop cascades to 3 other objects DETAIL: drop cascades to foreign table table_error4 drop cascades to foreign table t1 drop cascades to foreign table t16