Skip to content

Commit 6e2ff29

Browse files
authored
Derive Debug for logical plan nodes (#11757)
1 parent 921c3b6 commit 6e2ff29

File tree

1 file changed

+20
-20
lines changed
  • datafusion/expr/src/logical_plan

1 file changed

+20
-20
lines changed

datafusion/expr/src/logical_plan/plan.rs

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1895,7 +1895,7 @@ impl ToStringifiedPlan for LogicalPlan {
18951895
}
18961896

18971897
/// Produces no rows: An empty relation with an empty schema
1898-
#[derive(Clone, PartialEq, Eq, Hash)]
1898+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
18991899
pub struct EmptyRelation {
19001900
/// Whether to produce a placeholder row
19011901
pub produce_one_row: bool,
@@ -1925,7 +1925,7 @@ pub struct EmptyRelation {
19251925
/// intermediate table, then empty the intermediate table.
19261926
///
19271927
/// [Postgres Docs]: https://www.postgresql.org/docs/current/queries-with.html#QUERIES-WITH-RECURSIVE
1928-
#[derive(Clone, PartialEq, Eq, Hash)]
1928+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
19291929
pub struct RecursiveQuery {
19301930
/// Name of the query
19311931
pub name: String,
@@ -1942,7 +1942,7 @@ pub struct RecursiveQuery {
19421942
/// Values expression. See
19431943
/// [Postgres VALUES](https://www.postgresql.org/docs/current/queries-values.html)
19441944
/// documentation for more details.
1945-
#[derive(Clone, PartialEq, Eq, Hash)]
1945+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
19461946
pub struct Values {
19471947
/// The table schema
19481948
pub schema: DFSchemaRef,
@@ -2023,7 +2023,7 @@ pub fn projection_schema(input: &LogicalPlan, exprs: &[Expr]) -> Result<Arc<DFSc
20232023
}
20242024

20252025
/// Aliased subquery
2026-
#[derive(Clone, PartialEq, Eq, Hash)]
2026+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
20272027
// mark non_exhaustive to encourage use of try_new/new()
20282028
#[non_exhaustive]
20292029
pub struct SubqueryAlias {
@@ -2071,7 +2071,7 @@ impl SubqueryAlias {
20712071
///
20722072
/// Filter should not be created directly but instead use `try_new()`
20732073
/// and that these fields are only pub to support pattern matching
2074-
#[derive(Clone, PartialEq, Eq, Hash)]
2074+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
20752075
#[non_exhaustive]
20762076
pub struct Filter {
20772077
/// The predicate expression, which must have Boolean type.
@@ -2174,7 +2174,7 @@ impl Filter {
21742174
}
21752175

21762176
/// Window its input based on a set of window spec and window function (e.g. SUM or RANK)
2177-
#[derive(Clone, PartialEq, Eq, Hash)]
2177+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
21782178
pub struct Window {
21792179
/// The incoming logical plan
21802180
pub input: Arc<LogicalPlan>,
@@ -2368,7 +2368,7 @@ impl TableScan {
23682368
}
23692369

23702370
/// Apply Cross Join to two logical plans
2371-
#[derive(Clone, PartialEq, Eq, Hash)]
2371+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
23722372
pub struct CrossJoin {
23732373
/// Left input
23742374
pub left: Arc<LogicalPlan>,
@@ -2379,7 +2379,7 @@ pub struct CrossJoin {
23792379
}
23802380

23812381
/// Repartition the plan based on a partitioning scheme.
2382-
#[derive(Clone, PartialEq, Eq, Hash)]
2382+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
23832383
pub struct Repartition {
23842384
/// The incoming logical plan
23852385
pub input: Arc<LogicalPlan>,
@@ -2388,7 +2388,7 @@ pub struct Repartition {
23882388
}
23892389

23902390
/// Union multiple inputs
2391-
#[derive(Clone, PartialEq, Eq, Hash)]
2391+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
23922392
pub struct Union {
23932393
/// Inputs to merge
23942394
pub inputs: Vec<Arc<LogicalPlan>>,
@@ -2398,7 +2398,7 @@ pub struct Union {
23982398

23992399
/// Prepare a statement but do not execute it. Prepare statements can have 0 or more
24002400
/// `Expr::Placeholder` expressions that are filled in during execution
2401-
#[derive(Clone, PartialEq, Eq, Hash)]
2401+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
24022402
pub struct Prepare {
24032403
/// The name of the statement
24042404
pub name: String,
@@ -2430,7 +2430,7 @@ pub struct Prepare {
24302430
/// | parent_span_id | Utf8 | YES |
24312431
/// +--------------------+-----------------------------+-------------+
24322432
/// ```
2433-
#[derive(Clone, PartialEq, Eq, Hash)]
2433+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
24342434
pub struct DescribeTable {
24352435
/// Table schema
24362436
pub schema: Arc<Schema>,
@@ -2440,7 +2440,7 @@ pub struct DescribeTable {
24402440

24412441
/// Produces a relation with string representations of
24422442
/// various parts of the plan
2443-
#[derive(Clone, PartialEq, Eq, Hash)]
2443+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
24442444
pub struct Explain {
24452445
/// Should extra (detailed, intermediate plans) be included?
24462446
pub verbose: bool,
@@ -2456,7 +2456,7 @@ pub struct Explain {
24562456

24572457
/// Runs the actual plan, and then prints the physical plan with
24582458
/// with execution metrics.
2459-
#[derive(Clone, PartialEq, Eq, Hash)]
2459+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
24602460
pub struct Analyze {
24612461
/// Should extra detail be included?
24622462
pub verbose: bool,
@@ -2471,7 +2471,7 @@ pub struct Analyze {
24712471
// the manual `PartialEq` is removed in favor of a derive.
24722472
// (see `PartialEq` the impl for details.)
24732473
#[allow(clippy::derived_hash_with_manual_eq)]
2474-
#[derive(Clone, Eq, Hash)]
2474+
#[derive(Debug, Clone, Eq, Hash)]
24752475
pub struct Extension {
24762476
/// The runtime extension operator
24772477
pub node: Arc<dyn UserDefinedLogicalNode>,
@@ -2487,7 +2487,7 @@ impl PartialEq for Extension {
24872487
}
24882488

24892489
/// Produces the first `n` tuples from its input and discards the rest.
2490-
#[derive(Clone, PartialEq, Eq, Hash)]
2490+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
24912491
pub struct Limit {
24922492
/// Number of rows to skip before fetch
24932493
pub skip: usize,
@@ -2499,7 +2499,7 @@ pub struct Limit {
24992499
}
25002500

25012501
/// Removes duplicate rows from the input
2502-
#[derive(Clone, PartialEq, Eq, Hash)]
2502+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
25032503
pub enum Distinct {
25042504
/// Plain `DISTINCT` referencing all selection expressions
25052505
All(Arc<LogicalPlan>),
@@ -2518,7 +2518,7 @@ impl Distinct {
25182518
}
25192519

25202520
/// Removes duplicate rows from the input
2521-
#[derive(Clone, PartialEq, Eq, Hash)]
2521+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
25222522
pub struct DistinctOn {
25232523
/// The `DISTINCT ON` clause expression list
25242524
pub on_expr: Vec<Expr>,
@@ -2604,7 +2604,7 @@ impl DistinctOn {
26042604

26052605
/// Aggregates its input based on a set of grouping and aggregate
26062606
/// expressions (e.g. SUM).
2607-
#[derive(Clone, PartialEq, Eq, Hash)]
2607+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
26082608
// mark non_exhaustive to encourage use of try_new/new()
26092609
#[non_exhaustive]
26102610
pub struct Aggregate {
@@ -2767,7 +2767,7 @@ fn calc_func_dependencies_for_project(
27672767
}
27682768

27692769
/// Sorts its input according to a list of sort expressions.
2770-
#[derive(Clone, PartialEq, Eq, Hash)]
2770+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
27712771
pub struct Sort {
27722772
/// The sort expressions
27732773
pub expr: Vec<Expr>,
@@ -2778,7 +2778,7 @@ pub struct Sort {
27782778
}
27792779

27802780
/// Join two logical plans on one or more join columns
2781-
#[derive(Clone, PartialEq, Eq, Hash)]
2781+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
27822782
pub struct Join {
27832783
/// Left input
27842784
pub left: Arc<LogicalPlan>,

0 commit comments

Comments
 (0)