public void InsertIntoSyntaxError() { const string sql = "INSERT IN table VALUES (1, 'name');"; SqlParseResult result = null; Assert.DoesNotThrow(() => result = SqlParsers.Default.Parse(sql)); Assert.IsNotNull(result); Assert.IsNotEmpty(result.Errors); }
public static void ParseCreateSimpleTrigger() { const string sql = @"CREATE OR REPLACE TRIGGER test_trigger BEFORE INSERT ON test_table FOR EACH ROW DECLARE a BOOLEAN NOT NULL; BEGIN SELECT INTO a FROM table2 WHERE b = 22; END" ; SqlParseResult result = null; Assert.DoesNotThrow(() => result = SqlParsers.Default.Parse(sql)); Assert.IsNotNull(result); Assert.IsFalse(result.HasErrors); }
public SqlParseResult Parse(string input) { var result = new SqlParseResult(Dialect); var timer = new Timer(); try { long time; var node = ParseNode(input, result.Errors, out time); result.RootNode = node; } catch (Exception ex) { // TODO: form a better exception result.Errors.Add(new SqlParseError(ex.Message, 0, 0)); } finally { timer.Dispose(); result.ParseTime = timer.Elapsed; } return result; }
public SqlParseResult Parse(string input) { var result = new SqlParseResult(Dialect); var timer = new Timer(); try { long time; var node = ParseNode(input, result.Errors, out time); result.RootNode = node; } catch (Exception ex) { // TODO: form a better exception result.Errors.Add(new SqlParseError(ex.Message, 0, 0)); } finally { timer.Dispose(); result.ParseTime = timer.Elapsed; } return(result); }