Skip to content

Test case for a PostgreSQL extension control file bug report

Notifications You must be signed in to change notification settings

theory/test-extension-directory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Testing Postgres Extension Directory

A simple test case for this bug report. Not actually a bug, though; see the fix below.

Actual output:

$ make install
gmkdir -p '/data/pgsql/share/extension'
gmkdir -p '/data/pgsql/share/extension'
ginstall -c -m 644 .//click.control '/data/pgsql/share/extension/'
ginstall -c -m 644 .//sql/click--1.0.0.sql  '/data/pgsql/share/extension/'

Expected output:

$ make install
gmkdir -p '/data/pgsql/share/extension/click'
gmkdir -p '/data/pgsql/share/extension/click'
ginstall -c -m 644 .//click.control '/data/pgsql/share/extension/'
ginstall -c -m 644 .//sql/click--1.0.0.sql  '/data/pgsql/share/extension/click'

Note that the click subdirectory is neither created nor used to install the DATA file in th actual output, despite this line in the control file:

directory = 'extension/click'

From the docs:

directory (string)

The directory containing the extension's SQL script file(s). Unless an absolute path is given, the name is relative to the installation's SHAREDIR directory. The default behavior is equivalent to specifying directory = 'extension'.

The Fix

Turns out this it requires that MODULEDIR also be set in the Makefile:

MODULEDIR = extension/click

With that in place, it works as expected:

$ make install
gmkdir -p '/data/pgsql/share/extension'
gmkdir -p '/data/pgsql/share/extension/click'
ginstall -c -m 644 .//click.control '/data/pgsql/share/extension/'
ginstall -c -m 644 .//sql/click--1.0.0.sql  '/data/pgsql/share/extension/click/'

About

Test case for a PostgreSQL extension control file bug report

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published