Re: [gnome-db] Date problem...



On 5/4/06, Carlos Savoretti <csavoretti clubsanjorge com ar> wrote:
Hello:

I'm having this problem for a while and I can't find the solution.

I've been playing around with a modified version of 'sampleapp'
in order to understand better how GDA/GnomeDB works.

AFAIK the date entry fields in a form is managed according the
locale setting (ex. MM/DD/YY), and at the moment an UPDATE query
is executed this date is rendered in a suitable format for the
specific provider (ex. YYYY-MM-DD).

Problem is that when I commit changes it results:

----------
Order Id: param 'Creation Date' changed to 2006-12-31
Order Id: param 'Creation Date' changed to NULL TYPE
Order Id: param 'Creation Date' changed to 2006-12-01

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208117584 (LWP 31474)]
0x00194587 in gda_value_compare (value1=0x94f04cc, value2=0x9666738)
    at gda-value.c:2373
2373                    retval = memcmp (gda_value_get_date(value1),
gda_value_get_date(value2),
(gdb) bt
#0  0x00194587 in gda_value_compare (value1=0x94f04cc, value2=0x9666738)
    at gda-value.c:2373
#1  0x00163272 in gda_parameter_set_value (param=0x9742c58,
value=0x94f04cc)
    at gda-parameter.c:693
#2  0x00136d4d in gda_data_model_move_iter_at_row_default
(model=0x9748660,
    iter=0x9742718, row=0) at gda-data-model.c:587
#3  0x0014679c in gda_data_proxy_iter_at_row (model=0x9748660,
iter=0x9742718,
    row=0) at gda-data-proxy.c:2338
#4  0x00136e10 in gda_data_model_move_iter_at_row (model=0x9748660,
    iter=0x9742718, row=0) at gda-data-model.c:549
#5  0x0013f491 in model_row_updated_cb (model=0x9748660, row=0,
iter=0x9742718)
    at gda-data-model-iter.c:216
#6  0x002c8a72 in g_cclosure_marshal_VOID ()
from /usr/lib/libgobject-2.0.so.0
#7  0x002bd285 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#8  0x002cb78b in g_signal_stop_emission ()
from /usr/lib/libgobject-2.0.so.0
#9  0x002ccee0 in g_signal_emit_valist ()
from /usr/lib/libgobject-2.0.so.0
#10 0x002cd254 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#11 0x00136095 in gda_data_model_row_updated (model=0x9748660, row=0)
    at gda-data-model.c:194
#12 0x00144889 in adjust_displayed_chunck (proxy=0x9748660)
    at gda-data-proxy.c:1785
#13 0x002c8817 in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#14 0x002bd285 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---

-------------

I've find out:
- The update query is rendered with the date in a wrong format, i.e.
'UPDATE orders SET creation_date='12/31/06' WHERE id=2'
- memcmp crashes because one of the values is a null GdaDate. This is
because MySQL defaults this bad date to '0000-00-00' and this can not
be converted to a valid GdaDate, but the query is done anyway.

I've stucked for a while... Can anyone help me ?


I've just finished replacing the GdaValue with direct GValue and I'll
commit that code ASAP. I've done some modifications in the way dates
are handled, so I think it best that you check with the latest CVS
version when I've committed.

If it still does not work, I'll try to find the problem.

Cheers,

Vivien



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]