[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/geas/src/oql oql.c
From: |
Reinhard Mueller |
Subject: |
gnue/geas/src/oql oql.c |
Date: |
Wed, 19 Dec 2001 15:41:21 -0500 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Reinhard Mueller <address@hidden> 01/12/19 15:41:21
Modified files:
geas/src/oql : oql.c
Log message:
Finished parser replacement for oql module.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/src/oql/oql.c.diff?tr1=1.74&tr2=1.75&r1=text&r2=text
Patches:
Index: gnue/geas/src/oql/oql.c
diff -c gnue/geas/src/oql/oql.c:1.74 gnue/geas/src/oql/oql.c:1.75
*** gnue/geas/src/oql/oql.c:1.74 Wed Dec 19 15:07:40 2001
--- gnue/geas/src/oql/oql.c Wed Dec 19 15:41:20 2001
***************
*** 19,25 ****
along with GEAS; if not, write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
! $Id: oql.c,v 1.74 2001/12/19 20:07:40 reinhard Exp $
*/
#include "config.h"
--- 19,25 ----
along with GEAS; if not, write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
! $Id: oql.c,v 1.75 2001/12/19 20:41:20 reinhard Exp $
*/
#include "config.h"
***************
*** 37,44 ****
const char *value);
static void free_query_condition (_QueryCondition * condition);
- int oql_sort_string_name (gpointer a, gpointer b);
-
static void oql_add_conditions_to_sql (_QueryData * q, DBType db,
GString * buf);
static void oql_add_complex_conditions_to_sql (_QueryData * q, DBType db,
--- 37,42 ----
***************
*** 877,884 ****
c = geas_cd_class_find (classname);
fl = geas_cd_class_fieldlist_new (c);
! f = geas_cd_fieldlist_next (fl);
! while (f)
{
fieldname = geas_cd_field_get_name (f);
value = g_hash_table_lookup (values, fieldname);
--- 875,881 ----
c = geas_cd_class_find (classname);
fl = geas_cd_class_fieldlist_new (c);
! while ((f = geas_cd_fieldlist_next (fl)))
{
fieldname = geas_cd_field_get_name (f);
value = g_hash_table_lookup (values, fieldname);
***************
*** 887,893 ****
query->fields = g_list_append (query->fields, g_strdup (fieldname));
query->values = g_list_append (query->values, g_strdup (value));
}
- f = geas_cd_fieldlist_next (fl);
}
geas_cd_fieldlist_free (fl);
--- 884,889 ----
***************
*** 970,981 ****
_QueryData *
oql_load_object_by_key (const char *classname, const char *key)
{
! GList *l;
! GList *parents;
_QueryData *q = NULL;
_QueryCondition *condition;
! odl_class *c;
! GList *fields;
q = create_query_data (NULL);
if (!q)
--- 966,977 ----
_QueryData *
oql_load_object_by_key (const char *classname, const char *key)
{
! /* GList *parents; */
_QueryData *q = NULL;
_QueryCondition *condition;
! geas_cd_class *c;
! geas_cd_fieldlist *fl;
! geas_cd_field *f;
q = create_query_data (NULL);
if (!q)
***************
*** 984,990 ****
}
q->type = OQL_SELECT;
! c = odl_find_class (all_classes, classname, NULL);
if (!c)
{
errormsg ("Class %s not found", classname);
--- 980,986 ----
}
q->type = OQL_SELECT;
! c = geas_cd_class_find (classname);
if (!c)
{
errormsg ("Class %s not found", classname);
***************
*** 993,1015 ****
return (NULL);
}
! add_order_by (q, c->orderby, FALSE);
!
! fields = odl_class_get_fields (c, FT_basic);
! l = fields;
! while (l)
{
char *fieldname;
! fieldname = g_strdup (odl_field_get_name ((odl_field *) l->data));
q->fields = g_list_append (q->fields, fieldname);
- l = g_list_next (l);
}
! odl_fieldlist_free (fields);
! q->fields = g_list_sort (q->fields, (GCompareFunc) oql_sort_string_name);
q->classes = g_list_append (q->classes, g_strdup (classname));
! parents = odl_class_get_parentnames (c);
if (parents)
{
l = parents;
--- 989,1008 ----
return (NULL);
}
! fl = geas_cd_class_fieldlist_new (c);
! while ((f = geas_cd_fieldlist_next (fl)))
{
char *fieldname;
! fieldname = g_strdup (geas_cd_field_get_name (f));
q->fields = g_list_append (q->fields, fieldname);
}
! geas_cd_fieldlist_free (fl);
q->classes = g_list_append (q->classes, g_strdup (classname));
!
! /* FIXME: inheritance doesn't work yet
! parents = geas_cd_class_parentlist_new (c);
if (parents)
{
l = parents;
***************
*** 1018,1025 ****
q->classes = g_list_append (q->classes, g_strdup (l->data));
l = g_list_next (l);
}
! odl_namelist_free (parents);
! }
condition =
create_query_condition (g_strdup (classname), g_strdup ("sys_id"),
g_strdup ("="), g_strdup (key));
--- 1011,1019 ----
q->classes = g_list_append (q->classes, g_strdup (l->data));
l = g_list_next (l);
}
! geas_cd_classlist_free (parents);
! } */
!
condition =
create_query_condition (g_strdup (classname), g_strdup ("sys_id"),
g_strdup ("="), g_strdup (key));
***************
*** 1034,1042 ****
oql_find_all_objects (const char *classname)
{
_QueryData *q = NULL;
! odl_class *c;
! GList *parents, *l;
! GList *fields;
q = create_query_data (NULL);
if (!q)
--- 1028,1036 ----
oql_find_all_objects (const char *classname)
{
_QueryData *q = NULL;
! geas_cd_class *c;
! geas_cd_fieldlist *fl;
! geas_cd_field *f;
q = create_query_data (NULL);
if (!q)
***************
*** 1045,1051 ****
}
q->type = OQL_SELECT;
! c = odl_find_class (all_classes, classname, NULL);
if (!c)
{
errormsg ("Class %s not found", classname);
--- 1039,1045 ----
}
q->type = OQL_SELECT;
! c = geas_cd_class_find (classname);
if (!c)
{
errormsg ("Class %s not found", classname);
***************
*** 1053,1075 ****
return (NULL);
}
! add_order_by (q, c->orderby, FALSE);
! fields = odl_class_get_fields (c, FT_basic);
! l = fields;
! while (l)
{
char *fieldname;
! fieldname = g_strdup (odl_field_get_name ((odl_field *) l->data));
q->fields = g_list_append (q->fields, fieldname);
- l = g_list_next (l);
}
! odl_fieldlist_free (fields);
! q->fields = g_list_sort (q->fields, (GCompareFunc) oql_sort_string_name);
q->classes = g_list_append (q->classes, g_strdup (classname));
! parents = odl_class_get_parentnames (c);
if (parents)
{
l = parents;
--- 1047,1069 ----
return (NULL);
}
! /* FIXME: order by not yet implemented
! add_order_by (q, c->orderby, FALSE); */
! fl = geas_cd_class_fieldlist_new (c);
! while ((f = geas_cd_fieldlist_next (fl)))
{
char *fieldname;
! fieldname = g_strdup (geas_cd_field_get_name (f));
q->fields = g_list_append (q->fields, fieldname);
}
! geas_cd_fieldlist_free (fl);
q->classes = g_list_append (q->classes, g_strdup (classname));
!
! /* FIXME:
! parents = geas_cd_class_parentlist_new (c);
if (parents)
{
l = parents;
***************
*** 1078,1085 ****
q->classes = g_list_append (q->classes, g_strdup (l->data));
l = g_list_next (l);
}
! odl_namelist_free (parents);
! }
return (q);
}
--- 1072,1080 ----
q->classes = g_list_append (q->classes, g_strdup (l->data));
l = g_list_next (l);
}
! geas_cd_classlist_free (parents);
! } */
!
return (q);
}
***************
*** 1090,1100 ****
oql_load_object_field_by_key (const char *classname, const char *field,
const char *key)
{
- GList *l;
- GList *parents;
_QueryData *q = NULL;
_QueryCondition *condition;
! odl_class *c;
q = create_query_data (NULL);
if (!q)
--- 1085,1093 ----
oql_load_object_field_by_key (const char *classname, const char *field,
const char *key)
{
_QueryData *q = NULL;
_QueryCondition *condition;
! geas_cd_class *c;
q = create_query_data (NULL);
if (!q)
***************
*** 1103,1109 ****
}
q->type = OQL_SELECT;
! c = odl_find_class (all_classes, classname, NULL);
if (!c)
{
errormsg ("Class %s not found", classname);
--- 1096,1102 ----
}
q->type = OQL_SELECT;
! c = geas_cd_class_find (classname);
if (!c)
{
errormsg ("Class %s not found", classname);
***************
*** 1111,1122 ****
return (NULL);
}
- add_order_by (q, c->orderby, FALSE);
q->fields = g_list_append (q->fields, g_strdup ("sys_id"));
q->fields = g_list_append (q->fields, g_strdup (field));
! q->fields = g_list_sort (q->fields, (GCompareFunc) oql_sort_string_name);
q->classes = g_list_append (q->classes, g_strdup (classname));
! parents = odl_class_get_parentnames (c);
if (parents)
{
l = parents;
--- 1104,1116 ----
return (NULL);
}
q->fields = g_list_append (q->fields, g_strdup ("sys_id"));
q->fields = g_list_append (q->fields, g_strdup (field));
!
q->classes = g_list_append (q->classes, g_strdup (classname));
!
! /* FIXME:
! parents = geas_cd_class_parentlist_new (c);
if (parents)
{
l = parents;
***************
*** 1125,1132 ****
q->classes = g_list_append (q->classes, g_strdup (l->data));
l = g_list_next (l);
}
! odl_namelist_free (parents);
! }
condition =
create_query_condition (g_strdup (classname), g_strdup ("sys_id"),
--- 1119,1126 ----
q->classes = g_list_append (q->classes, g_strdup (l->data));
l = g_list_next (l);
}
! geas_cd_classlist_free (parents);
! } */
condition =
create_query_condition (g_strdup (classname), g_strdup ("sys_id"),
***************
*** 1141,1150 ****
_QueryData *
oql_load_object (const char *classname)
{
- GList *l, *tmp, *parents;
_QueryData *q = NULL;
! odl_class *c;
! /* int nnn = 0; */
q = create_query_data (NULL);
if (!q)
--- 1135,1144 ----
_QueryData *
oql_load_object (const char *classname)
{
_QueryData *q = NULL;
! geas_cd_class *c;
! geas_cd_fieldlist *fl;
! geas_cd_field *f;
q = create_query_data (NULL);
if (!q)
***************
*** 1154,1160 ****
}
q->type = OQL_SELECT;
! c = odl_find_class (all_classes, classname, NULL);
if (!c)
{
errormsg ("Class %s not found", classname);
--- 1148,1154 ----
}
q->type = OQL_SELECT;
! c = geas_cd_class_find (classname);
if (!c)
{
errormsg ("Class %s not found", classname);
***************
*** 1162,1184 ****
return (NULL);
}
! add_order_by (q, c->orderby, FALSE);
! l = odl_class_get_fields (c, FT_basic);
! tmp = l;
! while (tmp)
{
char *fieldname;
! fieldname = g_strdup (odl_field_get_name ((odl_field *) tmp->data));
q->fields = g_list_append (q->fields, fieldname);
- tmp = g_list_next (tmp);
}
! q->fields = g_list_sort (q->fields, (GCompareFunc) oql_sort_string_name);
- odl_fieldlist_free (l);
q->classes = g_list_append (q->classes, g_strdup (classname));
! parents = odl_class_get_parentnames (c);
if (parents)
{
l = parents;
--- 1156,1177 ----
return (NULL);
}
! /* FIXME: add_order_by (q, c->orderby, FALSE); */
!
! fl = geas_cd_class_fieldlist_new (c);
! while ((f = geas_cd_fieldlist_next (fl)))
{
char *fieldname;
! fieldname = g_strdup (geas_cd_field_get_name (f));
q->fields = g_list_append (q->fields, fieldname);
}
! geas_cd_fieldlist_free (fl);
q->classes = g_list_append (q->classes, g_strdup (classname));
! /* FIXME:
! parents = geas_cd_class_parentlist_new (c);
if (parents)
{
l = parents;
***************
*** 1187,1194 ****
q->classes = g_list_append (q->classes, g_strdup (l->data));
l = g_list_next (l);
}
! odl_namelist_free (parents);
! }
return (q);
}
--- 1180,1187 ----
q->classes = g_list_append (q->classes, g_strdup (l->data));
l = g_list_next (l);
}
! geas_cd_classlist_free (parents);
! } */
return (q);
}
***************
*** 1358,1372 ****
g_free (c->value);
g_free (c);
}
- }
-
- /* -------------------------------------------------------------------------
*\
- * Sorts strings, used in sorting fields in an OQL query.
- \* -------------------------------------------------------------------------
*/
- int
- oql_sort_string_name (gpointer a, gpointer b)
- {
- return (g_strcasecmp (a, b));
}
GHashTable *oql_reservedwords = NULL;
--- 1351,1356 ----