public ProcessResult Process(char character, InsertQueryParserState state) { if (character == ',' && state.InsertIntoFound && !state.InValue && !state.StopInsertInto && state.OpenRoundBracketCount == 0) { //part of INSERT INTO or VALUES if (state.ValuesOpenBracketFound && !state.ValuesCloseBracketFound) { state.AddValue(); } else if (state.InsertIntoOpenBracketFound && !state.InsertIntoCloseBracketFound) { state.AddColumnName(); } else if (!state.FromFound) { //value state.AddValue(); } return(ProcessResult.Success()); } return(ProcessResult.NotUnderstood()); }
public ProcessResult Process(InsertQueryParserState state) { if (state.ColumnValues.Count == 0) { return(ProcessResult.Fail("No column values were found")); } return(ProcessResult.NotUnderstood()); }
public ProcessResult Process(InsertQueryParserState state) { if (!state.InsertIntoFound) { return(ProcessResult.Fail("INSERT INTO clause was not found")); } return(ProcessResult.NotUnderstood()); }
public ProcessResult Process(InsertQueryParserState state) { if (!state.ValuesFound && !state.SelectFound) { return(ProcessResult.Fail("VALUES or SELECT clause was not found")); } return(ProcessResult.NotUnderstood()); }
public ProcessResult Process(char character, InsertQueryParserState state) { if (character == '[' && !state.ValuesFound && !state.SelectFound) { state.OpenBracketCount++; return(ProcessResult.Success()); } return(ProcessResult.NotUnderstood()); }
public ProcessResult Process(char character, InsertQueryParserState state) { if (character != '\r' && character != '\n' && character != '\t') { state.CurrentSection.Append(character); return(ProcessResult.Success()); } return(ProcessResult.NotUnderstood()); }
public ProcessResult Process(char character, InsertQueryParserState state) { if ((state.CurrentSection.ToString().EndsWith(" VALUE", StringComparison.OrdinalIgnoreCase) && character.ToString().Equals("S", StringComparison.OrdinalIgnoreCase) && state.InsertIntoFound && !state.ValuesFound && state.OpenBracketCount == 0) || (state.CurrentSection.ToString().EndsWith(" OUTPU", StringComparison.OrdinalIgnoreCase) && character.ToString().Equals("T", StringComparison.OrdinalIgnoreCase) && state.InsertIntoFound && !state.ValuesFound && state.OpenBracketCount == 0)) { state.ValuesFound = state.CurrentSection.ToString().EndsWith(" VALUE", StringComparison.OrdinalIgnoreCase) && character.ToString().Equals("S", StringComparison.OrdinalIgnoreCase) && state.InsertIntoFound && !state.ValuesFound && state.OpenBracketCount == 0; state.StopInsertInto = state.CurrentSection.ToString().EndsWith(" OUTPU", StringComparison.OrdinalIgnoreCase) && character.ToString().Equals("T", StringComparison.OrdinalIgnoreCase) && state.InsertIntoFound && !state.ValuesFound && state.OpenBracketCount == 0; state.CurrentSection.Clear(); return(ProcessResult.Success()); } return(ProcessResult.NotUnderstood()); }
public ProcessResult Process(char character, InsertQueryParserState state) { if (state.CurrentSection.ToString().EndsWith(" SELEC", StringComparison.OrdinalIgnoreCase) && character.ToString().Equals("T", StringComparison.OrdinalIgnoreCase) && state.InsertIntoFound && !state.SelectFound && state.OpenBracketCount == 0) { state.SelectFound = true; state.CurrentSection.Clear(); return(ProcessResult.Success()); } return(ProcessResult.NotUnderstood()); }
public ProcessResult Process(char character, InsertQueryParserState state) { if (character == ')' && state.ValuesOpenBracketFound && !state.ValuesCloseBracketFound && !state.InValue) { state.OpenRoundBracketCount--; state.CurrentSection.Append(character); return(ProcessResult.Success()); } return(ProcessResult.NotUnderstood()); }
public ProcessResult Process(char character, InsertQueryParserState state) { if (character == ']' && !state.ValuesFound && !state.SelectFound) { state.OpenBracketCount--; if (state.OpenBracketCount < 0) { return(ProcessResult.Fail("Too many close brackets found")); } return(ProcessResult.Success()); } return(ProcessResult.NotUnderstood()); }
public ProcessResult Process(char character, InsertQueryParserState state) { if (state.CurrentSection.ToString().EndsWith(" FRO", StringComparison.OrdinalIgnoreCase) && character.ToString().Equals("M", StringComparison.OrdinalIgnoreCase) && state.SelectFound) { state.FromFound = true; state.ColumnValues.Add(state.CurrentSection.ToString().Substring(0, state.CurrentSection.ToString().Length - 4)); state.CurrentSection.Clear(); return(ProcessResult.Success()); } return(ProcessResult.NotUnderstood()); }
public ProcessResult Process(char character, InsertQueryParserState state) { if (character == ')' && state.ValuesOpenBracketFound && !state.ValuesCloseBracketFound && state.OpenRoundBracketCount == 0) { state.ValuesCloseBracketFound = true; state.ColumnValues.Add(state.CurrentSection.ToString()); state.CurrentSection.Clear(); return(ProcessResult.Success()); } return(ProcessResult.NotUnderstood()); }
public ProcessResult Process(char character, InsertQueryParserState state) { if (character == '(' && ( (state.ValuesFound || state.SelectFound) && !state.ValuesOpenBracketFound && state.OpenRoundBracketCount == 0 && state.ColumnValues.Count > 0 || (state.ValuesOpenBracketFound && !state.ValuesCloseBracketFound && !state.InValue) )) { state.OpenRoundBracketCount++; state.CurrentSection.Append(character); return(ProcessResult.Success()); } return(ProcessResult.NotUnderstood()); }
public ProcessResult Process(char character, InsertQueryParserState state) { if (character == '(' && (state.ValuesFound || state.SelectFound) && !state.ValuesOpenBracketFound && state.OpenRoundBracketCount == 0 && state.ColumnValues.Count == 0) { state.ValuesOpenBracketFound = true; state.CurrentSection.Clear(); return(ProcessResult.Success()); } return(ProcessResult.NotUnderstood()); }
public ProcessResult Process(char character, InsertQueryParserState state) { if (character == '(' && state.InsertIntoFound && !state.ValuesFound && !state.SelectFound && !state.InsertIntoOpenBracketFound) { state.InsertIntoOpenBracketFound = true; state.CurrentSection.Clear(); return(ProcessResult.Success()); } return(ProcessResult.NotUnderstood()); }
public ProcessResult Process(InsertQueryParserState state) { if (state.ColumnNames.Count > 0 && state.ColumnValues.Count < state.ColumnNames.Count) { var result = ParseResult.Error ( $"Column names count ({state.ColumnNames.Count}) is not equal to column values count ({state.ColumnValues.Count}), see #MISSING# in column values list (values)", state.ColumnNames.Zip(state.ColumnValues, (name, value) => new KeyValuePair <string, string>(name.Trim(), value.Trim())) ); state.ColumnValues.AddRange(Enumerable.Range(1, state.ColumnNames.Count - state.ColumnValues.Count).Select(_ => "#MISSING#")); return(ProcessResult.Fail(result)); } return(ProcessResult.NotUnderstood()); }
public ProcessResult Process(char character, InsertQueryParserState state) { if (state.CurrentSection.ToString().EndsWith("INSERT INT", StringComparison.OrdinalIgnoreCase) && character.ToString().Equals("O", StringComparison.OrdinalIgnoreCase) && state.OpenBracketCount == 0) { if (state.InsertIntoFound) { return(ProcessResult.Fail("INSERT INTO clause was found multiple times")); } else { state.InsertIntoFound = true; } state.CurrentSection.Clear(); return(ProcessResult.Success()); } return(ProcessResult.NotUnderstood()); }
public ProcessResult Process(char character, InsertQueryParserState state) { if (character == '\'' && !state.InValue && state.OpenRoundBracketCount == 0) { state.InValue = true; state.CurrentSection.Append(character); return(ProcessResult.Success()); } else if (character == '\'' && state.InValue && state.OpenRoundBracketCount == 0) { state.InValue = false; state.CurrentSection.Append(character); return(ProcessResult.Success()); } return(ProcessResult.NotUnderstood()); }
public ProcessResult Process(InsertQueryParserState state) => ProcessResult.Success(ParseResult.Success(state.ColumnNames .Zip(state.ColumnValues, (name, value) => new KeyValuePair <string, string>(name.Trim(), value.Trim()))));