Skip site navigation (1) Skip section navigation (2)

Re: Ticket 3: groups of servers

From: Dave Page <dpage(at)pgadmin(dot)org>
To: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
Cc: pgadmin-hackers(at)postgresql(dot)org
Subject: Re: Ticket 3: groups of servers
Date: 2010-04-23 13:00:51
Message-ID: o2z937d27e11004230600kddf115dle0e57786b5a3c99a@mail.gmail.com (view raw or flat)
Thread:
Lists: pgadmin-hackers
On Thu, Apr 22, 2010 at 8:26 PM, Guillaume Lelarge
<guillaume(at)lelarge(dot)info> wrote:
> Well, we didn't do it for the actual Servers node. I don't think we
> should do it for this one.

Right - that's why I wasn't sure. And now that groups are root nodes,
it seems even less important.

> Finally, I had time to work on this. I changed my patch so that it
> follows what you expected to see. I was not really able to reproduce the
> problem you explain above after my changes.
>
> Can you try this last one? Thanks.

Still seeing a crash on OSX, but mostly I think it's good now. Here's
what happened:

- I cleared my prefs file so I just had 4 servers detected and added
to the 'Servers' group at startup.

- I moved 3 of the servers to a new 'PostgreSQL' group.

- I moved 1 server to a new 'Advanced Server' group.

At this point I had three groups visible:

Servers (0)
PostgreSQL (3)
  - Server 1
  - Server 2
  - Server 3
Advanced Server (1)
  Server 4

Gripe 1: I think the Servers group should be hidden if it's empty. In
previous versions it didn't really matter as the first thing you'd do
is add a server. Now though, it might remain empty forever.

Gripe 2: I think the groups should be shown in alphabetical order.
Should be a one-line change :-)

- I then right-clicked Server 4 and selected Properties

