root_schema(agooErr err, gqlDoc doc, gqlCobj obj, gqlField field, gqlSel sel, gqlValue result, int depth) {
    struct _gqlCobj	child = { .clas = &schema_class, .ptr = NULL };
    gqlValue		co;
    const char		*key = sel->name;

    if (NULL != sel->alias) {
	key = sel->alias;
    }
    if (NULL == (co = gql_object_create(err)) ||
	AGOO_ERR_OK != gql_object_set(err, result, key, co)) {
	return err->code;
    }
    return gql_eval_sels(err, doc, (gqlRef)&child, field, sel->sels, co, depth + 1);
}
root_schema(agooErr err, gqlDoc doc, gqlCobj obj, gqlField field, gqlSel sel, gqlValue result, int depth) {
    struct _gqlCobj	child = { .clas = &schema_class, .ptr = NULL };
    gqlValue		co;
    const char		*key = sel->name;

    if (NULL != sel->alias) {
	key = sel->alias;
    }
    if (NULL == (co = gql_object_create(err)) ||
	AGOO_ERR_OK != gql_object_set(err, result, key, co)) {
	return err->code;
    }
    return gql_eval_sels(err, doc, (gqlRef)&child, field, sel->sels, co, depth + 1);
}