diff --git a/.gitignore b/.gitignore index 4406ea3..750d8ca 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .flatpak-builder builddir build +export *~ /subprojects/blueprint-compiler diff --git a/README.md b/README.md index bbd6ef8..7f01bc2 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,8 @@ Small tool for quick sql query, specialized in PostgresSQL. Written in Vala for GNOME desktop in the hope to be useful. +> **This project is not a part of or affiliated with PostgreSQL.** + # Features - Load and save connections. - List schema info, tables, views. @@ -73,3 +75,9 @@ Contributions are welcome. # FAQ Why not flathub? > There is an bug in flatpak-builder build and i don't know why yet (see [#43](https://github.com/ppvan/psequel/issues/43)). So i have to build it in GNOME Builder and upload flatpak file manually in [Releases](https://github.com/ppvan/psequel/releases) tab. + + +# Credits + +- [Psequel](https://psequel.com/) - MacOS postgresql client. This project is inspired by Psequel. +- [libpg_query](https://github.com/pganalyze/libpg_query) - PostgresSQL parser diff --git a/data/icons/hicolor/scalable/apps/me.ppvan.psequel.svg b/data/icons/hicolor/scalable/apps/me.ppvan.psequel.svg index 02b411b..8a2bbf4 100644 --- a/data/icons/hicolor/scalable/apps/me.ppvan.psequel.svg +++ b/data/icons/hicolor/scalable/apps/me.ppvan.psequel.svg @@ -8,7 +8,7 @@ id="svg7" sodipodi:docname="me.ppvan.psequel.svg" xml:space="preserve" - inkscape:version="1.3 (0e150ed, 2023-07-21)" + inkscape:version="1.3 (0e150ed6c4, 2023-07-21)" inkscape:export-filename="me.ppvan.psequel.svg" inkscape:export-xdpi="3.680511" inkscape:export-ydpi="3.680511" @@ -26,15 +26,15 @@ inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" inkscape:document-units="pt" - inkscape:zoom="0.33844548" - inkscape:cx="1679.7388" - inkscape:cy="1567.4607" + inkscape:zoom="5.4151277" + inkscape:cx="82.361862" + inkscape:cy="76.729493" inkscape:window-width="1920" inkscape:window-height="1005" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" - inkscape:current-layer="g7" /> View tables, scshema, views, columns, indexes, foreign key
  • Execute query, query history
  • + +

    This project is not a part of or affiliated with PostgreSQL.

    psequel diff --git a/me.ppvan.psequel-debug.json b/me.ppvan.psequel-debug.json index 0807d88..4a4610c 100644 --- a/me.ppvan.psequel-debug.json +++ b/me.ppvan.psequel-debug.json @@ -57,6 +57,12 @@ }, { "name": "postgresql-libs", + "buildsystem": "simple", + "build-commands": [ + "./configure --prefix=/app --with-ssl=openssl", + "make -C src/include install", + "make -C src/interfaces/libpq install" + ], "sources": [ { "type": "archive", diff --git a/me.ppvan.psequel.json b/me.ppvan.psequel.json index 97e869c..d56de81 100644 --- a/me.ppvan.psequel.json +++ b/me.ppvan.psequel.json @@ -38,7 +38,7 @@ { "type": "git", "url": "https://github.com/ppvan/psequel", - "commit": "0e221b0ca0c10b367a5f2b256db76bf2c15b0c04" + "commit": "33a0704cbbc7ab7ef8483404a4578319c001b1f9" } ], "modules": [ @@ -58,6 +58,12 @@ }, { "name": "postgresql-libs", + "buildsystem": "simple", + "build-commands": [ + "./configure --prefix=/app --with-ssl=openssl", + "make -C src/include install", + "make -C src/interfaces/libpq install" + ], "sources": [ { "type": "archive", diff --git a/src/ui/schema/QueryResult.vala b/src/ui/schema/QueryResult.vala index d3bdff9..5a71b26 100644 --- a/src/ui/schema/QueryResult.vala +++ b/src/ui/schema/QueryResult.vala @@ -99,14 +99,17 @@ namespace Psequel { var factory = new Gtk.SignalListItemFactory (); factory.set_data ("index", i); - factory.setup.connect ((_fact, _item) => { + factory.setup.connect ((_fact, obj) => { + + var _item = (Gtk.ListItem) obj; var label = new Gtk.Label (null); label.halign = Gtk.Align.START; label.margin_start = 8; _item.child = label; }); - factory.bind.connect ((_fact, _item) => { + factory.bind.connect ((_fact, obj) => { + var _item = (Gtk.ListItem) obj; var row = _item.item as Relation.Row; var label = _item.child as Gtk.Label; int index = _fact.get_data ("index"); diff --git a/src/ui/schema/TableColumnInfo.vala b/src/ui/schema/TableColumnInfo.vala index b1f34e4..9c2f274 100644 --- a/src/ui/schema/TableColumnInfo.vala +++ b/src/ui/schema/TableColumnInfo.vala @@ -22,12 +22,15 @@ namespace Psequel { private void setup_name_col () { var factory = new Gtk.SignalListItemFactory (); - factory.setup.connect ((listitem) => { + factory.setup.connect ((obj) => { + var listitem = obj as Gtk.ListItem; + var label = new Gtk.Label (null); label.halign = Gtk.Align.START; listitem.child = label; }); - factory.bind.connect ((listitem) => { + factory.bind.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var item = listitem.item as Column; var label = listitem.child as Gtk.Label; label.label = item.name; @@ -39,13 +42,15 @@ namespace Psequel { private void setup_datatype_col () { var factory = new Gtk.SignalListItemFactory (); - factory.setup.connect ((listitem) => { + factory.setup.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var label = new Gtk.Label (null); label.halign = Gtk.Align.START; listitem.child = label; }); - factory.bind.connect ((listitem) => { + factory.bind.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var item = listitem.item as Column; var label = listitem.child as Gtk.Label; label.label = item.column_type; @@ -57,11 +62,13 @@ namespace Psequel { private void setup_nullable_col () { var factory = new Gtk.SignalListItemFactory (); - factory.setup.connect ((listitem) => { + factory.setup.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var label = new Gtk.Label (null); listitem.child = label; }); - factory.bind.connect ((listitem) => { + factory.bind.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var item = listitem.item as Column; var label = listitem.child as Gtk.Label; label.label = item.nullable ? "YES" : "NO"; @@ -74,14 +81,16 @@ namespace Psequel { private void setup_default_col () { var factory = new Gtk.SignalListItemFactory (); - factory.setup.connect ((listitem) => { + factory.setup.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var label = new Gtk.Label (null); label.halign = Gtk.Align.END; label.margin_end = 4; label.margin_start = 4; listitem.child = label; }); - factory.bind.connect ((listitem) => { + factory.bind.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var item = listitem.item as Column; var label = listitem.child as Gtk.Label; label.label = item.default_val; diff --git a/src/ui/schema/TableForeignKeyInfo.vala b/src/ui/schema/TableForeignKeyInfo.vala index 44554a0..44ce0ab 100644 --- a/src/ui/schema/TableForeignKeyInfo.vala +++ b/src/ui/schema/TableForeignKeyInfo.vala @@ -25,12 +25,14 @@ namespace Psequel { private void setup_name_col () { var factory = new Gtk.SignalListItemFactory (); - factory.setup.connect ((listitem) => { + factory.setup.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var label = new Gtk.Label (null); label.halign = Gtk.Align.START; listitem.child = label; }); - factory.bind.connect ((listitem) => { + factory.bind.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var item = listitem.item as ForeignKey; var label = listitem.child as Gtk.Label; label.label = item.name; @@ -42,12 +44,14 @@ namespace Psequel { private void setup_table_columns_col () { var factory = new Gtk.SignalListItemFactory (); - factory.setup.connect ((listitem) => { + factory.setup.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var label = new Gtk.Label (null); label.halign = Gtk.Align.START; listitem.child = label; }); - factory.bind.connect ((listitem) => { + factory.bind.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var item = listitem.item as ForeignKey; var label = listitem.child as Gtk.Label; label.label = item.columns; @@ -59,12 +63,14 @@ namespace Psequel { private void setup_fk_tbname_col () { var factory = new Gtk.SignalListItemFactory (); - factory.setup.connect ((listitem) => { + factory.setup.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var label = new Gtk.Label (null); label.halign = Gtk.Align.START; listitem.child = label; }); - factory.bind.connect ((listitem) => { + factory.bind.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var item = listitem.item as ForeignKey; var label = listitem.child as Gtk.Label; label.label = item.fk_table; @@ -76,12 +82,14 @@ namespace Psequel { private void setup_fk_table_columns_col () { var factory = new Gtk.SignalListItemFactory (); - factory.setup.connect ((listitem) => { + factory.setup.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var label = new Gtk.Label (null); label.halign = Gtk.Align.START; listitem.child = label; }); - factory.bind.connect ((listitem) => { + factory.bind.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var item = listitem.item as ForeignKey; var label = listitem.child as Gtk.Label; label.label = item.fk_columns; @@ -93,12 +101,14 @@ namespace Psequel { private void setup_on_update_col () { var factory = new Gtk.SignalListItemFactory (); - factory.setup.connect ((listitem) => { + factory.setup.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var label = new Gtk.Label (null); label.halign = Gtk.Align.CENTER; listitem.child = label; }); - factory.bind.connect ((listitem) => { + factory.bind.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var item = listitem.item as ForeignKey; var label = listitem.child as Gtk.Label; label.label = item.on_update.to_string (); @@ -110,12 +120,14 @@ namespace Psequel { private void setup_fk_on_delete_col () { var factory = new Gtk.SignalListItemFactory (); - factory.setup.connect ((listitem) => { + factory.setup.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var label = new Gtk.Label (null); label.halign = Gtk.Align.CENTER; listitem.child = label; }); - factory.bind.connect ((listitem) => { + factory.bind.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var item = listitem.item as ForeignKey; var label = listitem.child as Gtk.Label; label.label = item.on_delete.to_string (); diff --git a/src/ui/schema/TableIndexInfo.vala b/src/ui/schema/TableIndexInfo.vala index dbd1e77..fa43c00 100644 --- a/src/ui/schema/TableIndexInfo.vala +++ b/src/ui/schema/TableIndexInfo.vala @@ -24,12 +24,14 @@ namespace Psequel { private void setup_name_col () { var factory = new Gtk.SignalListItemFactory (); - factory.setup.connect ((listitem) => { + factory.setup.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var label = new Gtk.Label (null); label.halign = Gtk.Align.START; listitem.child = label; }); - factory.bind.connect ((listitem) => { + factory.bind.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var item = listitem.item as Index; var label = listitem.child as Gtk.Label; label.label = item.name; @@ -41,13 +43,15 @@ namespace Psequel { private void setup_indextype_col () { var factory = new Gtk.SignalListItemFactory (); - factory.setup.connect ((listitem) => { + factory.setup.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var label = new Gtk.Label (null); label.halign = Gtk.Align.CENTER; listitem.child = label; }); - factory.bind.connect ((listitem) => { + factory.bind.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var item = listitem.item as Index; var label = listitem.child as Gtk.Label; label.label = item.index_type.to_string (); @@ -59,11 +63,13 @@ namespace Psequel { private void setup_unique_col () { var factory = new Gtk.SignalListItemFactory (); - factory.setup.connect ((listitem) => { + factory.setup.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var label = new Gtk.Label (null); listitem.child = label; }); - factory.bind.connect ((listitem) => { + factory.bind.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var item = listitem.item as Index; var label = listitem.child as Gtk.Label; label.label = item.unique ? "YES" : "NO"; @@ -76,14 +82,16 @@ namespace Psequel { private void setup_indexcolumns_col () { var factory = new Gtk.SignalListItemFactory (); - factory.setup.connect ((listitem) => { + factory.setup.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var label = new Gtk.Label (null); label.halign = Gtk.Align.START; label.margin_end = 4; label.margin_start = 4; listitem.child = label; }); - factory.bind.connect ((listitem) => { + factory.bind.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var item = listitem.item as Index; var label = listitem.child as Gtk.Label; label.label = item.columns; @@ -95,14 +103,16 @@ namespace Psequel { private void setup_indexsize_col () { var factory = new Gtk.SignalListItemFactory (); - factory.setup.connect ((listitem) => { + factory.setup.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var label = new Gtk.Label (null); label.halign = Gtk.Align.END; label.margin_end = 4; label.margin_start = 4; listitem.child = label; }); - factory.bind.connect ((listitem) => { + factory.bind.connect ((obj) => { + var listitem = obj as Gtk.ListItem; var item = listitem.item as Index; var label = listitem.child as Gtk.Label; label.label = item.size;