Gripe 3: pgAdmin crashes reliably at this point:

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   pgAdmin3-Debug                	0x00141fe5
dlgServer::dlgServer(pgaFactory*, frmMain*, pgServer*) + 2725
1   pgAdmin3-Debug                	0x00142307
pgServerFactory::CreateDialog(frmMain*, pgObject*, pgObject*) + 55
2   pgAdmin3-Debug                	0x0011ae59
dlgProperty::CreateDlg(frmMain*, pgObject*, bool, pgaFactory*) + 201
3   pgAdmin3-Debug                	0x00122b66
dlgProperty::EditObjectDialog(frmMain*, ctlSQLBox*, pgObject*) + 166
4   pgAdmin3-Debug                	0x00123063
propertyFactory::StartDialog(frmMain*, pgObject*) + 35
5   pgAdmin3-Debug                	0x00193e86
frmMain::OnAction(wxCommandEvent&) + 70
6   libwx_base_carbonu-2.8.0.dylib	0x01404463
wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&,
wxEvtHandler*, wxEvent&) + 131
7   libwx_base_carbonu-2.8.0.dylib	0x01404526
wxEvtHandler::SearchDynamicEventTable(wxEvent&) + 86
8   libwx_base_carbonu-2.8.0.dylib	0x01404df3
wxEvtHandler::ProcessEvent(wxEvent&) + 179
9   libwx_base_carbonu-2.8.0.dylib	0x01404da9
wxEvtHandler::ProcessEvent(wxEvent&) + 105
10  libwx_macu_core-2.8.0.dylib   	0x01004f28
wxWindowBase::TryParent(wxEvent&) + 88
11  libwx_base_carbonu-2.8.0.dylib	0x01404db9
wxEvtHandler::ProcessEvent(wxEvent&) + 121
12  libwx_base_carbonu-2.8.0.dylib	0x01404da9
wxEvtHandler::ProcessEvent(wxEvent&) + 105
13  libwx_macu_core-2.8.0.dylib   	0x0102fb6e
wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) + 46
14  libwx_macu_core-2.8.0.dylib   	0x00fdff80
wxMenuBase::SendEvent(int, int) + 144
15  libwx_macu_core-2.8.0.dylib   	0x00f2a6ac
wxMenu::MacHandleCommandProcess(wxMenuItem*, int, wxWindow*) + 60
16  libwx_macu_core-2.8.0.dylib   	0x00f5b3ab
wxMacWindowEventHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*,
void*) + 427
17  com.apple.HIToolbox           	0x92f8d0a9
DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*,
HandlerCallRec*) + 1567
18  com.apple.HIToolbox           	0x92f8c370
SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*,
HandlerCallRec*) + 411
19  com.apple.HIToolbox           	0x92faeb55 SendEventToEventTarget + 52
20  com.apple.HIToolbox           	0x92fdb147
SendHICommandEvent(unsigned long, HICommand const*, unsigned long,
unsigned long, unsigned char, void const*, OpaqueEventTargetRef*,
OpaqueEventTargetRef*, OpaqueEventRef**) + 448
21  com.apple.HIToolbox           	0x92fffe40
SendMenuCommandWithContextAndModifiers + 66
22  com.apple.HIToolbox           	0x92fffdf5 SendMenuItemSelectedEvent + 121
23  com.apple.HIToolbox           	0x92fffcfa
FinishMenuSelection(SelectionData*, MenuResult*, MenuResult*) + 152
24  com.apple.HIToolbox           	0x931813d4
PopUpMenuSelectCore(MenuData*, Point, double, Point, unsigned short,
unsigned int, Rect const*, unsigned short, unsigned long, Rect const*,
Rect const*, __CFString const*, OpaqueMenuRef**, unsigned short*) +
1851
25  com.apple.HIToolbox           	0x931818b0 PopUpMenuSelect + 253
26  libwx_macu_core-2.8.0.dylib   	0x00f54db8
wxWindow::DoPopupMenu(wxMenu*, int, int) + 120
27  pgAdmin3-Debug                	0x001944d3
frmMain::doPopup(wxWindow*, wxPoint, pgObject*) + 739
28  pgAdmin3-Debug                	0x0019473b
frmMain::OnSelRightClick(wxTreeEvent&) + 107
29  libwx_base_carbonu-2.8.0.dylib	0x01404463
wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&,
wxEvtHandler*, wxEvent&) + 131
30  libwx_base_carbonu-2.8.0.dylib	0x01404ae1
wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) + 113
31  libwx_base_carbonu-2.8.0.dylib	0x01404e0f
wxEvtHandler::ProcessEvent(wxEvent&) + 207
32  libwx_base_carbonu-2.8.0.dylib	0x01404da9
wxEvtHandler::ProcessEvent(wxEvent&) + 105
33  libwx_macu_core-2.8.0.dylib   	0x01004f28
wxWindowBase::TryParent(wxEvent&) + 88
34  libwx_base_carbonu-2.8.0.dylib	0x01404db9
wxEvtHandler::ProcessEvent(wxEvent&) + 121
35  libwx_base_carbonu-2.8.0.dylib	0x01404da9
wxEvtHandler::ProcessEvent(wxEvent&) + 105
36  libwx_macu_core-2.8.0.dylib   	0x0102fb6e
wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) + 46
37  libwx_macu_core-2.8.0.dylib   	0x0103d43e
wxGenericTreeCtrl::OnMouse(wxMouseEvent&) + 1902
38  libwx_base_carbonu-2.8.0.dylib	0x01404463
wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&,
wxEvtHandler*, wxEvent&) + 131
39  libwx_base_carbonu-2.8.0.dylib	0x01404ae1
wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) + 113
40  libwx_base_carbonu-2.8.0.dylib	0x01404e0f
wxEvtHandler::ProcessEvent(wxEvent&) + 207
41  libwx_base_carbonu-2.8.0.dylib	0x01404da9
wxEvtHandler::ProcessEvent(wxEvent&) + 105
42  libwx_macu_core-2.8.0.dylib   	0x0102fb6e
wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) + 46
43  libwx_macu_core-2.8.0.dylib   	0x00f5296e
wxMacTopLevelMouseEventHandler(OpaqueEventHandlerCallRef*,
OpaqueEventRef*, void*) + 798
44  libwx_macu_core-2.8.0.dylib   	0x00f52e56
wxMacTopLevelEventHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*,
void*) + 198
45  com.apple.HIToolbox           	0x92f8d0a9
DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*,
HandlerCallRec*) + 1567
46  com.apple.HIToolbox           	0x92f8c370
SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*,
HandlerCallRec*) + 411
47  com.apple.HIToolbox           	0x92faeb55 SendEventToEventTarget + 52
48  com.apple.HIToolbox           	0x92fc063b
ToolboxEventDispatcherHandler(OpaqueEventHandlerCallRef*,
OpaqueEventRef*, void*) + 1257
49  com.apple.HIToolbox           	0x92f8d4fa
DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*,
HandlerCallRec*) + 2672
50  com.apple.HIToolbox           	0x92f8c370
SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*,
HandlerCallRec*) + 411
51  com.apple.HIToolbox           	0x92faeb55 SendEventToEventTarget + 52
52  libwx_macu_core-2.8.0.dylib   	0x00eedfe6
wxApp::MacHandleOneEvent(void*) + 38
53  libwx_macu_core-2.8.0.dylib   	0x00eee80b wxApp::MacDoOneEvent() + 123
54  libwx_macu_core-2.8.0.dylib   	0x00f07fd3 wxEventLoop::Dispatch() + 35
55  libwx_macu_core-2.8.0.dylib   	0x00fae708 wxEventLoopManual::Run() + 136
56  libwx_macu_core-2.8.0.dylib   	0x00f87bf3 wxAppBase::MainLoop() + 83
57  libwx_base_carbonu-2.8.0.dylib	0x013ba81a wxEntry(int&, wchar_t**) + 106
58  pgAdmin3-Debug                	0x0003fc58 main + 24
59  pgAdmin3-Debug                	0x0003f979 start + 53

-- 
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company

In response to

Responses

pgadmin-hackers by date

Next:From: Dave PageDate: 2010-04-23 13:13:18
Subject: Re: PATCH: Ticket#96: Deferrable unique & primary constraints
Previous:From: Ashesh VashiDate: 2010-04-23 12:07:25
Subject: PATCH: Ticket#96: Deferrable unique & primary constraints

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group