This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 238022 - Database schema no longer visible for Progress OpenEdge DB's
Summary: Database schema no longer visible for Progress OpenEdge DB's
Status: RESOLVED DUPLICATE of bug 237345
Alias: None
Product: db
Classification: Unclassified
Component: DB schema (show other bugs)
Version: 7.4
Hardware: PC Mac OS X
: P3 normal (vote)
Assignee: Libor Fischmeistr
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-11-06 03:31 UTC by brettryan
Modified: 2013-11-14 20:25 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Testprogramm for JDBC Driver (22.84 KB, application/x-zip)
2013-11-13 22:08 UTC, matthias42
Details

Note You need to log in before you can comment on or make changes to this bug.
Description brettryan 2013-11-06 03:31:25 UTC
In 7.3 and prior when connecting to a DB for Progress OpenEdge (10.1C) the schema could be visible when expanding the connection for the database.

Since upgrading to 7.4 this is no longer visible, expanding the DB just shows no child elements to the connection.

SQL queries still work correctly.
Comment 1 matthias42 2013-11-06 20:20:37 UTC
This is most probably a duplicate of bug 237345, maybe even bug 237648. I'll see if I can get an evaluation copy of openedge (the terms on the homepage don't make happy). If not i'll try to create a minimal java progrm to check the error conditions. I won't get to this for az least the next week, maybe two.
Comment 2 matthias42 2013-11-13 22:08:00 UTC
Created attachment 142155 [details]
Testprogramm for JDBC Driver

Attached you find a netbeans project to check the status of the jdbc driver. A compiled version is also included.

If you run the project from within netbeans, change the source, lines 19-22 to match your configuration. Please also add the jdbc driver jar to the project. After that you can run the project.

If you run the compiled version, change into the base directory of the project and run:

java -cp dist/JDBCTester.jar:<path_to_jdbc_driver_jar> jdbctester.JDBCTester  "<jdbc_driver_class>" "<jdbc_url>" "<jdbc_user>" "<jdbc_password>"

The necessary infos can be retrieved from the connection properties.

Please put the result here - if the output contains sensitive information, it can be changed. If you do that, please indicate that you replaced something and make sure that you replace each occurence of a string you want to conceal with the same replacement and use different replacements for each different string.
Comment 3 brettryan 2013-11-14 11:23:58 UTC
This is all the output I'm getting.

run:
Catalog: MFG[-MDBQ:ALL]
Schema:  java.lang.AbstractMethodError: com.ddtek.jdbc.openedge.OpenEdgeConnection.getSchema()Ljava/lang/String;

====== Catalogs =======
cm
cu
MFG

====== Schemas =======
>> New Schema-Listing
null:PUB
null:SYSPROGRESS
====== Catalogs with Schemas =======
java.lang.AbstractMethodError: com.ddtek.jdbc.base.BaseDatabaseMetaData.getSchemas(Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;
BUILD SUCCESSFUL (total time: 0 seconds)
Comment 4 brettryan 2013-11-14 12:56:21 UTC
What is the minimum JDBC version supported by NB? I think OpenEdge 10.1C is JDBC 4.0 compliant though it may be older. Progress are always a couple versions behind when it comes to the JDK, i.e. 10.1C itself does not support running with a JDK newer than 1.6.

They do offer 11.x but we don't have a spare 150,000 AU$ lying around to upgrade. They're pretty money hungry when it comes to things like that.
Comment 5 matthias42 2013-11-14 20:25:21 UTC
This is the problem:

(In reply to brettryan from comment #3)
> Catalog: MFG[-MDBQ:ALL]

> ====== Catalogs =======
> cm
> cu
> MFG


The catalog reported by the connection is not part of the database. Not sure what is the intention behind this report, but I consider this broken.

What happens is this:

The catalog nodes are created and then seperated into "important" and "other" nodes. Important catalogs are the default catalog of the connection and the explizitly selected catalogs. If only one of the two categories is found, the parent node (the connection node) is configured to show the children of its only child (in your case the "other" category). This proxying is only implemented for org.netbeans.api.db.explorer.node.BaseNode, but the "other" category node does not extend that class (org.netbeans.modules.db.explorer.node.CatalogNodeProvider.OtherCatalogsNode).

I'll mark this bug as a duplicate of bug 237345 and attach a patch and a test build there.

With regard to the minimum jdbc version: The code tries to be as compatible as possible (catching AbstractMethodErrors, NotImplementedYetExceptions and so on). If you find places that break please report it here. From my experience I don't see the value in putting that lot of money out just to get a sane database for netbeans.

*** This bug has been marked as a duplicate of bug 237345 ***