Explorar el Código

fix(sink): assert mapdata in fields

Signed-off-by: yisaer <disxiaofei@163.com>
Song Gao hace 1 año
padre
commit
bb79d3ae6e
Se han modificado 1 ficheros con 3 adiciones y 2 borrados
  1. 3 2
      extensions/sinks/sql/sql.go

+ 3 - 2
extensions/sinks/sql/sql.go

@@ -17,10 +17,11 @@ package main
 import (
 import (
 	"encoding/json"
 	"encoding/json"
 	"fmt"
 	"fmt"
-	"github.com/lf-edge/ekuiper/internal/topo/transform"
 	"reflect"
 	"reflect"
 	"strings"
 	"strings"
 
 
+	"github.com/lf-edge/ekuiper/internal/topo/transform"
+
 	"github.com/lf-edge/ekuiper/extensions/sqldatabase"
 	"github.com/lf-edge/ekuiper/extensions/sqldatabase"
 	"github.com/lf-edge/ekuiper/extensions/sqldatabase/driver"
 	"github.com/lf-edge/ekuiper/extensions/sqldatabase/driver"
 	"github.com/lf-edge/ekuiper/extensions/util"
 	"github.com/lf-edge/ekuiper/extensions/util"
@@ -65,7 +66,7 @@ func (t *sqlConfig) getKeyValues(ctx api.StreamContext, mapData map[string]inter
 	if len(t.Fields) != 0 {
 	if len(t.Fields) != 0 {
 		for _, k := range t.Fields {
 		for _, k := range t.Fields {
 			keys = append(keys, k)
 			keys = append(keys, k)
-			if v, ok := mapData[k]; ok {
+			if v, ok := mapData[k]; ok && v != nil {
 				if reflect.String == reflect.TypeOf(v).Kind() {
 				if reflect.String == reflect.TypeOf(v).Kind() {
 					vals = append(vals, fmt.Sprintf("'%v'", v))
 					vals = append(vals, fmt.Sprintf("'%v'", v))
 				} else {
 				} else {