[PATCH 09/17] libtracefs: Add line number and index to expr structure

From: Steven Rostedt
Date: Fri Jul 30 2021 - 18:18:50 EST


From: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx>

In order to have better error messages, record the line number and index
when an expr structure is created. Then this can be used to show where in
the SQL sequence a problem was found if the building of the synth event
has issues.

Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
---
src/tracefs-sqlhist.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/src/tracefs-sqlhist.c b/src/tracefs-sqlhist.c
index 933b3609733b..887c2441a39e 100644
--- a/src/tracefs-sqlhist.c
+++ b/src/tracefs-sqlhist.c
@@ -72,6 +72,8 @@ struct expr {
struct expr *free_list;
struct expr *next;
enum expr_type type;
+ int line;
+ int idx;
union {
struct field field;
struct filter filter;
@@ -300,6 +302,8 @@ static void *create_expr(struct sqlhist_bison *sb,
sb->table->exprs = expr;

expr->type = type;
+ expr->line = sb->line_no;
+ expr->idx = sb->line_idx;

switch (type) {
case EXPR_FIELD: return &expr->field;
--
2.30.2