@@ -713,27 +713,27 @@ type stmtResponse struct {
713
713
}
714
714
715
715
type stmtStats struct {
716
- State string `json:"state"`
717
- Scheduled bool `json:"scheduled"`
718
- Nodes int `json:"nodes"`
719
- TotalSplits int `json:"totalSplits"`
720
- QueuesSplits int `json:"queuedSplits"`
721
- RunningSplits int `json:"runningSplits"`
722
- CompletedSplits int `json:"completedSplits"`
723
- UserTimeMillis int `json:"userTimeMillis"`
724
- CPUTimeMillis int64 `json:"cpuTimeMillis"`
725
- WallTimeMillis int64 `json:"wallTimeMillis"`
726
- QueuedTimeMillis int64 `json:"queuedTimeMillis"`
727
- ElapsedTimeMillis int64 `json:"elapsedTimeMillis"`
728
- ProcessedRows int64 `json:"processedRows"`
729
- ProcessedBytes int64 `json:"processedBytes"`
730
- PhysicalInputBytes int64 `json:"physicalInputBytes"`
731
- PhysicalWrittenBytes int64 `json:"physicalWrittenBytes"`
732
- PeakMemoryBytes int64 `json:"peakMemoryBytes"`
733
- SpilledBytes int64 `json:"spilledBytes"`
734
- RootStage stmtStage `json:"rootStage"`
735
- ProgressPercentage float32 `json:"progressPercentage"`
736
- RunningPercentage float32 `json:"runningPercentage"`
716
+ State string `json:"state"`
717
+ Scheduled bool `json:"scheduled"`
718
+ Nodes int `json:"nodes"`
719
+ TotalSplits int `json:"totalSplits"`
720
+ QueuesSplits int `json:"queuedSplits"`
721
+ RunningSplits int `json:"runningSplits"`
722
+ CompletedSplits int `json:"completedSplits"`
723
+ UserTimeMillis int `json:"userTimeMillis"`
724
+ CPUTimeMillis int64 `json:"cpuTimeMillis"`
725
+ WallTimeMillis int64 `json:"wallTimeMillis"`
726
+ QueuedTimeMillis int64 `json:"queuedTimeMillis"`
727
+ ElapsedTimeMillis int64 `json:"elapsedTimeMillis"`
728
+ ProcessedRows int64 `json:"processedRows"`
729
+ ProcessedBytes int64 `json:"processedBytes"`
730
+ PhysicalInputBytes int64 `json:"physicalInputBytes"`
731
+ PhysicalWrittenBytes int64 `json:"physicalWrittenBytes"`
732
+ PeakMemoryBytes int64 `json:"peakMemoryBytes"`
733
+ SpilledBytes int64 `json:"spilledBytes"`
734
+ RootStage stmtStage `json:"rootStage"`
735
+ ProgressPercentage jsonFloat64 `json:"progressPercentage"`
736
+ RunningPercentage jsonFloat64 `json:"runningPercentage"`
737
737
}
738
738
739
739
type ErrTrino struct {
@@ -792,6 +792,28 @@ type stmtStage struct {
792
792
SubStages []stmtStage `json:"subStages"`
793
793
}
794
794
795
+ type jsonFloat64 float64
796
+
797
+ func (f * jsonFloat64 ) UnmarshalJSON (data []byte ) error {
798
+ var v float64
799
+ err := json .Unmarshal (data , & v )
800
+ if err != nil {
801
+ var jsonErr * json.UnmarshalTypeError
802
+ if errors .As (err , & jsonErr ) {
803
+ if f != nil {
804
+ * f = 0
805
+ }
806
+ return nil
807
+ }
808
+ return err
809
+ }
810
+ p := (* float64 )(f )
811
+ * p = v
812
+ return nil
813
+ }
814
+
815
+ var _ json.Unmarshaler = new (jsonFloat64 )
816
+
795
817
func (st * driverStmt ) Query (args []driver.Value ) (driver.Rows , error ) {
796
818
return nil , driver .ErrSkip
797
819
}
0 commit comments