Skip to content

Commit 554264b

Browse files
Test CREATE INDEX ON ONLY formatter errors
1 parent cc51b84 commit 554264b

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

‎tests/sqlparser_postgres.rs‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13054,3 +13054,26 @@ fn parse_create_index_on_only() {
1305413054
"sql parser error: Expected: a list of columns in parentheses, found: orders"
1305513055
);
1305613056
}
13057+
13058+
#[test]
13059+
fn display_create_index_on_only_propagates_formatter_errors() {
13060+
use core::fmt::{self, Write};
13061+
13062+
struct RejectingWriter(&'static str);
13063+
13064+
impl Write for RejectingWriter {
13065+
fn write_str(&mut self, value: &str) -> fmt::Result {
13066+
if value == self.0 {
13067+
Err(fmt::Error)
13068+
} else {
13069+
Ok(())
13070+
}
13071+
}
13072+
}
13073+
13074+
let stmt = pg().verified_stmt("CREATE INDEX ON ONLY orders(note)");
13075+
for rejected in ["ON ", "ONLY ", "orders"] {
13076+
let mut writer = RejectingWriter(rejected);
13077+
assert_eq!(write!(writer, "{stmt}"), Err(fmt::Error), "{rejected:?}");
13078+
}
13079+
}

0 commit comments

Comments
 (0)