Alecaddd / sequeler

SQL Client built in Vala
GNU General Public License v3.0
801 stars 66 forks source link

[Request] Add Firebird support #113

Open btd1337 opened 6 years ago

btd1337 commented 6 years ago

Is It possible to add firebird sql support in the Sequeler DB?

Alecaddd commented 6 years ago

It mostly depend if the LibGDA supports that type of database and provides specific bindings. I'll investigate and let you know

cjfloss commented 6 years ago

from GNOME-DB Roadmap

Next versions

Here is a list of features which will at some point integrated into Libgda:

Alecaddd commented 6 years ago

@cjfloss oh wow, fantastic news, thanks for sharing!

I currently have lots of bugs related to the LibGDA, hopefully the new version will bring fixes and improvements.

cjfloss commented 6 years ago

I guess it has some support now, but is still in development

https://github.com/GNOME/libgda/tree/master/providers/firebird

btd1337 commented 6 years ago

@cjfloss @Alecaddd

https://www.firebirdsql.org/en/newsletter/firebird-sql-project-newsletter-issue-4-17057/#Libgda_5.1.0_released_with_Firebird_support_and_many_improvements

captura de tela de 2018-05-28 13-45-18

btd1337 commented 6 years ago

This support already exists:

https://www.archlinux.org/packages/extra/x86_64/libgda-firebird/files/

Alecaddd commented 6 years ago

@btd1337 Do you use Firebird?

I'm not an expert and I'm not sure when I'll be able to implement it, but if you want, you can make a PR to implement the support of this type of Database. All the currently available DBs in Sequeler are all in the same folder location src/Services/Types and hooked to the same interface src/Services/Types/DataBaseType.vala, so it should be fairly easy to add a new DB type.

btd1337 commented 6 years ago

@mdamaceno Can you help?

mdamaceno commented 6 years ago

I don't know if I can help because Fedora, the distro I use, doesn't have lidgda-firebird released. I can't test this feature for now.

btd1337 commented 6 years ago

@mdamaceno Use this libgda-firebird download

U need just extract this to your /

captura de tela de 2018-05-29 00-19-13

cjfloss commented 6 years ago

I'm trying to implement this, probably tomorrow I send a PR.

cjfloss commented 6 years ago

I'm running into some design problems

if (db_type_entry.get_active () == 2) { db_port_entry.placeholder_text = "5432"; } else { db_port_entry.placeholder_text = "3306"; }



I was thinking in making the class `Sequeler.Services.Types.TYPE` return a form wich is added to the main form on the `ConnectionDialog`
cjfloss commented 6 years ago

Or the user could type the whole path into the database name

the user would type on the database name field /home/user/firebird.fdb or if the server is on windows C:\Data\Folder\firebird.fdb

cjfloss commented 6 years ago

When I was typing the comment above I realised the it's a better implementation, since it works for unix and windows.

Alecaddd commented 6 years ago

@cjfloss Interesting design problem. If this is a roadblock for you, you can simply return an open input field to allow the user to manually specify the file Path. Not the best usable solution, but acceptable for now.

Later, I will take a look at the problem and define a more modular way to handle the connection form.

mdamaceno commented 6 years ago

In Firebird, the path of the database is a part of its name. So, I think the ConnectionDialog could be like MySQL or PostgreSQL. If you need to specify a file (like SQLite), you may have problems when you run Firebird on Docker.

aspersieman commented 2 years ago

I'm also very interested in this feature. Has there been any progress or plans to release this?