X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fftacmp%2Fparse_fta.h;h=cae9898543218cddb0db9914dd4bac851aa688c5;hb=f6db93ae9480bc87fb36b61cec0bf17e6082b7c1;hp=c1ea6ed6f2bda805cf87f8b5a774956a0e83f50b;hpb=3ff5c433efcaee8b01fbeed90ab848008f2e6278;p=com%2Fgs-lite.git diff --git a/src/ftacmp/parse_fta.h b/src/ftacmp/parse_fta.h index c1ea6ed..cae9898 100644 --- a/src/ftacmp/parse_fta.h +++ b/src/ftacmp/parse_fta.h @@ -1,5 +1,5 @@ /* ------------------------------------------------ -Copyright 2014 AT&T Intellectual Property +Copyright 2020 AT&T Intellectual Property Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -678,7 +678,7 @@ public: }; std::string get_schema_name(){return schema_name;}; - void set_schema_name(std::string n){schema_name=n;}; + void set_schema_name(std::string n){schema_name=n;}; // DUPLICATE with set_shema std::string get_var_name(){return variable_name;}; std::string get_interface(){return interface;}; std::string get_machine(){return machine;}; @@ -693,7 +693,8 @@ public: #define LEFT_OUTER_JOIN_PROPERTY 1 #define RIGHT_OUTER_JOIN_PROPERTY 2 #define OUTER_JOIN_PROPERTY 3 -#define FILTER_JOIN_PROPERTY 4 +#define WATCHLIST_JOIN_PROPERTY 4 +#define FILTER_JOIN_PROPERTY 5 // tablevar_list_t is the list of tablevars in a FROM clause @@ -1709,6 +1710,7 @@ public: #define SELECT_QUERY 1 #define MERGE_QUERY 2 +#define WATCHLIST_QUERY 3 class table_exp_t{ public: @@ -1726,6 +1728,9 @@ public: std::vector mergevars; // merge colrefs. std::vector supergb; // supergroup. scalarexp_t *slack; // merge slack + + field_entry_list * fel; // List of watchlist fields + bool exernal_visible; // true iff. it can be subscribed to. int lineno, charno; @@ -1773,6 +1778,25 @@ public: return ret; } +// For externally-defined watchlist + static table_exp_t *make_watchlist_tbl(field_entry_list *fel_){ + table_exp_t *ret = new table_exp_t(); + ret->query_type = WATCHLIST_QUERY; + ret->fel = fel_; + ret->sl=NULL; + ret->fm= new tablevar_list_t(); // generic analyses need the fm clause + ret->wh=NULL; + ret->hv=NULL; + ret->cleaning_when=NULL; + ret->cleaning_by=NULL; + ret->closing_when=NULL; + ret->slack=NULL; + ret->exernal_visible = true; + ret->lineno = flex_fta_lineno; ret->charno = flex_fta_ch; + }; + + + table_exp_t(){ fm = NULL; sl = NULL; wh=NULL; hv=NULL; slack = NULL;