@@ -52,8 +52,9 @@ type Explain struct {
52
52
Plan Plan `json:"Plan"`
53
53
Triggers []interface {} `json:"Triggers"`
54
54
55
- PlanningTime float64 `json:"Planning Time"`
56
- ExecutionTime float64 `json:"Execution Time"`
55
+ Settings map [string ]string `json:"Settings"`
56
+ PlanningTime float64 `json:"Planning Time"`
57
+ ExecutionTime float64 `json:"Execution Time"`
57
58
TotalTime float64
58
59
59
60
TotalCost float64
@@ -533,6 +534,10 @@ func (ex *Explain) writePlanText(writer io.Writer, plan *Plan, prefix string, de
533
534
currentPrefix = prefix + subplanPrefix + " "
534
535
}
535
536
537
+ if len (ex .Settings ) > 0 {
538
+ _ , _ = outputFn ("Settings: %s" , printMap (ex .Settings ))
539
+ }
540
+
536
541
writePlanTextNodeDetails (outputFn , plan )
537
542
538
543
for index := range plan .Plans {
@@ -757,3 +762,13 @@ func formatDetails(plan *Plan) string {
757
762
758
763
return ""
759
764
}
765
+
766
+ func printMap (items map [string ]string ) string {
767
+ list := []string {}
768
+
769
+ for key , value := range items {
770
+ list = append (list , fmt .Sprintf ("%s = '%v'" , key , value ))
771
+ }
772
+
773
+ return strings .Join (list , ", " )
774
+ }
0 commit comments