Bug 232925 - Support for Ingres
Summary: Support for Ingres
Status: RESOLVED FIXED
Alias: None
Product: Data Tools
Classification: Tools
Component: Enablement (show other bugs)
Version: Ganymede   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: Galileo   Edit
Assignee: Brian Fitzpatrick CLA
QA Contact:
URL:
Whiteboard:
Keywords: plan
Depends on:
Blocks:
 
Reported: 2008-05-20 05:45 EDT by Enrico Schenk CLA
Modified: 2008-12-04 14:03 EST (History)
0 users

See Also:
bfitzpat: iplog+


Attachments
The attachment contains the source code for the mentioned plugins. (269.17 KB, application/x-zip-compressed)
2008-05-20 05:45 EDT, Enrico Schenk CLA
no flags Details
The attachment contains the refactored plug-ins. (267.78 KB, application/octet-stream)
2008-06-27 08:12 EDT, Enrico Schenk CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Enrico Schenk CLA 2008-05-20 05:45:04 EDT
Created attachment 101019 [details]
The attachment contains the source code for the mentioned  plugins.

The access of Ingres databases is currently only possible by using Generic JDBC connection profiles. While this solution works it limits the functionality that is available to the user. I've created a set of plug-ins that provides enhanced support for Ingres databases. Amongst other things, the plug-ins provide support for:

* Ingres database objects (procedures, database events, synonyms, sequences...)
* Syntax highlighting
* DDL generation
* Procedure editing/execution
Comment 1 Brian Fitzpatrick CLA 2008-06-02 14:21:06 EDT
Setting to future, as Ingres is looking into the process 
Comment 2 Enrico Schenk CLA 2008-06-09 05:18:48 EDT
The attached archive contains the source code to enable support for Ingres within the data tools platform project. DTP has two options to integrate the contribution. One is the new Incubator subproject and the other is the Enablement subproject. From my point of view the plug-ins are stable, so that I would prefer to bypass the Incubator and contribute directly to Enablement.
Comment 3 Brian Fitzpatrick CLA 2008-06-18 12:26:40 EDT
Ingres contributions review

UI/non-UI plug-in separation is ok for a start, but needs some work...

1) The Ingres driver template refers to a password property descriptor editor that's in o.e.d.connectivity.ui. You can remove that and add this to your o.e.d.e.ingres.ui plugin.xml:

  <extension
        point="org.eclipse.datatools.connectivity.ui.driverPropertyEditor">
     <propertyEditor
           customPropertyDescriptor="org.eclipse.datatools.connectivity.ui.PasswordTextPropertyDescriptor"
           driverPropertyID="org.eclipse.datatools.connectivity.db.password"
           driverTemplateID="org.eclipse.datatools.enablement.ingres.2006.driverTemplate"
           id="org.eclipse.datatools.connectivity.db.password.propertyeditor">
     </propertyEditor>
  </extension>

2) The o.e.d.e.ingres plug-in still has many UI dependencies. If you go to the manifest editor for it and go to the Dependency tab, then open the Dependency Analysis section and click on "Show the plug-in dependency hierarchy" you can see all the plug-ins. 

You'll notice that o.e.d.connectivity.ui, org.eclipse.ui, o.e.d.sqltools.editor.core, o.e.d.sqltools.plan, o.e.d.sqltools.routineeditor, o.e.d.sqltools.sql, and o.e.d.sqltools.sqleditor are all in the list. These dependencies should be moved to the o.e.d.e.ingres.ui plug-in along with all the code that dependes on them. This could be quite a refactoring effort I'm afraid. 

Unfortunately, even the Sybase enablement plug-ins have this issue currently. We've refactored them as far as we can get without refactoring the o.e.d.sqltools.editor.core plug-in into a UI/non-UI approach, which I hope we'll have a chance to do in the next major release. So Ingres isn't alone in still having some work to do in this area. 

The other gotcha we've seen is with the catalog loaders, but you've extended the generic catalog loaders from the framework, which is great. So you're fine there.

So I'm going to say that this contribution looks great and would ask that you go back and refactor the UI/non-UI bits I discussed above. Hopefully that won't be too painful. And once that's done, we can submit this for IP review to the Eclipse EMO folks. 

If you have any questions, please let us know. 
--Fitz
Comment 4 Enrico Schenk CLA 2008-06-27 08:11:06 EDT
Thanks for reviewing and commenting the code. I have refactored the plug-ins and moved all UI dependencies from o.e.d.e.ingres to o.e.d.e.ingres.ui. The core plugin has no more dependencies to org.eclipse.ui, o.e.d.connectivity.ui, o.e.d.sqltools.editor.core, o.e.d.sqltools.plan, o.e.d.sqltools.sqleditor and o.e.d.sqltools.routineeditor. Unfortunately the UI plug-in contains now parts that should be in the core plug-in. I understand that a refactoring of o.e.d.sqltools.editor.core is necessary to remove these dependencies and I would be glad if I could help you on this.

Rico

PS: The refactoring was not as painful as expected :)
Comment 5 Enrico Schenk CLA 2008-06-27 08:12:33 EDT
Created attachment 105997 [details]
The attachment contains the refactored plug-ins.
Comment 6 Brian Fitzpatrick CLA 2008-06-27 10:15:48 EDT
Refactoring of o.e.d.sqltools.editor.core and others is hopefully going to be a priority moving towards the next major release (June 2009), so we should be ok there (knock on wood). 

As for the rest... I'll take a look today, but I'm guessing it looks fine. I'll see what the next step is to get this to the EMO for IP review and we can go from there.

Thanks for doing this so quickly!

Did you ever get any text together that you'd like us to put up on the community page?

--Fitz
Comment 7 Brian Fitzpatrick CLA 2008-07-09 13:38:25 EDT
That looks great. (Sorry it's taken so long to get back to you.) I'll get the IP process started. The process may take a while because we're doing a full IP review. 

While I get that started, can you guys get the Eclipse Foundation membership agreement and committer paperwork submitted? We'll want to make sure that we do that in parallel so that when your code goes in and is available, you can start working on it (if you need to) as a committer. If you have questions about what you should fill out, I'd drop an e-mail to "emo(at)eclipse.org".
Comment 8 Brian Fitzpatrick CLA 2008-07-09 13:48:15 EDT
This has been submitted to IPZilla as CQ 2474
Comment 9 Brian Fitzpatrick CLA 2008-08-28 17:54:38 EDT
The contribution has been approved. I will be adding the Ingres plug-ins to CVS as soon as we branch after 1.6.1 is done. Thanks so much for your patience! We'll definitely get this code into the Galileo stream when we get there. It'll be a welcome addition!
Comment 10 Brian Fitzpatrick CLA 2008-12-02 16:35:18 EST
Code delivered to CVS today! Will ask our build folks to work this into the Galileo build as soon as possible. 
Comment 11 Brian Fitzpatrick CLA 2008-12-04 14:03:33 EST
Setting the IPLog flag