public QueryResult SubmitQuery(string query) { TextReader scriptText = new StringReader(query); List <string> tokens = sqlParser.Parse(scriptText); //sqlParser.Parse will always return the tokens of the query if accepted //the TYPE of the query is passed into the transaction manager, so you know what to check string queryType = tokens[tokens.Count - 4]; string done = tokens[tokens.Count - 3]; string accepted = tokens[tokens.Count - 2]; string error = tokens[tokens.Count - 1]; tokens.RemoveAt(tokens.Count - 1); tokens.RemoveAt(tokens.Count - 1); tokens.RemoveAt(tokens.Count - 1); tokens.RemoveAt(tokens.Count - 1); if (accepted == "True") { string[,] results = transactionMgr.Process(tokens, queryType); QueryResult queryResult = new QueryResult(queryType, done, accepted, error); queryResult.Results = results; return(queryResult); } else { //error QueryResult queryResult = new QueryResult(queryType, done, accepted, error); queryResult.Results = null; return(queryResult); } }
public QueryResult SubmitQuery(string query) { TextReader scriptText = new StringReader(query.ToLower()); List <string> tokens = sqlParser.Parse(scriptText); //sqlParser.Parse will always return the tokens of the query if accepted //the TYPE of the query is passed into the transaction manager, so you know what to check string queryType = tokens[tokens.Count - 4]; string done = tokens[tokens.Count - 3]; string accepted = tokens[tokens.Count - 2]; InputError error = new InputError(tokens[tokens.Count - 1], ""); tokens.RemoveAt(tokens.Count - 1); tokens.RemoveAt(tokens.Count - 1); tokens.RemoveAt(tokens.Count - 1); tokens.RemoveAt(tokens.Count - 1); if (accepted == "True") { QueryResult queryResult = new QueryResult(queryType, done, accepted, error); transactionMgr.Process(tokens, queryType, ref queryResult); logs.Add(query); OnDbUpdated(); return(queryResult); } else { //error QueryResult queryResult = new QueryResult(queryType, done, accepted, error); queryResult.Results = null; return(queryResult); } }