Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DatabaseMetaData#getFunctionColumns's result has duplicate #3127

Closed
onacit opened this issue Feb 17, 2024 · 1 comment
Closed

DatabaseMetaData#getFunctionColumns's result has duplicate #3127

onacit opened this issue Feb 17, 2024 · 1 comment

Comments

@onacit
Copy link

onacit commented Feb 17, 2024

Please read https://stackoverflow.com/help/minimal-reproducible-example

Describe the issue
DatabaseMetaData#getFunctionColumns()'s result has duplicate.

Driver Version?
42.7.2

Java Version?

IBM Semeru Runtime Open Edition 21.0.2.0 (build 21.0.2+13-LTS)
Eclipse OpenJ9 VM 21.0.2.0 (build openj9-0.43.0, JRE 21 Mac OS X aarch64-64-Bit 20240116_96 (JIT enabled, AOT enabled)
OpenJ9   - 2c3d78b48
OMR      - ea8124dbc
JCL      - 78c4500a434 based on jdk-21.0.2+13)

OS Version?

che Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)
Maven home: /Users/onacit/.m2/wrapper/dists/apache-maven-3.9.6-bin/439sdfsg2nbdob9ciift5h5nse/apache-maven-3.9.6
Java version: 21.0.2, vendor: IBM Corporation, runtime: /Library/Java/JavaVirtualMachines/ibm-semeru-open-21.jdk/Contents/Home
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "14.3.1", arch: "aarch64", family: "mac"

PostgreSQL Version?

16.1 (Debian 16.1-1.pgdg120+1)

To Reproduce
Invoke getFunctions() and getFunctionColumns().

Expected behaviour
Should not contain any duplicates.

Logs

Found duplicate(s):
  [FunctionColumn(super=AbstractMetadataType(super=com.github.jinahya.database.metadata.bind.FunctionColumn@3bd3b492, unmappedValues={}),
    functionCat=null,
    functionSchem=pg_catalog,
    functionName=pg_create_logical_replication_slot,
    columnName=slot_name,
    columnType=3,
    dataType=12,
    typeName=name,
    precision=null, length=null, scale=null, radix=null, nullable=2, remarks=null, charOctetLength=null, ordinalPosition=5, isNullable=,
    specificName=pg_create_logical_replication_slot_3786)]
in:
  [
  FunctionColumn(super=AbstractMetadataType(super=com.github.jinahya.database.metadata.bind.FunctionColumn@3bd3b492, unmappedValues={}),
    functionCat=null,
    functionSchem=pg_catalog,
    functionName=pg_create_logical_replication_slot,
    columnName=slot_name,
    columnType=1, dataType=12, typeName=name, precision=null, length=null, scale=null, radix=null, nullable=2, remarks=null, charOctetLength=null, ordinalPosition=1, isNullable=,
    specificName=pg_create_logical_replication_slot_3786),
  FunctionColumn(super=AbstractMetadataType(super=com.github.jinahya.database.metadata.bind.FunctionColumn@43c8832f, unmappedValues={}), functionCat=null, functionSchem=pg_catalog, functionName=pg_create_logical_replication_slot, columnName=plugin, columnType=1, dataType=12, typeName=name, precision=null, length=null, scale=null, radix=null, nullable=2, remarks=null, charOctetLength=null, ordinalPosition=2, isNullable=, specificName=pg_create_logical_replication_slot_3786),
  FunctionColumn(super=AbstractMetadataType(super=com.github.jinahya.database.metadata.bind.FunctionColumn@10deff19, unmappedValues={}), functionCat=null, functionSchem=pg_catalog, functionName=pg_create_logical_replication_slot, columnName=temporary, columnType=1, dataType=-7, typeName=bool, precision=null, length=null, scale=null, radix=null, nullable=2, remarks=null, charOctetLength=null, ordinalPosition=3, isNullable=, specificName=pg_create_logical_replication_slot_3786),
  FunctionColumn(super=AbstractMetadataType(super=com.github.jinahya.database.metadata.bind.FunctionColumn@e0e95cc3, unmappedValues={}), functionCat=null, functionSchem=pg_catalog, functionName=pg_create_logical_replication_slot, columnName=twophase, columnType=1, dataType=-7, typeName=bool, precision=null, length=null, scale=null, radix=null, nullable=2, remarks=null, charOctetLength=null, ordinalPosition=4, isNullable=, specificName=pg_create_logical_replication_slot_3786),
  FunctionColumn(super=AbstractMetadataType(super=com.github.jinahya.database.metadata.bind.FunctionColumn@3bd3b492, unmappedValues={}),
    functionCat=null,
    functionSchem=pg_catalog,
    functionName=pg_create_logical_replication_slot,
    columnName=slot_name,
    columnType=3, dataType=12, typeName=name, precision=null, length=null, scale=null, radix=null, nullable=2, remarks=null, charOctetLength=null, ordinalPosition=5, isNullable=,
    specificName=pg_create_logical_replication_slot_3786),
  FunctionColumn(super=AbstractMetadataType(super=com.github.jinahya.database.metadata.bind.FunctionColumn@ccb2a14b, unmappedValues={}), functionCat=null, functionSchem=pg_catalog, functionName=pg_create_logical_replication_slot, columnName=lsn, columnType=3, dataType=1111, typeName=pg_lsn, precision=null, length=null, scale=null, radix=null, nullable=2, remarks=null, charOctetLength=null, ordinalPosition=6, isNullable=, specificName=pg_create_logical_replication_slot_3786)
  ]
@davecramer
Copy link
Member

Running

 try (ResultSet rsfuncs = metaData.getFunctions(null, null, null)){
                while (rsfuncs.next()) {
                    System.out.println("Function Name: " + rsfuncs.getString("FUNCTION_NAME"));
                }
            }

prints out exactly one function named `pg_create_logical_replication_slot'

Function Name: pg_copy_physical_replication_slot
Function Name: pg_create_logical_replication_slot
Function Name: pg_create_physical_replication_slot

@onacit onacit closed this as not planned Won't fix, can't repro, duplicate, stale Feb 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants