Giter Site home page Giter Site logo

Comments (8)

ahsanhadi avatar ahsanhadi commented on August 13, 2024

Can you please explain what you mean by "postgres lists it as version 1.0"?

from mysql_fdw.

nukleus avatar nukleus commented on August 13, 2024
postgres=# \dx
                            List of installed extensions
   Name    | Version |   Schema   |                   Description                    
-----------+---------+------------+--------------------------------------------------
 mysql_fdw | 1.0     | public     | Foreign data wrapper for querying a MySQL server
 plpgsql   | 1.0     | pg_catalog | PL/pgSQL procedural language
(3 rows)

Possible solution: sed -i "s,default_version = '1.0',default_version = '2.0.1'," mysql_fdw.control

from mysql_fdw.

Kazmirchuk avatar Kazmirchuk commented on August 13, 2024

This is very confusing, especially when supporting customers, when they report having mysql_fdw 1.2, while the real extension version must be looked up either via a package manager or by calling the undocumented mysql_fdw_version()

I'd like to know if there are valid reasons why semantic versioning rules differ for GitHub and PostgreSQL.

from mysql_fdw.

jeevanchalke avatar jeevanchalke commented on August 13, 2024

The extension version and the package version are two different things and should not be linked to each other.

The extension version is bumped whenever there is a change in the extension's .sql file. That helps in upgrade cases too.

However, the package version is the release version containing features and bugs. The release version changes at every release, unlike the extension version.

mysql_fdw_version() should be used to get the package/release version, whereas to get an extension version, pg_extension catalog should be used.

Do you think we should document mysql_fdw_version()?

from mysql_fdw.

Kazmirchuk avatar Kazmirchuk commented on August 13, 2024

yes, this function should be documented along with the justification for version mismatch, because mysql_fdw is in a minority in this respect. E.g. in TimescaleDB both version numbers are the same. I understand that FDW extensions are special since their interface from PG's PoV is minimal, and all feature development happens under the hood and doesn't require new upgrade scripts, but this is far from obvious and not mentioned in PG official docs either.

from mysql_fdw.

jeevanchalke avatar jeevanchalke commented on August 13, 2024

I believe this is a common practice used by the extension developers that the extension version and the package version differ. They are not related and hence can't be termed as there is a mismatch.

For example, postgres_fdw comes with every PG release. However, it is an extension, and its version only changes when its object changes. They both differ (PG version: 16.0 and postgres_fdw version: 1.1). Most other extensions, which are packaged/managed separately follow the same suite, for example, oracle_fdw, jdbc_fdw, etc.

Also, function mysql_fdw_version() is already documented at
https://www.enterprisedb.com/docs/mysql_data_adapter/latest/11_identifying_data_adapter_version/

from mysql_fdw.

Kazmirchuk avatar Kazmirchuk commented on August 13, 2024

until now I believed that README.md is your only documentation. There are no links to enterprisedb.com whatsoever. Ideally it should be a colorful icon "docs" at the top of the page.

from mysql_fdw.

surajkharage19 avatar surajkharage19 commented on August 13, 2024

Hi @Kazmirchuk,

We have now added mysql_fdw documentation link in README file under commit - fabea1b. Please check.

from mysql_fdw.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.