@@ -278,63 +278,58 @@ impl From<GenericError> for DataFusionError {
278
278
279
279
impl Display for DataFusionError {
280
280
fn fmt ( & self , f : & mut Formatter ) -> std:: fmt:: Result {
281
- let back_trace_desc: String = DataFusionError :: get_back_trace ( ) ;
282
-
283
281
match * self {
284
282
DataFusionError :: ArrowError ( ref desc) => {
285
- write ! ( f, "Arrow error: {desc}{back_trace_desc} " )
283
+ write ! ( f, "Arrow error: {desc}" )
286
284
}
287
285
#[ cfg( feature = "parquet" ) ]
288
286
DataFusionError :: ParquetError ( ref desc) => {
289
- write ! ( f, "Parquet error: {desc}{back_trace_desc} " )
287
+ write ! ( f, "Parquet error: {desc}" )
290
288
}
291
289
#[ cfg( feature = "avro" ) ]
292
290
DataFusionError :: AvroError ( ref desc) => {
293
- write ! ( f, "Avro error: {desc}{back_trace_desc} " )
291
+ write ! ( f, "Avro error: {desc}" )
294
292
}
295
293
DataFusionError :: IoError ( ref desc) => {
296
- write ! ( f, "IO error: {desc}{back_trace_desc} " )
294
+ write ! ( f, "IO error: {desc}" )
297
295
}
298
296
DataFusionError :: SQL ( ref desc) => {
299
- write ! ( f, "SQL error: {desc:?}{back_trace_desc} " )
297
+ write ! ( f, "SQL error: {desc:?}" )
300
298
}
301
299
DataFusionError :: Configuration ( ref desc) => {
302
300
write ! ( f, "Invalid or Unsupported Configuration: {desc}" )
303
301
}
304
302
DataFusionError :: NotImplemented ( ref desc) => {
305
- write ! (
306
- f,
307
- "This feature is not implemented: {desc}{back_trace_desc}"
308
- )
303
+ write ! ( f, "This feature is not implemented: {desc}" )
309
304
}
310
305
DataFusionError :: Internal ( ref desc) => {
311
306
write ! ( f, "Internal error: {desc}. This was likely caused by a bug in DataFusion's \
312
- code and we would welcome that you file an bug report in our issue tracker{back_trace_desc} ")
307
+ code and we would welcome that you file an bug report in our issue tracker")
313
308
}
314
309
DataFusionError :: Plan ( ref desc) => {
315
- write ! ( f, "Error during planning: {desc}{back_trace_desc} " )
310
+ write ! ( f, "Error during planning: {desc}" )
316
311
}
317
312
DataFusionError :: SchemaError ( ref desc) => {
318
- write ! ( f, "Schema error: {desc}{back_trace_desc} " )
313
+ write ! ( f, "Schema error: {desc}" )
319
314
}
320
315
DataFusionError :: Execution ( ref desc) => {
321
- write ! ( f, "Execution error: {desc}{back_trace_desc} " )
316
+ write ! ( f, "Execution error: {desc}" )
322
317
}
323
318
DataFusionError :: ResourcesExhausted ( ref desc) => {
324
- write ! ( f, "Resources exhausted: {desc}{back_trace_desc} " )
319
+ write ! ( f, "Resources exhausted: {desc}" )
325
320
}
326
321
DataFusionError :: External ( ref desc) => {
327
- write ! ( f, "External error: {desc}{back_trace_desc} " )
322
+ write ! ( f, "External error: {desc}" )
328
323
}
329
324
#[ cfg( feature = "object_store" ) ]
330
325
DataFusionError :: ObjectStore ( ref desc) => {
331
- write ! ( f, "Object Store error: {desc}{back_trace_desc} " )
326
+ write ! ( f, "Object Store error: {desc}" )
332
327
}
333
328
DataFusionError :: Context ( ref desc, ref err) => {
334
329
write ! ( f, "{}\n caused by\n {}" , desc, * err)
335
330
}
336
331
DataFusionError :: Substrait ( ref desc) => {
337
- write ! ( f, "Substrait error: {desc}{back_trace_desc} " )
332
+ write ! ( f, "Substrait error: {desc}" )
338
333
}
339
334
}
340
335
}
@@ -424,7 +419,7 @@ impl DataFusionError {
424
419
. to_string ( )
425
420
}
426
421
427
- fn get_back_trace ( ) -> String {
422
+ pub fn get_back_trace ( ) -> String {
428
423
let back_trace = Backtrace :: capture ( ) ;
429
424
if back_trace. status ( ) == BacktraceStatus :: Captured {
430
425
return format ! ( "\n \n backtrace: {}" , back_trace) ;
@@ -472,7 +467,7 @@ macro_rules! make_error {
472
467
#[ macro_export]
473
468
macro_rules! $NAME {
474
469
( $d( $d args: expr) , * ) => {
475
- Err ( DataFusionError :: $ERR( format!( $d( $d args) , * ) . into( ) ) )
470
+ Err ( DataFusionError :: $ERR( format!( "{}{}" , format! ( $d( $d args) , * ) , DataFusionError :: get_back_trace ( ) ) . into( ) ) )
476
471
}
477
472
}
478
473
}
0 commit comments