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

_______________________________________________
gnome-db-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gnome-db-list

Reply via email to