Access to Firebird Object Definitions Source...

46 views
Skip to first unread message

Steve Naidamast

unread,
Apr 26, 2022, 12:00:59 PM4/26/22
to firebird-support
Hello All...

About 2 years ago I developed a personal, SQL Server Source\Version Control system that allowed for the versioning of all the SQL Server's object DDL in a centralized database. 

Though quite competitive with the only 2 other products available at the time, there was little interest in this product.

Having worked basically with only Firebird in the last several years I am now considering reworking my original software for Firebird developers.

However, what API is available to extract Firebird object definition source code that we regularly see in any Firebird Database Manager?

Thank you...

Steve Naidamast
BFS_splash-screen-purple-sun_140x105.png

Dimitry Sibiryakov

unread,
Apr 26, 2022, 12:12:38 PM4/26/22
to firebird...@googlegroups.com
Steve Naidamast wrote 26.04.2022 18:00:
> However, what API is available to extract Firebird object definition source code
> that we regularly see in any Firebird Database Manager?

SQL queries to system tables as described at
https://firebirdsql.org/file/documentation/chunk/en/refdocs/fblangref40/fblangref40-appx04-systables.html

--
WBR, SD.

Mark Rotteveel

unread,
Apr 26, 2022, 12:18:54 PM4/26/22
to firebird...@googlegroups.com
On 26-04-2022 18:00, Steve Naidamast wrote:
> About 2 years ago I developed a personal, SQL Server Source\Version
> Control system that allowed for the versioning of all the SQL Server's
> object DDL in a centralized database.
>
> Though quite competitive with the only 2 other products available at the
> time, there was little interest in this product.
>
> Having worked basically with only Firebird in the last several years I
> am now considering reworking my original software for Firebird developers.
>
> However, what API is available to extract Firebird object definition
> source code that we regularly see in any Firebird Database Manager?

The only real API available for this are the metadata tables, and then
you need to write logic to generate the statements based on the values
within those metadata tables. This is what most existing Firebird tools do.

ISQL has code to generate this, but it is really part of ISQL itself (eg
src/isql/extract.epp among others), and not part of some generic API
within Firebird or the client API.

Mark
--
Mark Rotteveel

Steve Naidamast

unread,
Apr 26, 2022, 12:40:03 PM4/26/22
to firebird-support
Thank you, Mark... 

Yes, that is what I have been reading and surmised as a result.  I was hoping that there was an easier way to do this.

Stanislav Hruška

unread,
Apr 27, 2022, 3:14:06 AM4/27/22
to firebird-support
I'm a curious person. Can you see what your software can do?
I was mainly struck by the sentence that he had only two competitors. That's why I'd like to see him.
I saw and tried about 5 programs. Now I use DBWorkbench. I haven't seen anything better. I'm not a commercial, nor am I a programmer.
Thanks!

Dátum: utorok 26. apríla 2022, čas: 18:40:03 UTC+2, odosielateľ: blackfalc...@gmail.com

Steve Naidamast

unread,
Apr 27, 2022, 2:47:06 PM4/27/22
to firebird-support
Hello...

My SQL Server Source Control software actually did most of what the main two competitors did with theirs (RedGate, ApexSQL) in which source definitions for database objects would be stored by version number in a local database.

Such definitions included tables, views, indices, procedures functions, triggers, and security options.  There are one or two more definitions that I am missing in my list but it has been quite a while since I looked at the source code.

Just about any good database manager will export the various scripts you require to defined files.  My software however, acted more as a version control system whereby every time you added another script with the same name as a stored script, it created a new version number for you while ensuring that all such scripts were stored for retrieval...
Reply all
Reply to author
Forward
0 new messages