pgspider / sqlite_fdw

SQLite Foreign Data Wrapper for PostgreSQL
Other
218 stars 37 forks source link

Fix no sqlite_fdw functions in pg catalog during CREATE EXTENSION #58

Closed mkgrgis closed 1 year ago

mkgrgis commented 1 year ago

There were no separate SQL for the last version, hence executed SQL for previous version not contained sqlite_fdw user callable functions. Restored in DDL SQL scripts, de facto function exists is .so.

t-kataym commented 1 year ago

@mkgrgis I'm sorry. I don't know why sqlite_fdw--1.1.sql is necessary. The contents of sqlite_fdw--1.1.sql you created is same as sqlite_fdw--1.0--1.1.sql and sqlite_fdw--1.0.sql. That's redundant. Could you tell me the reason?

default_version is 1.1 (it is defined in sqlite_fdw.control). Therefore, sqlite_fdw--1.0--1.1.sql and sqlite_fdw--1.0.sql are executed.

I'm referring to https://www.postgresql.org/docs/current/extend-extensions.html#id-1.8.3.20.15 38.17.5. Installing Extensions Using Update Scripts

mkgrgis commented 1 year ago

In PostgreSQL 13.9 I have once don't find any sqlite_fdw functions from the new version after CREATE EXTENSION. Also firebird_fdw successfully provides both update and initial scripts.

Hmm, for test create database test;, then psql -d test there is output

test=# create extension sqlite_fdw ;
CREATE EXTENSION
test=# \df
                                            List of functions
 Schema |            Name            | Result data type |           Argument data types           | Type 
--------+----------------------------+------------------+-----------------------------------------+------
 public | sqlite_fdw_disconnect      | boolean          | text                                    | func
 public | sqlite_fdw_disconnect_all  | boolean          |                                         | func
 public | sqlite_fdw_get_connections | SETOF record     | OUT server_name text, OUT valid boolean | func
 public | sqlite_fdw_handler         | fdw_handler      |                                         | func
 public | sqlite_fdw_validator       | void             | text[], oid                             | func
 public | sqlite_fdw_version         | integer          |                                         | func
(6 rows)

Hence no problems. Maybe my usual database have complicated history with sqlite_fdw versions and functions and CREATE EXTENSION ... UPDATE have been forgotten by me.

@t-kataym, if you don't see any reason in sqlite_fdw--1.1.sql after my explanations, feel free to close this PR.

t-kataym commented 1 year ago

I still don't find a reason. Please let me close the PR. If found a reason, please re-open it.