78 lines
2.2 KiB
Rust
78 lines
2.2 KiB
Rust
use super::*;
|
|
use pretty_assertions::assert_eq;
|
|
|
|
#[test]
|
|
fn explain_postgres_select_with_options() {
|
|
assert_eq!(
|
|
ExplainStatement::new()
|
|
.analyze()
|
|
.verbose(false)
|
|
.costs(true)
|
|
.settings(false)
|
|
.generic_plan(true)
|
|
.buffers(true)
|
|
.serialize_text()
|
|
.wal(true)
|
|
.timing(false)
|
|
.summary(true)
|
|
.memory(true)
|
|
.format(ExplainFormat::Json)
|
|
.statement(
|
|
Query::select()
|
|
.column(Char::Character)
|
|
.from(Char::Table)
|
|
.to_owned(),
|
|
)
|
|
.to_string(PostgresQueryBuilder),
|
|
r#"EXPLAIN (ANALYZE, VERBOSE 0, COSTS, SETTINGS 0, GENERIC_PLAN, BUFFERS, SERIALIZE TEXT, WAL, TIMING 0, SUMMARY, MEMORY, FORMAT JSON) SELECT "character" FROM "character""#
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn explain_postgres_serialize_text() {
|
|
assert_eq!(
|
|
ExplainStatement::new()
|
|
.serialize_text()
|
|
.statement(
|
|
Query::select()
|
|
.column(Char::Character)
|
|
.from(Char::Table)
|
|
.to_owned(),
|
|
)
|
|
.to_string(PostgresQueryBuilder),
|
|
r#"EXPLAIN (SERIALIZE TEXT) SELECT "character" FROM "character""#
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn explain_postgres_serialize_binary() {
|
|
assert_eq!(
|
|
ExplainStatement::new()
|
|
.serialize_binary()
|
|
.statement(
|
|
Query::select()
|
|
.column(Char::Character)
|
|
.from(Char::Table)
|
|
.to_owned(),
|
|
)
|
|
.to_string(PostgresQueryBuilder),
|
|
r#"EXPLAIN (SERIALIZE BINARY) SELECT "character" FROM "character""#
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn explain_postgres_serialize_none() {
|
|
assert_eq!(
|
|
ExplainStatement::new()
|
|
.serialize_none()
|
|
.statement(
|
|
Query::select()
|
|
.column(Char::Character)
|
|
.from(Char::Table)
|
|
.to_owned(),
|
|
)
|
|
.to_string(PostgresQueryBuilder),
|
|
r#"EXPLAIN (SERIALIZE NONE) SELECT "character" FROM "character""#
|
|
);
|
|
}
|