SQL Power Business Intelligence Productivity Tools

SQL Power Software Forum

SQL Power Software Forum

  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Members]  Member Listing   [Groups] Back to home page  [Register] Register /  [Login] Login 
Generated SQL for Firebird  XML
Forum Index » SQL Power Architect Discussion
Author Message
Leifson


Joined: 2008-10-26 16:15:25
Messages: 2
Offline

Hi,

I've installed the Firebird JDBC driver (JayBird) and added a connection, but when I try add a table and generate SQL statements for creating the table, I only have the option of "Generic SQL-92", and it seems that that syntax fails to execute in Firebird.

Is this expected? Should I see FireBird SQL as an option besides SQL-92 or is this something that goes beyond the information that the driver supplies?
Jeff
SQL Power Developer
[Avatar]

Joined: 2007-06-27 18:31:33
Messages: 410
Offline

Hello,

We write the code that generates the DDL SQL statements that the forward engineering feature for each of our supported platforms.

Unfortunately, Firebird is not among our officially supported platforms (Oracle, SQL Server, MySQL, PostgreSQL), but we can take a look at the problem.

Would you be able to send us the generated SQL statement, and the error message that it gave?

-Jeff
Leifson


Joined: 2008-10-26 16:15:25
Messages: 2
Offline

I found the error. when I changed the datatype to one of the supported it was executed successfully.

I also tried to Compare the model with the target database, but was surprised that the "diff" SQL couldn't be generated as Generic SQL-92.
Why is that?

Are there any plans to do add support for more databases (especially Firebird) ?
Jonathan
SQL Power Developer

Joined: 2007-01-08 15:10:32
Messages: 873
Offline

Hi Leifson,

I'm glad you got it working. I should warn you, though, that without explicit support for Firebird, you're likely to be fighting an uphill battle as your data model gets more complex.
Is this expected? Should I see Firebird SQL as an option besides SQL-92 or is this something that goes beyond the information that the driver supplies?
This does go beyond the information that the driver supplies, yes. The JDBC spec does specify some database metadata that we could use to get part of the way, but it's not quite enough. Plus, there is a larger problem that the spec is loosely worded and every platform has a slightly different take on exactly what information to provide.

I also tried to Compare the model with the target database, but was surprised that the "diff" SQL couldn't be generated as Generic SQL-92.
Why is that?
There are a number of use case restrictions in the Compare DM feature that we plan to ease off in an upcoming release of the Architect. Most of these restrictions were there because the Architect was not supposed to generate a DDL script that you would not be able to execute successfully against the "older" database right away. Since you can now save and/or edit the generated script and use it for any reason, this "helpful" behaviour is actually just harmful and has to be removed. It's on the to-do list.

Are there any plans to do add support for more databases (especially Firebird) ?
We're certainly not opposed to accepting contributions of support for forward engineering to new platforms, but branching out and supporting more than the current list of platforms (there are 6) is not in our immediate plans.

The more likely enhancement at this point would be for us to refactor our DDL generator so we can provide a GUI for end users to define new target platforms on their own. Right now, DDL generators are defined by a Java class which subclasses the generic (SQL92-ish) DDL generator and specifies the platform's special needs by overriding the appropriate methods. So we can't provide a "new target platform" GUI until we've changed that arrangement to not require subclassing.

Back to your original problem of actually getting forward engineering and diff scripts: you might want to consider is trying DDL generators for some of the other platforms (PostgreSQL, DB2, and SQL Server are good candidates). You may get more mileage out of one of those than the generic one.

-Jonathan

This message was edited 2 times. Last update was at 2008-10-27 18:38:45

 
Forum Index » SQL Power Architect Discussion
Go to:   
Powered by JForum 2.1.8 © JForum Team