mirror of
https://github.com/aljazceru/turso.git
synced 2026-02-02 06:44:23 +01:00
fix generation for string literal
This commit is contained in:
@@ -256,7 +256,7 @@ impl ArbitraryFrom<&SimulatorEnv> for ast::Literal {
|
||||
rng.gen_range(-1e10..1e10).to_string()
|
||||
}
|
||||
}),
|
||||
1 => ast::Literal::String(gen_random_text(rng)),
|
||||
1 => ast::Literal::String(format!("'{}'", gen_random_text(rng))),
|
||||
2 => ast::Literal::Blob(hex::encode(gen_random_text(rng).as_bytes().to_vec())),
|
||||
// TODO: skip Keyword
|
||||
3 => continue,
|
||||
|
||||
@@ -256,7 +256,7 @@ impl From<Value> for ast::Literal {
|
||||
Value::Null => Self::Null,
|
||||
Value::Integer(i) => Self::Numeric(i.to_string()),
|
||||
Value::Float(f) => Self::Numeric(f.to_string()),
|
||||
Value::Text(string) => Self::String(string),
|
||||
Value::Text(string) => Self::String(format!("'{}'", string)),
|
||||
Value::Blob(blob) => Self::Blob(hex::encode(blob)),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -369,12 +369,6 @@ impl Display for ast::LikeOperator {
|
||||
}
|
||||
}
|
||||
|
||||
/// Sanitaizes a string literal by removing single quote at front and back
|
||||
/// and escaping double single quotes
|
||||
pub fn sanitize_string(input: &str) -> String {
|
||||
input[1..input.len() - 1].replace("''", "'").to_string()
|
||||
}
|
||||
|
||||
impl Display for ast::Literal {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
write!(
|
||||
@@ -388,7 +382,7 @@ impl Display for ast::Literal {
|
||||
Self::Keyword(keyword) => keyword.clone(),
|
||||
Self::Null => "NULL".to_string(),
|
||||
Self::Numeric(num) => num.clone(),
|
||||
Self::String(s) => format!("'{}'", sanitize_string(s)),
|
||||
Self::String(s) => s.clone(),
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user