Re: pgAdmin III commit: Add the support for per-column collation feature

From: Timon <timosha(at)gmail(dot)com>
To: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: pgAdmin III commit: Add the support for per-column collation feature
Date: 2011-04-26 14:57:29
Message-ID: BANLkTi=WDB9Pq2G5RzsGs_N3VPngtM-3dQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

this commit broke index properties dialog. pgadmin simply crashes.
steps to reproduce:
1. create index or use existing index
2. open index properties dialog
3. catch a crash

stacktrace:

#0 wxStringBase::operator= (this=0x7fffffffc0d8, stringSrc=...) at
src/common/string.cpp:778
No locals.
#1 0x00007ffff6e6e246 in operator= (this=0x7fffffffc0d8) at
include/wx/string.h:659
No locals.
#2 wxGenericListCtrl::SetItem (this=0x18fa1d0, index=0, col=4,
label=<optimized out>, imageId=-1)
at src/generic/listctrl.cpp:5237
info = warning: can't find linker symbol for virtual table for
`wxListItem' value
{<wxObject> = {_vptr.wxObject = 0xce07d0, static ms_classInfo =
{m_className = 0x0, m_objectSize = 0,
m_objectConstructor = 0, m_baseInfo1 = 0x0, m_baseInfo2
= 0x0, static sm_first = 0x0, m_next = 0x0,
static sm_classTable = 0xd2b010}, m_refData = 0x0},
m_mask = 0, m_itemId = 0, m_col = 0, m_state = 0,
m_stateMask = 0, m_text = {<wxStringBase> = {static npos =
18446744073709551615, m_pchData =
0x3e87d07cd8 L""}, <No data fields>}, m_image = -1, m_data = 0,
m_format = 2, m_width = 0, m_attr = 0x0,
static ms_classInfo = {m_className = 0x7ffff6f691d8
L"wxListItem", m_objectSize = 96, m_objectConstructor =
0x7ffff6e60c40 <wxListItem::wxCreateObject()>, m_baseInfo1 =
0xce5de0, m_baseInfo2 = 0x0, static sm_first = 0x0,
m_next = 0x7ffff7245ae0, static sm_classTable = 0xd2b010}}
#3 0x000000000051741a in dlgIndex::Go(bool) ()
No symbol table info available.
#4 0x00000000005315ef in dlgProperty::EditObjectDialog(frmMain*,
ctlSQLBox*, pgObject*) ()
No symbol table info available.
#5 0x00000000005317e3 in propertyFactory::StartDialog(frmMain*, pgObject*) ()
No symbol table info available.
#6 0x0000000000597550 in frmMain::OnAction(wxCommandEvent&) ()
No symbol table info available.
#7 0x0000003e87ce6b15 in wxEvtHandler::ProcessEventIfMatches
(entry=<optimized out>, handler=<optimized out>, event=
...) at src/common/event.cpp:1239
tableId1 = <optimized out>
tableId2 = <optimized out>
#8 0x0000003e87ce6edf in wxEvtHandler::SearchDynamicEventTable
(this=0x1733000, event=...)
handler = <optimized out>
entry = <optimized out>
node = {m_ptr = 0x18812d0}
#9 0x0000003e87ce6f92 in ProcessEvent (event=..., this=0x1733000) at
src/common/event.cpp:1297
No locals.
#10 wxEvtHandler::ProcessEvent (this=0x1733000, event=...) at
src/common/event.cpp:1272
No locals.
#11 0x0000003e87ce6f50 in ProcessEvent (event=..., this=0x17333b0) at
src/common/event.cpp:1308
No locals.
#12 wxEvtHandler::ProcessEvent (this=0x17333b0, event=...) at
src/common/event.cpp:1272
No locals.
#13 0x00007ffff6f22b49 in wxWindowBase::TryParent (this=<optimized
out>, event=...) at src/common/wincmn.cpp:2661
propagateOnce = {m_event = @0x7fffffffc580}
parent = <optimized out>
#14 0x0000003e87ce6f50 in ProcessEvent (event=..., this=0x17f2530) at
src/common/event.cpp:1308
No locals.
#15 wxEvtHandler::ProcessEvent (this=0x17f2530, event=...) at
src/common/event.cpp:1272
No locals.
#16 0x00007ffff6f4c6b5 in wxScrollHelperEvtHandler::ProcessEvent
(this=0x17f2530, event=<optimized out>)
at src/generic/scrlwing.cpp:208
evType = 10010
processed = <optimized out>
#17 0x00007ffff6f0334d in wxMenuBase::SendEvent (this=<optimized out>,
id=<optimized out>, checked=<optimized out>)
at src/common/menucmn.cpp:792
win = <optimized out>
menu = <optimized out>
event = warning: can't find linker symbol for virtual table
for `wxCommandEvent' value
{<wxEvent> = {<wxObject> = {_vptr.wxObject = 0xceadf0, static
ms_classInfo = {m_className = 0x0,
m_objectSize = 0, m_objectConstructor = 0, m_baseInfo1
= 0x0, m_baseInfo2 = 0x0, static sm_first =
0x0, m_next = 0x0, static sm_classTable = 0xd2b010}, m_refData =
0x0}, m_eventObject = 0x1a1b890, m_eventType =
10010, m_timeStamp = 0, m_id = 1278, m_callbackUserData = 0x0,
m_propagationLevel = 2147483646, m_skipped =
false, m_isCommandEvent = true, static ms_classInfo = {m_className
= 0x3e87d0caa8 L"wxEvent", m_objectSize = 64,
m_objectConstructor = 0, m_baseInfo1 = 0xce5de0,
m_baseInfo2 = 0x0, static sm_first = 0x0, m_next =
0x3e87f57580, static sm_classTable = 0xd2b010}}, m_commandString =
{m_evt = 0x7fffffffc580}, m_cmdString =
{<wxStringBase> = {static npos = 18446744073709551615, m_pchData =
0x3e87d07cd8 L""}, <No data fields>},
m_commandInt = -1, m_extraLong = 0, m_clientData = 0x0,
m_clientObject = 0x0, static ms_classInfo = {
m_className = 0x7ffff6f63a70 L"wxCommandEvent",
m_objectSize = 112, m_objectConstructor =
0x7ffff6e1e9b0 <wxCommandEvent::wxCreateObject()>, m_baseInfo1 =
0x3e87f57540, m_baseInfo2 = 0x0,
static sm_first = 0x0, m_next = 0x7ffff72446a0, static
sm_classTable = 0xd2b010}}
processed = <optimized out>
#18 0x00007ffff6e9f2e4 in gtk_menu_clicked_callback (widget=<optimized
out>, menu=0x1a1b890) at src/gtk/menu.cpp:658
id = 1278
item = 0x1b5da10
frame = <optimized out>
#19 0x00000035ef40e2ee in g_closure_invoke (closure=0x1a3f4a0,
return_value=0x0, n_param_values=1, param_values=
0x17dca20, invocation_hint=0x7fffffffc7e0) at gclosure.c:767
marshal = <optimized out>
marshal_data = <optimized out>
in_marshal = <optimized out>
__PRETTY_FUNCTION__ = "g_closure_invoke"
#20 0x00000035ef41f1a0 in signal_emit_unlocked_R (node=<optimized
out>, detail=0, instance=0x1a8b0d0, emission_return=
0x0, instance_and_params=0x17dca20) at gsignal.c:3252
tmp = <optimized out>
handler = 0x1a50030
accumulator = 0x0
emission = {next = 0x7fffffffccd0, instance = 0x1a8b0d0, ihint
= {signal_id = 118, detail = 0, run_type =
G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 4}
class_closure = 0x1738570
hlist = 0x3ede60ae10
handler_list = 0x1a50030
return_accu = 0x0
accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long =
0, v_ulong = 0, v_int64 = 0, v_uint64 = 0,
v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0,
v_uint = 0, v_long = 0, v_ulong = 0, v_int64 =
0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 118
max_sequential_handler_number = 2202
return_value_altered = 1
#21 0x00000035ef428972 in g_signal_emit_valist (instance=<optimized
out>, signal_id=<optimized out>,
detail=<optimized out>, var_args=<optimized out>) at gsignal.c:2983
instance_and_params = 0x17dca20
signal_return_type = 4
param_values = 0x17dca38
node = <optimized out>
i = <optimized out>
n_params = 0
__PRETTY_FUNCTION__ = "g_signal_emit_valist"
#22 0x00000035ef428b12 in g_signal_emit (instance=<optimized out>,
signal_id=<optimized out>, detail=<optimized out>)
at gsignal.c:3040
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area
= 0x7fffffffcac0, reg_save_area =
0x7fffffffca00}}
#23 0x00007ffff685241e in IA__gtk_widget_activate (widget=0x1a8b0d0
[GtkMenuItem]) at gtkwidget.c:5026
__PRETTY_FUNCTION__ = "IA__gtk_widget_activate"
#24 0x00007ffff673538d in IA__gtk_menu_shell_activate_item
(menu_shell=0x1765830 [GtkMenu], menu_item=
0x1a8b0d0 [GtkMenuItem], force_deactivate=<optimized out>) at
gtkmenushell.c:1283
slist = <optimized out>
shells = 0x1ba2d80 = {0x1765830}
deactivate = <optimized out>
__PRETTY_FUNCTION__ = "IA__gtk_menu_shell_activate_item"
#25 0x00007ffff6735772 in gtk_menu_shell_button_release
(widget=0x1765830 [GtkMenu], event=<optimized out>)
at gtkmenushell.c:710
submenu = 0x0
menu_item = 0x1a8b0d0 [GtkMenuItem]
deactivate = 1
menu_shell = 0x1765830 [GtkMenu]
priv = 0x1765960
#26 0x00007ffff671e103 in _gtk_marshal_BOOLEAN__BOXED
(closure=0xe9a6f0, return_value=0x7fffffffcd20,
n_param_values=<optimized out>, param_values=0x1a7a380,
invocation_hint=<optimized out>,
marshal_data=<optimized out>) at gtkmarshalers.c:86
callback = 0x7ffff6728790 <gtk_menu_button_release>
cc = 0xe9a6f0
data1 = 0x1765830
data2 = 0xe994c0
v_return = <optimized out>
__PRETTY_FUNCTION__ = "_gtk_marshal_BOOLEAN__BOXED"
#27 0x00000035ef40e2ee in g_closure_invoke (closure=0xe9a6f0,
return_value=0x7fffffffcd20, n_param_values=2,
param_values=0x1a7a380, invocation_hint=0x7fffffffcce0) at gclosure.c:767
marshal = <optimized out>
marshal_data = <optimized out>
in_marshal = <optimized out>
__PRETTY_FUNCTION__ = "g_closure_invoke"
#28 0x00000035ef41efba in signal_emit_unlocked_R (node=<optimized
out>, detail=0, instance=0x1765830, emission_return=
0x7fffffffce80, instance_and_params=0x1a7a380) at gsignal.c:3290
accumulator = 0xe9a980
emission = {next = 0x7fffffffdb40, instance = 0x1765830, ihint
= {signal_id = 34, detail = 0, run_type =
G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = 16533632}
class_closure = 0xe9a6f0
hlist = 0x1a3f448
handler_list = 0x0
return_accu = 0x7fffffffcd20
accu = {g_type = 20, data = {{v_int = 0, v_uint = 0, v_long =
0, v_ulong = 0, v_int64 = 0, v_uint64 = 0,
v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0,
v_uint = 0, v_long = 0, v_ulong = 0, v_int64 =
0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 34
max_sequential_handler_number = 2202
return_value_altered = 0
#29 0x00000035ef42872b in g_signal_emit_valist (instance=<optimized
out>, signal_id=<optimized out>,
detail=<optimized out>, var_args=<optimized out>) at gsignal.c:2993
return_value = {g_type = 20, data = {{v_int = 0, v_uint = 0,
v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 =
0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint
= 0, v_long = 0, v_ulong = 0, v_int64 = 0,
v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
error = 0x0
rtype = 20
static_scope = 0
instance_and_params = 0x1a7a380
signal_return_type = 20
param_values = 0x1a7a398
node = <optimized out>
i = <optimized out>
n_params = 1
__PRETTY_FUNCTION__ = "g_signal_emit_valist"
#30 0x00000035ef428b12 in g_signal_emit (instance=<optimized out>,
signal_id=<optimized out>, detail=<optimized out>)
at gsignal.c:3040
var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area
= 0x7fffffffcfc0, reg_save_area =
0x7fffffffcf00}}
#31 0x00007ffff68533e1 in gtk_widget_event_internal (widget=0x1765830
[GtkMenu], event=0x18bb020) at gtkwidget.c:4995
signal_num = <optimized out>
return_val = 0
#32 0x00007ffff671bc63 in IA__gtk_propagate_event (widget=0x1765830
[GtkMenu], event=0x18bb020) at gtkmain.c:2489
tmp = <optimized out>
handled_event = <optimized out>
__PRETTY_FUNCTION__ = "IA__gtk_propagate_event"
#33 0x00007ffff671bfcb in IA__gtk_main_do_event (event=0x18bb020) at
gtkmain.c:1684
event_widget = <optimized out>
grab_widget = 0x1a8b0d0 [GtkMenuItem]
window_group = <optimized out>
rewritten_event = <optimized out>
tmp_list = <optimized out>
__PRETTY_FUNCTION__ = "IA__gtk_main_do_event"
#34 0x00007ffff63720cc in gdk_event_dispatch (source=<optimized out>,
callback=<optimized out>,
user_data=<optimized out>) at gdkevents-x11.c:2377
display = <optimized out>
event = 0x18bb020
#35 0x00000035eec42b6d in g_main_dispatch (context=0xdd34a0) at gmain.c:2440
dispatch = 0x7ffff6372080 <gdk_event_dispatch>
was_in_call = 2
user_data = 0x0
callback = 0
cb_funcs = 0x0
cb_data = 0x0
current_source_link = {data = 0xe15f60, next = 0x7fffffffdf30
= {0xe15f60}}
need_destroy = <optimized out>
source = 0xe15f60
current = 0x1028bb0
i = <optimized out>
#36 g_main_context_dispatch (context=0xdd34a0) at gmain.c:3013
No locals.
#37 0x00000035eec43348 in g_main_context_iterate (context=0xdd34a0,
block=<optimized out>, dispatch=1,
self=<optimized out>) at gmain.c:3091
max_priority = 2147483647
timeout = -1
some_ready = 1
nfds = 2
allocated_nfds = <optimized out>
fds = <optimized out>
__PRETTY_FUNCTION__ = "g_main_context_iterate"
#38 0x00000035eec435dc in g_main_context_iteration (context=0xdd34a0,
may_block=1) at gmain.c:3154
retval = <optimized out>
#39 0x00007ffff671b201 in IA__gtk_main_iteration () at gtkmain.c:1344
No locals.
#40 0x00007ffff6e9f775 in wxWindow::DoPopupMenu (this=<optimized out>,
menu=0x1a1b890, x=237, y=<optimized out>)
at src/gtk/menu.cpp:1730
is_waiting = false
eventClose = {<wxEvent> = {<wxObject> = {_vptr.wxObject = 0x0,
static ms_classInfo = {m_className = 0x0,
m_objectSize = 0, m_objectConstructor = 0, m_baseInfo1
= 0x0, m_baseInfo2 = 0x0, static sm_first =
0x0, m_next = 0x0, static sm_classTable = 0xd2b010}, m_refData =
0x3edda0ded4}, m_eventObject = 0x1,
m_eventType = 0, m_timeStamp = 27375760, m_id =
-154631464, m_callbackUserData = 0x1b5d9b8,
m_propagationLevel = 27375760, m_skipped = false,
m_isCommandEvent = false, static ms_classInfo = {
m_className = 0x3e87d0caa8 L"wxEvent", m_objectSize =
64, m_objectConstructor = 0, m_baseInfo1 =
0xce5de0, m_baseInfo2 = 0x0, static sm_first = 0x0, m_next =
0x3e87f57580, static sm_classTable = 0xd2b010}},
m_menuId = 24326144, m_menu = 0x0, static ms_classInfo =
{m_className = 0x7ffff6f63e48 L"wxMenuEvent",
m_objectSize = 80, m_objectConstructor = 0x7ffff6e1e100
<wxMenuEvent::wxCreateObject()>, m_baseInfo1 =
0x3e87f57540, m_baseInfo2 = 0x0, static sm_first = 0x0, m_next =
0x7ffff7244260, static sm_classTable = 0xd2b010}}
handler = 2199
pos = {x = 318, y = 502}
userdata = 0x7fffffffd290
posfunc = 0x7ffff6e9c3a0
<wxPopupMenuPositionCallback(GtkMenu*, gint*, gint*, gboolean*,
gpointer)>
eventOpen = {<wxEvent> = {<wxObject> = {_vptr.wxObject =
0x7ffff71ef390, static ms_classInfo = {m_className =
0x0, m_objectSize = 0, m_objectConstructor = 0, m_baseInfo1 = 0x0,
m_baseInfo2 = 0x0, static sm_first = 0x0,
m_next = 0x0, static sm_classTable = 0xd2b010},
m_refData = 0x0}, m_eventObject = 0x1a1b890,
m_eventType = 10094, m_timeStamp = 0, m_id = -1,
m_callbackUserData = 0x0, m_propagationLevel = 0,
m_skipped = false, m_isCommandEvent = false, static
ms_classInfo = {m_className =
0x3e87d0caa8 L"wxEvent", m_objectSize = 64, m_objectConstructor =
0, m_baseInfo1 = 0xce5de0, m_baseInfo2 = 0x0,
static sm_first = 0x0, m_next = 0x3e87f57580, static
sm_classTable = 0xd2b010}}, m_menuId = -1,
m_menu = 0x1a1b890, static ms_classInfo = {m_className =
0x7ffff6f63e48 L"wxMenuEvent", m_objectSize = 80,
m_objectConstructor = 0x7ffff6e1e100
<wxMenuEvent::wxCreateObject()>, m_baseInfo1 = 0x3e87f57540,
m_baseInfo2 = 0x0, static sm_first = 0x0, m_next =
0x7ffff7244260, static sm_classTable = 0xd2b010}}
#41 0x0000000000599b4d in frmMain::doPopup(wxWindow*, wxPoint, pgObject*) ()
No symbol table info available.
#42 0x0000000000599d36 in frmMain::OnSelRightClick(wxTreeEvent&) ()
No symbol table info available.
#43 0x0000003e87ce6b15 in wxEvtHandler::ProcessEventIfMatches
(entry=<optimized out>, handler=<optimized out>, event=
...) at src/common/event.cpp:1239
tableId1 = <optimized out>
tableId2 = <optimized out>
#44 0x0000003e87ce6c7c in wxEventHashTable::HandleEvent
(this=<optimized out>, event=..., self=0x1733000)
at src/common/event.cpp:906
n = <optimized out>
eventEntryTable = @0x1022418
count = 1
eventType = <optimized out>
eTTnode = 0x1022410
#45 0x0000003e87ce6fb4 in ProcessEvent (event=..., this=0x1733000) at
src/common/event.cpp:1301
No locals.
#46 wxEvtHandler::ProcessEvent (this=0x1733000, event=...) at
src/common/event.cpp:1272
No locals.
#47 0x0000003e87ce6f50 in ProcessEvent (event=..., this=0x17333b0) at
src/common/event.cpp:1308
No locals.
#48 wxEvtHandler::ProcessEvent (this=0x17333b0, event=...) at
src/common/event.cpp:1272
No locals.
#49 0x00007ffff6f22b49 in wxWindowBase::TryParent (this=<optimized
out>, event=...) at src/common/wincmn.cpp:2661
propagateOnce = {m_event = @0x7fffffffd4b0}
parent = <optimized out>
#50 0x0000003e87ce6f50 in ProcessEvent (event=..., this=0x17f2530) at
src/common/event.cpp:1308
No locals.
#51 wxEvtHandler::ProcessEvent (this=0x17f2530, event=...) at
src/common/event.cpp:1272
No locals.
#52 0x00007ffff6f4c6b5 in wxScrollHelperEvtHandler::ProcessEvent
(this=0x17f2530, event=<optimized out>)
at src/generic/scrlwing.cpp:208
evType = 10182
processed = <optimized out>
#53 0x00007ffff6f5e7a0 in wxGenericTreeCtrl::OnMouse (this=0x17f2060,
event=...) at src/generic/treectlg.cpp:3430
nevent = {<wxNotifyEvent> = {<wxCommandEvent> = {<wxEvent> =
{<wxObject> = {_vptr.wxObject = 0x7ffff7223730,
static ms_classInfo = {m_className = 0x0,
m_objectSize = 0, m_objectConstructor = 0, m_baseInfo1 =
0x0, m_baseInfo2 = 0x0, static sm_first = 0x0, m_next = 0x0,
static sm_classTable = 0xd2b010}, m_refData = 0x0},
m_eventObject = 0x17f2060, m_eventType = 10182,
m_timeStamp = 0, m_id = 301, m_callbackUserData =
0x0, m_propagationLevel = 2147483646, m_skipped = false,
m_isCommandEvent = true, static ms_classInfo = {
m_className = 0x3e87d0caa8 L"wxEvent", m_objectSize
= 64, m_objectConstructor = 0, m_baseInfo1 =
0xce5de0, m_baseInfo2 = 0x0, static sm_first = 0x0, m_next =
0x3e87f57580, static sm_classTable = 0xd2b010}},
m_commandString = {m_evt = 0x7fffffffd4b0}, m_cmdString
= {<wxStringBase> = {static npos =
18446744073709551615, m_pchData = 0x3e87d07cd8 L""}, <No data
fields>}, m_commandInt = 0, m_extraLong = 0,
m_clientData = 0x0, m_clientObject = 0x1a89d50, static
ms_classInfo = {m_className =
0x7ffff6f63a70 L"wxCommandEvent", m_objectSize = 112, m_objectConstructor =
0x7ffff6e1e9b0 <wxCommandEvent::wxCreateObject()>, m_baseInfo1 =
0x3e87f57540, m_baseInfo2 = 0x0,
static sm_first = 0x0, m_next = 0x7ffff72446a0, static
sm_classTable = 0xd2b010}}, m_bAllow = true,
static ms_classInfo = {m_className = 0x7ffff6f63ab0
L"wxNotifyEvent", m_objectSize = 120,
m_objectConstructor = 0x7ffff6e1e950
<wxNotifyEvent::wxCreateObject()>, m_baseInfo1 = 0x7ffff7244660,
m_baseInfo2 = 0x0, static sm_first = 0x0, m_next =
0x7ffff7244660, static sm_classTable = 0xd2b010}},
m_evtKey = {<wxEvent> = {<wxObject> = {_vptr.wxObject =
0x7ffff71ef090, static ms_classInfo = {
m_className = 0x0, m_objectSize = 0,
m_objectConstructor = 0, m_baseInfo1 = 0x0, m_baseInfo2 = 0x0,
static sm_first = 0x0, m_next = 0x0, static
sm_classTable = 0xd2b010}, m_refData = 0x0},
m_eventObject = 0x0, m_eventType = 10001, m_timeStamp =
0, m_id = 0, m_callbackUserData = 0x0,
m_propagationLevel = 0, m_skipped = false,
m_isCommandEvent = false, static ms_classInfo = {
m_className = 0x3e87d0caa8 L"wxEvent", m_objectSize =
64, m_objectConstructor = 0, m_baseInfo1 =
0xce5de0, m_baseInfo2 = 0x0, static sm_first = 0x0, m_next =
0x3e87f57580, static sm_classTable = 0xd2b010}},
m_x = 0, m_y = 0, m_keyCode = 0, m_controlDown = false,
m_shiftDown = false, m_altDown = false,
m_metaDown = false, m_scanCode = false, m_uniChar = 0
L'\000', m_rawCode = 0, m_rawFlags = 0,
static ms_classInfo = {m_className = 0x7ffff6f63ba0
L"wxKeyEvent", m_objectSize = 104,
m_objectConstructor = 0x7ffff6e1f210
<wxKeyEvent::wxCreateObject()>, m_baseInfo1 = 0x3e87f57540,
m_baseInfo2 = 0x0, static sm_first = 0x0, m_next =
0x7ffff7244560, static sm_classTable = 0xd2b010}},
m_item = {m_pItem = 0x1a2aa40}, m_itemOld = {m_pItem = 0x0},
m_pointDrag = {x = 237, y = 302}, m_label =
{<wxStringBase> = {static npos = 18446744073709551615, m_pchData =
0x3e87d07cd8 L""}, <No data fields>},
m_editCancelled = false, static ms_classInfo = {m_className
= 0x7ffff6f83708 L"wxTreeEvent", m_objectSize =
264, m_objectConstructor = 0, m_baseInfo1 = 0x7ffff7244620,
m_baseInfo2 = 0x0, static sm_first = 0x0, m_next =
0x7ffff724ca00, static sm_classTable = 0xd2b010}}
nevent2 = {<wxNotifyEvent> = {<wxCommandEvent> = {<wxEvent> =
{<wxObject> = {_vptr.wxObject = 0xe00000,
static ms_classInfo = {m_className = 0x0,
m_objectSize = 0, m_objectConstructor = 0, m_baseInfo1 =
0x0, m_baseInfo2 = 0x0, static sm_first = 0x0, m_next = 0x0,
static sm_classTable = 0xd2b010}, m_refData =
0x7fffffffd658}, m_eventObject = 0x1b6dfd0, m_eventType =
14684424, m_timeStamp = 140737488344640, m_id =
-509568252, m_callbackUserData = 0x1000100000009,
m_propagationLevel = 78607, m_skipped = false,
m_isCommandEvent = false, static ms_classInfo =
{m_className = 0x3e87d0caa8 L"wxEvent",
m_objectSize = 64, m_objectConstructor = 0,
m_baseInfo1 = 0xce5de0, m_baseInfo2 = 0x0,
static sm_first = 0x0, m_next = 0x3e87f57580, static
sm_classTable = 0xd2b010}}, m_commandString = {
m_evt = 0xe00050}, m_cmdString = {<wxStringBase> =
{static npos = 18446744073709551615, m_pchData =
0x7fffffffd660 L"\001"}, <No data fields>}, m_commandInt = -10488,
m_extraLong = 270073372497, m_clientData =
0x7fffffffd640, m_clientObject = 0x3ee1a0a9b5, static ms_classInfo
= {m_className =
0x7ffff6f63a70 L"wxCommandEvent", m_objectSize = 112, m_objectConstructor =
0x7ffff6e1e9b0 <wxCommandEvent::wxCreateObject()>, m_baseInfo1 =
0x3e87f57540, m_baseInfo2 = 0x0,
static sm_first = 0x0, m_next = 0x7ffff72446a0, static
sm_classTable = 0xd2b010}}, m_bAllow = false,
static ms_classInfo = {m_className = 0x7ffff6f63ab0
L"wxNotifyEvent", m_objectSize = 120,
m_objectConstructor = 0x7ffff6e1e950
<wxNotifyEvent::wxCreateObject()>, m_baseInfo1 = 0x7ffff7244660,
m_baseInfo2 = 0x0, static sm_first = 0x0, m_next =
0x7ffff7244660, static sm_classTable = 0xd2b010}},
m_evtKey = {<wxEvent> = {<wxObject> = {_vptr.wxObject =
0xffffffff00e00068, static ms_classInfo = {
m_className = 0x0, m_objectSize = 0,
m_objectConstructor = 0, m_baseInfo1 = 0x0, m_baseInfo2 = 0x0,
static sm_first = 0x0, m_next = 0x0, static
sm_classTable = 0xd2b010}, m_refData = 0xe010e0},
m_eventObject = 0xe00090, m_eventType = 0, m_timeStamp =
28978288, m_id = 1, m_callbackUserData =
0xe00050, m_propagationLevel = 0, m_skipped = false,
m_isCommandEvent = false, static ms_classInfo = {
m_className = 0x3e87d0caa8 L"wxEvent", m_objectSize =
64, m_objectConstructor = 0, m_baseInfo1 =
0xce5de0, m_baseInfo2 = 0x0, static sm_first = 0x0, m_next =
0x3e87f57580, static sm_classTable = 0xd2b010}},
m_x = 0, m_y = 0, m_keyCode = 30314304, m_controlDown =
64, m_shiftDown = 143, m_altDown = 206,
m_metaDown = true, m_scanCode = false, m_uniChar =
14680144 L'\xe00050', m_rawCode = 0, m_rawFlags =
14675456, static ms_classInfo = {m_className = 0x7ffff6f63ba0
L"wxKeyEvent", m_objectSize = 104,
m_objectConstructor = 0x7ffff6e1f210
<wxKeyEvent::wxCreateObject()>, m_baseInfo1 = 0x3e87f57540,
m_baseInfo2 = 0x0, static sm_first = 0x0, m_next =
0x7ffff7244560, static sm_classTable = 0xd2b010}},
m_item = {m_pItem = 0x7fffffffd750}, m_itemOld = {m_pItem =
0x20}, m_pointDrag = {x = 30314304, y = 0},
m_label = {<wxStringBase> = {static npos =
18446744073709551615, m_pchData =
0x1ce8f40 L"\003\001"}, <No data fields>}, m_editCancelled = 112,
static ms_classInfo = {m_className =
0x7ffff6f83708 L"wxTreeEvent", m_objectSize = 264,
m_objectConstructor = 0, m_baseInfo1 = 0x7ffff7244620,
m_baseInfo2 = 0x0, static sm_first = 0x0, m_next =
0x7ffff724ca00, static sm_classTable = 0xd2b010}}
pt = {x = 237, y = 4012}
flags = 2112
underMouseChanged = <optimized out>
hoverItem = {m_pItem = 0x1a2aa40}
thisItem = <optimized out>
underMouse = <optimized out>
item = 0x1a2aa40
#54 0x0000003e87ce6b15 in wxEvtHandler::ProcessEventIfMatches
(entry=<optimized out>, handler=<optimized out>, event=
...) at src/common/event.cpp:1239
tableId1 = <optimized out>
tableId2 = <optimized out>
#55 0x0000003e87ce6c7c in wxEventHashTable::HandleEvent
(this=<optimized out>, event=..., self=0x17f2060)
at src/common/event.cpp:906
n = <optimized out>
eventEntryTable = @0x1888708
count = 1
eventType = <optimized out>
eTTnode = 0x1888700
#56 0x0000003e87ce6fb4 in ProcessEvent (event=..., this=0x17f2060) at
src/common/event.cpp:1301
No locals.
#57 wxEvtHandler::ProcessEvent (this=0x17f2060, event=...) at
src/common/event.cpp:1272
No locals.
#58 0x0000003e87ce6f50 in ProcessEvent (event=..., this=0x17f2530) at
src/common/event.cpp:1308
No locals.
#59 wxEvtHandler::ProcessEvent (this=0x17f2530, event=...) at
src/common/event.cpp:1272
No locals.
#60 0x00007ffff6f4c6b5 in wxScrollHelperEvtHandler::ProcessEvent
(this=0x17f2530, event=<optimized out>)
at src/generic/scrlwing.cpp:208
evType = 10025
processed = <optimized out>
#61 0x00007ffff6e513cf in gtk_window_button_press_callback
(widget=0x178fd60 [GtkPizza], gdk_event=0xfbe4a0, win=
0x17f2060) at src/gtk/window.cpp:1634
ret = <optimized out>
rc = <optimized out>
event_type = 10025
event = {<wxEvent> = {<wxObject> = {_vptr.wxObject =
0x7ffff71ef050, static ms_classInfo = {m_className =
0x0, m_objectSize = 0, m_objectConstructor = 0, m_baseInfo1 = 0x0,
m_baseInfo2 = 0x0, static sm_first = 0x0,
m_next = 0x0, static sm_classTable = 0xd2b010},
m_refData = 0x0}, m_eventObject = 0x17f2060,
m_eventType = 10025, m_timeStamp = 18668337, m_id = 301,
m_callbackUserData = 0x0, m_propagationLevel =
0, m_skipped = false, m_isCommandEvent = false, static
ms_classInfo = {m_className = 0x3e87d0caa8 L"wxEvent",
m_objectSize = 64, m_objectConstructor = 0, m_baseInfo1
= 0xce5de0, m_baseInfo2 = 0x0,
static sm_first = 0x0, m_next = 0x3e87f57580, static
sm_classTable = 0xd2b010}}, m_x = 237, m_y = 302,
m_leftDown = false, m_middleDown = false, m_rightDown =
true, m_controlDown = false, m_shiftDown = false,
m_altDown = false, m_metaDown = false, m_wheelRotation = 0,
m_wheelDelta = 0, m_linesPerAction = 0,
static ms_classInfo = {m_className = 0x7ffff6f63b68
L"wxMouseEvent", m_objectSize = 96,
m_objectConstructor = 0x7ffff6e1ed50
<wxMouseEvent::wxCreateObject()>, m_baseInfo1 = 0x3e87f57540,
m_baseInfo2 = 0x0, static sm_first = 0x0, m_next =
0x7ffff72445a0, static sm_classTable = 0xd2b010}}
#62 0x00007ffff671e103 in _gtk_marshal_BOOLEAN__BOXED
(closure=0x17f4030, return_value=0x7fffffffdb90,
n_param_values=<optimized out>, param_values=0x1a3fad0,
invocation_hint=<optimized out>,
marshal_data=<optimized out>) at gtkmarshalers.c:86
callback = 0x7ffff6e51250
<gtk_window_button_press_callback(GtkWidget*, GdkEventButton*,
wxWindow*)>
cc = 0x17f4030
data1 = 0x178fd60
data2 = 0x17f2060
v_return = <optimized out>
__PRETTY_FUNCTION__ = "_gtk_marshal_BOOLEAN__BOXED"
#63 0x00000035ef40e2ee in g_closure_invoke (closure=0x17f4030,
return_value=0x7fffffffdb90, n_param_values=2,
param_values=0x1a3fad0, invocation_hint=0x7fffffffdb50) at gclosure.c:767
marshal = <optimized out>
marshal_data = <optimized out>
in_marshal = <optimized out>
__PRETTY_FUNCTION__ = "g_closure_invoke"
#64 0x00000035ef41f1a0 in signal_emit_unlocked_R (node=<optimized
out>, detail=0, instance=0x178fd60, emission_return=
0x7fffffffdcf0, instance_and_params=0x1a3fad0) at gsignal.c:3252
tmp = <optimized out>
handler = 0x17f38a0
accumulator = 0xe9a6b0
emission = {next = 0x0, instance = 0x178fd60, ihint =
{signal_id = 33, detail = 0, run_type =
G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 4}
class_closure = 0xe9a480
hlist = 0x3ede60ae10
handler_list = 0x17f38a0
return_accu = 0x7fffffffdb90
accu = {g_type = 20, data = {{v_int = 0, v_uint = 0, v_long =
0, v_ulong = 0, v_int64 = 0, v_uint64 = 0,
v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0,
v_uint = 0, v_long = 0, v_ulong = 0, v_int64 =
0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 33
max_sequential_handler_number = 2085
return_value_altered = 0
#65 0x00000035ef42872b in g_signal_emit_valist (instance=<optimized
out>, signal_id=<optimized out>,
detail=<optimized out>, var_args=<optimized out>) at gsignal.c:2993
return_value = {g_type = 20, data = {{v_int = 0, v_uint = 0,
v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 =
0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint
= 0, v_long = 0, v_ulong = 0, v_int64 = 0,
v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
error = 0x0
rtype = 20
static_scope = 0
instance_and_params = 0x1a3fad0
signal_return_type = 20
param_values = 0x1a3fae8
node = <optimized out>
i = <optimized out>
n_params = 1
__PRETTY_FUNCTION__ = "g_signal_emit_valist"
#66 0x00000035ef428b12 in g_signal_emit (instance=<optimized out>,
signal_id=<optimized out>, detail=<optimized out>)
at gsignal.c:3040
var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area
= 0x7fffffffde30, reg_save_area =
0x7fffffffdd70}}
#67 0x00007ffff68533e1 in gtk_widget_event_internal (widget=0x178fd60
[GtkPizza], event=0xfbe4a0) at gtkwidget.c:4995
signal_num = <optimized out>
return_val = 0
#68 0x00007ffff671bc63 in IA__gtk_propagate_event (widget=0x178fd60
[GtkPizza], event=0xfbe4a0) at gtkmain.c:2489
tmp = <optimized out>
handled_event = <optimized out>
__PRETTY_FUNCTION__ = "IA__gtk_propagate_event"
#69 0x00007ffff671bfcb in IA__gtk_main_do_event (event=0xfbe4a0) at
gtkmain.c:1684
event_widget = <optimized out>
grab_widget = 0x178fd60 [GtkPizza]
window_group = <optimized out>
rewritten_event = <optimized out>
tmp_list = <optimized out>
__PRETTY_FUNCTION__ = "IA__gtk_main_do_event"
#70 0x00007ffff63720cc in gdk_event_dispatch (source=<optimized out>,
callback=<optimized out>,
user_data=<optimized out>) at gdkevents-x11.c:2377
display = <optimized out>
event = 0xfbe4a0
#71 0x00000035eec42b6d in g_main_dispatch (context=0xdd34a0) at gmain.c:2440
dispatch = 0x7ffff6372080 <gdk_event_dispatch>
was_in_call = 0
user_data = 0x0
callback = 0
cb_funcs = 0x0
cb_data = 0x0
current_source_link = {data = 0xe15f60, next = 0x0}
need_destroy = <optimized out>
source = 0xe15f60
current = 0x1028bb0
i = <optimized out>
#72 g_main_context_dispatch (context=0xdd34a0) at gmain.c:3013
No locals.
#73 0x00000035eec43348 in g_main_context_iterate (context=0xdd34a0,
block=<optimized out>, dispatch=1,
self=<optimized out>) at gmain.c:3091
max_priority = 2147483647
timeout = 500
some_ready = 1
nfds = 2
allocated_nfds = <optimized out>
fds = <optimized out>
__PRETTY_FUNCTION__ = "g_main_context_iterate"
#74 0x00000035eec4398d in g_main_loop_run (loop=0xfe2810) at gmain.c:3299
self = 0xda8e90
__PRETTY_FUNCTION__ = "g_main_loop_run"
#75 0x00007ffff671aff7 in IA__gtk_main () at gtkmain.c:1256
tmp_list = <optimized out>
functions = 0x0
init = <optimized out>
loop = 0xfe2810
#76 0x00007ffff6e3e128 in wxEventLoop::Run (this=0xfb37e0) at
src/gtk/evtloop.cpp:76
activate = {m_evtLoopOld = 0x0}
exitcode = <optimized out>
#77 0x00007ffff6eb559b in wxAppBase::MainLoop (this=0xdd0cd0) at
src/common/appcmn.cpp:312
mainLoop = {<wxEventLoopPtr> = {m_ptr = 0xfb37e0}, m_pp =
0xdd0d48, m_pOld = 0x0}
#78 0x0000003e87c96b1b in wxEntry (argc=<optimized out>,
argv=<optimized out>) at src/common/init.cpp:448
initializer = <optimized out>
#79 0x000000000043dd02 in main ()
No symbol table info available.

