From fa867578bc926872cdee674911d16c53053e7662 Mon Sep 17 00:00:00 2001 From: Delyan Angelov Date: Sun, 28 Jun 2020 14:07:28 +0300 Subject: [PATCH] vfmt: fix segfault in update where the struct is not yet known --- vlib/v/parser/sql.v | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/vlib/v/parser/sql.v b/vlib/v/parser/sql.v index 6a8073991e..069b8308bf 100644 --- a/vlib/v/parser/sql.v +++ b/vlib/v/parser/sql.v @@ -150,8 +150,11 @@ fn (mut p Parser) sql_stmt() ast.SqlStmt { // fields := info.fields.filter(it.typ in [table.string_type, table.int_type, table.bool_type]) table_name = sym.name } else if kind == .update { - idx := p.table.find_type_idx(table_name) - table_type = table.new_type(idx) + if !p.pref.is_fmt { + // NB: in vfmt mode, v parses just a single file and table_name may not have been registered + idx := p.table.find_type_idx(table_name) + table_type = table.new_type(idx) + } p.check_sql_keyword('where') where_expr = p.expr(0) }