X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=blobdiff_plain;f=src%2Fparser%2Fgrammar.y;fp=src%2Fparser%2Fgrammar.y;h=6654780c185ddcd88ad3d3d8517fc48c1e566813;hp=c350d54365a03c5d9d8cb9faaf00234064f4ace5;hb=5f7e0ee1cf668eaaec097d8f2fa0753b0c089946;hpb=1bde17786b9a0b342daae5faa46a54b3eeab6558 diff --git a/src/parser/grammar.y b/src/parser/grammar.y index c350d54..6654780 100644 --- a/src/parser/grammar.y +++ b/src/parser/grammar.y @@ -104,7 +104,7 @@ sdb_parser_yyerrorf(YYLTYPE *lval, sdb_parser_yyscan_t scanner, const char *fmt, sdb_llist_t *list; sdb_ast_node_t *node; - struct { char *type; char *id; } metric_store; + struct { char *type; char *id; sdb_time_t last_update; } metric_store; } %start statements @@ -339,42 +339,42 @@ store_statement: STORE HOST_T STRING last_update_clause { $$ = sdb_ast_store_create(SDB_HOST, NULL, 0, NULL, - $3, $4, NULL, NULL, SDB_DATA_NULL); + $3, $4, NULL, NULL, 0, SDB_DATA_NULL); CK_OOM($$); } | STORE SERVICE_T STRING '.' STRING last_update_clause { $$ = sdb_ast_store_create(SDB_SERVICE, $3, 0, NULL, - $5, $6, NULL, NULL, SDB_DATA_NULL); + $5, $6, NULL, NULL, 0, SDB_DATA_NULL); CK_OOM($$); } | STORE METRIC_T STRING '.' STRING metric_store_clause last_update_clause { $$ = sdb_ast_store_create(SDB_METRIC, $3, 0, NULL, - $5, $7, $6.type, $6.id, SDB_DATA_NULL); + $5, $7, $6.type, $6.id, $6.last_update, SDB_DATA_NULL); CK_OOM($$); } | STORE HOST_T ATTRIBUTE_T STRING '.' STRING data last_update_clause { $$ = sdb_ast_store_create(SDB_ATTRIBUTE, $4, 0, NULL, - $6, $8, NULL, NULL, $7); + $6, $8, NULL, NULL, 0, $7); CK_OOM($$); } | STORE SERVICE_T ATTRIBUTE_T STRING '.' STRING '.' STRING data last_update_clause { $$ = sdb_ast_store_create(SDB_ATTRIBUTE, $4, SDB_SERVICE, $6, - $8, $10, NULL, NULL, $9); + $8, $10, NULL, NULL, 0, $9); CK_OOM($$); } | STORE METRIC_T ATTRIBUTE_T STRING '.' STRING '.' STRING data last_update_clause { $$ = sdb_ast_store_create(SDB_ATTRIBUTE, $4, SDB_METRIC, $6, - $8, $10, NULL, NULL, $9); + $8, $10, NULL, NULL, 0, $9); CK_OOM($$); } ; @@ -385,9 +385,11 @@ last_update_clause: /* empty */ { $$ = sdb_gettime(); } metric_store_clause: - STORE STRING STRING { $$.type = $2; $$.id = $3; } + STORE STRING STRING datetime { $$.type = $2; $$.id = $3; $$.last_update = $4; } | - /* empty */ { $$.type = $$.id = NULL; } + STORE STRING STRING { $$.type = $2; $$.id = $3; $$.last_update = 0; } + | + /* empty */ { $$.type = $$.id = NULL; $$.last_update = 0; } /* * TIMESERIES . [START ] [END ];