2011/4/11 Guillaume Lelarge <guillaume(at)lelarge(dot)info>:
> Add the support for per-column collation feature
>
> of PostgreSQL 9.1.
>
> Branch
> ------
> master
>
> Details
> -------
> http://git.postgresql.org/gitweb?p=pgadmin3.git;a=commitdiff;h=2d798ddf2ce22b5e4ac20096d81f8cb902310bd4
>
> Modified Files
> --------------
> CHANGELOG                               |    2 +
> pgadmin/dlg/dlgCollation.cpp            |  183 ++++++++++++++++++++++++
> pgadmin/dlg/dlgColumn.cpp               |   41 +++++-
> pgadmin/dlg/dlgDomain.cpp               |   30 ++++
> pgadmin/dlg/dlgIndex.cpp                |   41 +++++-
> pgadmin/dlg/dlgType.cpp                 |   89 ++++++++++--
> pgadmin/dlg/module.mk                   |    1 +
> pgadmin/frm/frmOptions.cpp              |    1 +
> pgadmin/include/dlg/dlgCollation.h      |   42 ++++++
> pgadmin/include/dlg/dlgType.h           |    2 +-
> pgadmin/include/dlg/module.mk           |    1 +
> pgadmin/include/images/collation-sm.png |  Bin 0 -> 233 bytes
> pgadmin/include/images/collation.png    |  Bin 0 -> 233 bytes
> pgadmin/include/images/collations.png   |  Bin 0 -> 303 bytes
> pgadmin/include/images/module.mk        |    3 +
> pgadmin/include/schema/module.mk        |    1 +
> pgadmin/include/schema/pgCollation.h    |   87 +++++++++++
> pgadmin/include/schema/pgColumn.h       |   10 ++-
> pgadmin/include/schema/pgDomain.h       |   28 ++++-
> pgadmin/include/schema/pgIndex.h        |    7 +-
> pgadmin/include/schema/pgType.h         |   16 ++-
> pgadmin/schema/module.mk                |    1 +
> pgadmin/schema/pgCollation.cpp          |  238 +++++++++++++++++++++++++++++++
> pgadmin/schema/pgColumn.cpp             |   34 ++++-
> pgadmin/schema/pgDomain.cpp             |   42 ++++--
> pgadmin/schema/pgIndex.cpp              |   37 ++++--
> pgadmin/schema/pgObject.cpp             |    5 +
> pgadmin/schema/pgSchema.cpp             |    5 +
> pgadmin/schema/pgType.cpp               |   47 +++++--
> pgadmin/ui/dlgCollation.xrc             |  207 +++++++++++++++++++++++++++
> pgadmin/ui/dlgColumn.xrc                |   15 ++
> pgadmin/ui/dlgDomain.xrc                |   19 +++-
> pgadmin/ui/dlgIndex.xrc                 |   15 ++
> pgadmin/ui/dlgType.xrc                  |   31 ++++-
> pgadmin/ui/module.mk                    |    1 +
> 35 files changed, 1215 insertions(+), 67 deletions(-)
>
>
> --
> Sent via pgadmin-hackers mailing list (pgadmin-hackers(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgadmin-hackers
>

--
All bugs reserved

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Guillaume Lelarge 2011-04-26 20:06:24 Re: pgAdmin III commit: Add the support for per-column collation feature
Previous Message Guillaume Lelarge 2011-04-26 09:48:39 Re: Reconnection problem.