Release Notes

1.2.0

Release date: YYYY-MM-DD

Enhancements

  • Pushdown support for Math, String and Date/Time functions:

    • abs, ceil, floor, round
    • length, upper, lower, starts_with, substring, md5
    • extract(year from x), extract(month from x), extract(year from x), extract(hour from x), extract(minute from x), extract(second from x)
    • date_part(year, x), date_part('month',x), date_part('year', x), date_part('hour', x), date_part('minute', x), date_part('second', x)

    When used in the WHERE clause these functions will be translated to their correspondent SPARQL FILTER expressions.

Bug Fixes

  • Bug fix for WHERE conditions with “inverted” arguments - that is, value in the left side (T_Const) and column in the right side (T_Var): This fixes a bug that led the pushdown of WHERE condiditions containing “inverted” arguments to fail, e.g "foo" = column, 42 > column. Now the order of T_Const and T_Var in the arguments is irrelevant.

1.1.0

Release date: 2024-04-10

Enhancements

  • USER MAPPING support: This feature defines a mapping of a PostgreSQL user to an user in the target triplestore - user and password, so that the user can be authenticated. Requested by Matt Goldberg.

  • Pushdown suuport for pattern matching operators LIKE and ILIKE: these operators are now translated into SPARQL FILTER expressions as REGEX and pushed down.

  • Enables usage of non-pushable data types in FOREIGN TABLE columns: This disables a check that raised an excepetion when data types that cannot be pushed down were used. This includes non-standard data types, such as geometry or geography from PostGIS.

Bug Fixes

  • Empty SPARQL SELECT clause: This fixes a bug that led some SPARQL queries to be created without any variable in the SELECT clause. We now use SELECT * in case the planner cannot identify which nodes should be retrieved, which can be a bit inefficent if we’re dealing with many columns, but it is much better than an error message.

  • Missing schema from foreign tables in rdf_fdw_clone_table calls: This fixes a bug that led the rdf_fdw_clone_table procedure to always look for the given FOREIGN TABLE in the public schema.

  • xmlDoc* memory leak: The xml document containing the resulst sets from the SPARQL queries wasn’t beeing freed after the query was complete. This led to a memory leak that could potentially cause a system crash once all available memory was consumed by the orphan documents - which is an issue for rather modest server settings that execute mutliple queries in the same session. Reported by Filipe Pessoa.

1.0.0

Release date: 2024-03-15

Initial release.

Support for PostgreSQL 11, 12, 13, 14, 15 and 16.

Main Features

  • Pushdown: LIMIT, ORDER BY, DISTINCT, WHERE with several data types and operators
  • Table copy: This introduces the procedure rdf_fdw_clone_table(), that is designed to copy data from a FOREIGN TABLE into an ordinary TABLE. It provides the possibility to retrieve the data set in batches.
  • Proxy Support for SERVER: quite handy feature in case the PostgreSQL and SPARQL endpoint servers are in different networks and can only communicate through a proxy.