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]

Reply via email to