Hello,
I've finished a first, raw translation of pgadmin3 into Danish and I now
want to actually use the program. I'm using a pgadmin3 based on code
checked out today.
First, some bugs found. In order not to confuse things, these errors
have been confirmed using the en_US locale:
- I tried to create a relatively simple table, but
the resulting SQL failed because of misplaced and/or
missing commas:
CREATE TABLE public.misc_event
(,
misc_event_id serial
shop_id int4
time_create timestamptz NOT NULL
remote_ip inet NOT NULL
remote_id int4CONSTRAINT misc_event_pkey PRIMARY KEY
(misc_event_id)
) WITHOUT OIDS;
- I tried opening the "Query builder", but got a debug window:
src/gtk/window.cpp(2852): assert "(m_widget != NULL)"
failed: invalid window
Do you want to stop the program?
You can also choose [Cancel] to suppress further warnings.
After hitting "no":
src/gtk/window.cpp(2853): assert "(m_parent != NULL)" failed:
wxWindowGTK::SetSize requires parent.
Do you want to stop the program?
You can also choose [Cancel] to suppress further warnings.
(After this, I chose 'cancel') and the program crashed.
The output of "bt" in gdb is attached.
- When adding a new column ("New Column" dialog), I'm not
allowed to bring focus to neither the "Length" or the
"Precision" fields, so the varchar length cannot be
specified. This seems to be a general problem for all
types with lengths which may be defined.
Some inconveniences:
- I have to explicitly name primary keys which is annoying
because I normally don't care what primay keys are called.
It would be cool if pgadmin had pre-selected a name with
a pattern as <table_name>_pkey as suggested primary key name.
Like when this is run:
create table test(test_id int not null primary key);
then PostgreSQL auto-names the primary key "test_pkey".
- When creating a new table, it's inconvenient that the
primary key has to be defined separately. Example:
In the CLI, I would do:
create table test(test_id int not null primary key, ...);
i.e. define the primary key in connection with the column
which will act as primary key.
It would be great of pgadmin had a selection box called
"primary key" in the "Create column" dialog when a
primary key hasn't already been defined for the table.
- Indexes related to primary keys are not listed under
the table's "Indexes" sub-tree.
- Foreign keys have to be explicitly named which is a bit
annoying compared to the CLI situation where PostgreSQL
just chooses a name like $1, $2, ...
- When creating a new column, I cannot simultaneously
to look at another column in another table to be
inpired by data type, etc: The "New Column" dialog
is "modal".
Finally, a feature suggestion:
- I haven't been able to find a sort of front-end to
pg_dump. It would be nice if that existed in pgadmin.
--
Greetings from Troels Arvin, Copenhagen, Denmark
Starting program: /usr/local/pgadmin3/bin/pgadmin3
[New Thread 16384 (LWP 15197)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 15197)]
0x083ac53d in wxWindow::DoSetSize(int, int, int, int, int) ()
(gdb) bt
#0 0x083ac53d in wxWindow::DoSetSize(int, int, int, int, int) ()
#1 0x08332413 in wxLayoutAlgorithm::LayoutMDIFrame(wxMDIParentFrame*, wxRect*)
()
#2 0x081d9865 in frmQueryBuilder::OnSize(wxSizeEvent&) (this=0x899de18,
[EMAIL PROTECTED]) at ui/frmQueryBuilder.cpp:491
#3 0x083dc02d in wxEvtHandler::SearchEventTable(wxEventTable&, wxEvent&) ()
#4 0x083dbde0 in wxEvtHandler::ProcessEvent(wxEvent&) ()
#5 0x0837f6fc in wxFrame::GtkOnSize(int, int, int, int) ()
#6 0x08384703 in wxMDIParentFrame::GtkOnSize(int, int, int, int) ()
#7 0x083a4cca in wxTopLevelWindowGTK::Show(bool) ()
#8 0x081adc78 in frmMain::OnQueryBuilder(wxCommandEvent&) (this=0x887e760,
[EMAIL PROTECTED]) at ui/events.cpp:958
#9 0x083dc02d in wxEvtHandler::SearchEventTable(wxEventTable&, wxEvent&) ()
#10 0x083dbde0 in wxEvtHandler::ProcessEvent(wxEvent&) ()
#11 0x0838831b in gtk_menu_clicked_callback(_GtkWidget*, wxMenu*) ()
#12 0x402205f8 in gtk_item_factory_new () from /usr/lib/libgtk-x11-2.0.so.0
#13 0x404d0d77 in g_cclosure_marshal_VOID__VOID ()
from /usr/lib/libgobject-2.0.so.0
#14 0x404bded7 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#15 0x404d0983 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#16 0x404cf9a8 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#17 0x404cfbe4 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#18 0x403208ed in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0
#19 0x4024a682 in gtk_menu_shell_activate_item ()
from /usr/lib/libgtk-x11-2.0.so.0
#20 0x402498ff in _gtk_menu_shell_activate () from /usr/lib/libgtk-x11-2.0.so.0
#21 0x40242d6b in gtk_menu_reorder_child () from /usr/lib/libgtk-x11-2.0.so.0
#22 0x4023ac2f in _gtk_marshal_BOOLEAN__BOXED ()
from /usr/lib/libgtk-x11-2.0.so.0
#23 0x404be247 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#24 0x404bded7 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#25 0x404d0439 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#26 0x404cf7af in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#27 0x404cfbe4 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#28 0x403206fb in gtk_widget_send_expose () from /usr/lib/libgtk-x11-2.0.so.0
#29 0x4023aa27 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#30 0x40239725 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#31 0x403f81a5 in _gdk_events_queue () from /usr/lib/libgdk-x11-2.0.so.0
#32 0x40519b35 in g_get_current_time () from /usr/lib/libglib-2.0.so.0
#33 0x4051ab78 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#34 0x4051ae8d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#35 0x4051b58f in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#36 0x40238f5f in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#37 0x0835dadb in wxApp::MainLoop() ()
#38 0x083b0407 in wxAppBase::OnRun() ()
#39 0x0835e17b in wxEntry(int, char**) ()
#40 0x081530e4 in main (argc=1, argv=0xbffff8a4) at pgAdmin3.cpp:45
#41 0x40757a07 in __libc_start_main () from /lib/i686/libc.so.6
(gdb)
---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]