Remove the ASCII-only check

This commit is contained in:
Maxim Svistunov 2024-02-04 14:53:52 +01:00
parent c4f5ac7b70
commit a8c9c57231

View file

@ -39,11 +39,6 @@ fn parse_statement1(input: &str) -> IResult<&str, Vec<RawQuerySyntax>> {
} }
pub fn parse_and_validate(str_query: String, db_schema: &DbSchema) -> Result<Operation, Error> { pub fn parse_and_validate(str_query: String, db_schema: &DbSchema) -> Result<Operation, Error> {
if let Some(non_ascii) = str_query.chars().find(|c| c.len_utf8() > 1) {
return Err(Error::ParsingError(
format!("Non ASCII character found: {}", non_ascii)
));
}
let (_, op) = let (_, op) =
parse_statement(str_query.as_str()).map_err(|err| Error::ParsingError(err.to_string()))?; parse_statement(str_query.as_str()).map_err(|err| Error::ParsingError(err.to_string()))?;
@ -55,14 +50,6 @@ mod test {
use crate::core::parse_statement1; use crate::core::parse_statement1;
use crate::parse_and_validate; use crate::parse_and_validate;
use crate::Error; use crate::Error;
#[test]
fn test_non_unicode() {
let result = parse_and_validate(format!("SELECT * FROM users WHERE name = \"\""), &Default::default());
assert!(matches!(result, Err(Error::ParsingError(_))));
if let Err(Error::ParsingError(err)) = result {
assert_eq!(err, format!("Non ASCII character found: {}", '京'));
}
}
#[test] #[test]
fn test_parse_two_select() { fn test_parse_two_select() {