Skip to content

Releases: lacanoid/datalink

DLREPLACECONTENT

17 Jan 01:01
Compare
Choose a tag to compare
DLREPLACECONTENT Pre-release
Pre-release

Major improvements!

  • added preliminary curl_save() function to download web content to a local file.
  • added preliminary dlreplacecontent() function to replace the content of a linked file.
  • dl_directory check constraint that dirpath is like '/%/'
  • new is_local(), is_valid() as is_http_success() immutable functions, for use in check constraints and such
  • add read() and write() functions to read and write binary files
  • add has_updated(datalink) to check for file changes
  • forbid * in file names
  • new iri() function to convert IRIs (unicode) to URIs (escaped)
  • dlvalue() now supports IRI link type, bug fixes
  • dump/restore improvements (function datalink.set_online())
  • added datalink.http_response_codes reference table
  • simplify file: URLs to be without host if not needed
  • rename dlurlpathwrite() to datalink.filepathwrite() as it doesn't conform to the standard
  • rename dl_file_admin() to dl_file_new()
  • rename dl_admin_files to dl_new_files
  • improve the way options are specified for curl_get()
  • improved temporary files handling, don't delete them when linked
  • added tables datalink.dl_access_web and datalink.access_web table and view
  • added preliminary has_web_privilege() functions
  • remove function instr()
  • improve function substr() to return proper substrings
  • datalinks can now be domains on domains

WRITE ACCESS DB

12 Mar 10:20
8a02568
Compare
Choose a tag to compare
WRITE ACCESS DB Pre-release
Pre-release

Most notably, WRITE ACCESS DB is now implemented, with write tokens and everything.

  • more documentation (manual)
  • new write_text() functions
  • datalinker now better split into dlfm (admin tool) and pg_datalinker (daemon)
  • improved systemd support
  • dlfm supports bind and unbind operations
  • added preliminary dlcat shell command (in C, DLFF for DLURLPATH)
  • changing link control options works for non superusers
  • changing link control options works in many cases when values are present
  • removed implicit from datalink to jsonb cast
  • lco number assignment changes in link_control_options to be more logical
  • some boolean args changed to integer to be more consistent
  • new commit() procedure
  • new dl_admin_files table to keep track of administered files, this is currently used to keep track of files created with write_file().
  • new dl_file_admin() function
  • datalinker status improvements
  • datalinker now automatically deletes temporary files and files created in aborted transactions ($opt_A)
  • preliminary revisions() and revision() functions

READ ACCESS DB

31 Oct 21:11
Compare
Choose a tag to compare
READ ACCESS DB Pre-release
Pre-release

Most notably, READ ACCESS DB is now implemented, with read tokens and everything.

  • fixed utf8 decoding in curl_get, read_file and read_lines
  • slightly changed order and assignments in link_control_options
  • improved support for file path to url mapping
  • improved support for READ ACCESS DB
  • new function dl_authorize(file_path) to authorize a file path
  • functions dlurlpath, dlurlcomplete, read_text and read_lines now support read access tokens
  • added simple apache2 mod_perl module to authorize read access db
  • renamed datalink.dl_url to datalink.url
  • new function dl_lco(datalink) to get LCO for a (linked) datalink
  • load initial contents of datalink.dl_directory from file /etc/postgresql-common/dl_directory if it exists

More file operations and permissions

25 Sep 17:41
Compare
Choose a tag to compare
Pre-release
  • shortened json keys (url,token,text,old,type) -> (a,b,c,o,t)
  • include read_access flag in datalink (r)
  • include mapping flag in datalink (m)
  • new view datalink.access with triggers to update datalink.directory.diracl
  • new function datalink.has_file_privilege() to enquire about file privileges
  • initial datalink.insight table for future read access management
  • stricter checks for file paths in dlvalue()
  • added substr, instr, fileexists, filegetname and getlength bfile compatibility functions
  • you can specify ranges in read_text and read_lines
  • check for SELECT privilege in read_text and read_lines
  • check for DELETE privilege in dl_datalink_ref

Foreign servers, directories, domains...

08 Jul 22:38
Compare
Choose a tag to compare

Lots of new features:

  • dlurlserver() now returns NULL for no server
  • add basename to uri_get() and uri_set()
  • added datalink.directory relation. now datalinks also work like efile, with dlvalue(path,directory)
  • preliminary foreign server support for FILE URLs in datalink.curl_get()
  • now you can create domains on datalinks
  • datalink.read function renamed to datalink.read_text
  • new datalink.read_lines set returning function to stream text files
  • dlurlscheme() now returns uppercase, as per SQL standard

datalink.read(datalink)

27 Mar 23:52
Compare
Choose a tag to compare
Pre-release
  • added datalink.read(datalink) function to read file contents
  • raise a warning if datalinker is not running but it should
  • curl_get() function now includes timing, fold retcode return field into rc
  • pg_datalinker now uses SELECT FOR UPDATE, less verbose

Trigger improvements

12 Feb 01:40
Compare
Choose a tag to compare
Trigger improvements Pre-release
Pre-release

Datalink triggers are now only created when needed. This makes writing to tables with datalink columns and no link control much faster.

Bug fixes.

Write access improvements

29 Jul 03:44
Compare
Choose a tag to compare
Pre-release

Implemented write access settings BLOCKED, ADMIN and TOKEN.

SQL/MED functions for getting URL parts now work on text as well as datalinks. For example, you can use dlurlcomplete(url) to normalize URLs.

You can now also convert relative to absolute links with dlvalue(url,dlvalue(base)).

Datalinker daemon is improved, with less bugs.

Some renaming and internal reorganization. datalink.column_options is now datalink.columns.

Revert files from backups

03 Jun 03:07
Compare
Choose a tag to compare
Pre-release

Volumes, where files can be located.
Now you can revert old files from backups.
Lots of improvements in datalinker.

Improved DLVALUE()

29 May 22:06
Compare
Choose a tag to compare
Improved DLVALUE() Pre-release
Pre-release

A number of little bug fixes and improvements.
You can use dlvalue() functions with file paths now, automatically converting them to urls.
See CHANGELOG for more details.