commit-gnue
[Top][All Lists]
Advanced

[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 ----



reply via email to

[Prev in Thread] Current Thread [Next in Thread]