[gnome-db] possible bug?



I am using the MySql provider, with svn 2845 (trunk).

I can't get the following SQL query to parse:
select p.id, p.FirstName, p.MiddleName, p.LastName, p.Birthday
from Person p
where Month(p.Birthday) = ## /*name:'month' type:gint*/ and p.Death is null

When I call (stepping into it using the debugger):
gda_dict_update_dbms_meta_data(dict, 0, NULL, &error),
the function
gda_dict_get_object_type_registration(dict, GDA_TYPE_DICT_FUNCTION)
is not called because a check indicates that it is not supported by the provider.

Later, when I call gda_query_new_from_sql with the dictionary, and SQL above, I get an assertion in gda_functions_get_by_name_arg. It called gda_dict_get_object_type_registration for GDA_TYPE_DICT_FUNCTION, which (naturally) returned NULL. gda_functions_get_by_name_arg then asserts that the returned pointer must be non-NULL.

Is this a bug? i.e. should gda_functions_get_by_name_arg be checking if GDA_TYPE_DICT_FUNCTION is supported?

I think that the parsing should fail due to GDA_TYPE_DICT_FUNCTION not being supported, and that the SQL query type should then be set to GDA_QUERY_TYPE_NON_PARSED_SQL. Is this correct?

If it is agreed that this is a bug, I'll work up a test case and file it in bugzilla.
Mark




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