Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 4 of 4 for jsonpathEval (0.12 sec)

  1. internal/s3select/sql/jsonpath.go

    	errWildcardObjectUsageInvalid = errors.New("Invalid usage of object wildcard")
    )
    
    // jsonpathEval evaluates a JSON path and returns the value at the path.
    // If the value should be considered flat (from wildcards) any array returned should be considered individual values.
    func jsonpathEval(p []*JSONPathElement, v interface{}) (r interface{}, flat bool, err error) {
    	// fmt.Printf("JPATHexpr: %v jsonobj: %v\n\n", p, v)
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Mon Sep 23 19:35:41 UTC 2024
    - 3.5K bytes
    - Viewed (0)
  2. internal/s3select/sql/statement.go

    	}
    	_, rawVal := input.Raw()
    
    	if format != "json" {
    		return nil, errDataSource(errors.New("path not supported"))
    	}
    	switch rec := rawVal.(type) {
    	case jstream.KVS:
    		txedRec, _, err := jsonpathEval(e.selectAST.From.Table.PathExpr[1:], rec)
    		if err != nil {
    			return nil, err
    		}
    
    		var kvs jstream.KVS
    		switch v := txedRec.(type) {
    		case jstream.KVS:
    			kvs = v
    
    		case []interface{}:
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Mon Sep 23 19:35:41 UTC 2024
    - 8.9K bytes
    - Viewed (0)
  3. internal/s3select/sql/jsonpath_test.go

    			recs, err := getJSONStructs(b)
    			if err != nil || len(recs) != 3 {
    				t.Fatalf("%v or length was not 3", err)
    			}
    
    			for j, rec := range recs {
    				// fmt.Println(rec)
    				r, _, err := jsonpathEval(jp.PathExpr, rec)
    				if err != nil {
    					t.Errorf("Error: %d %d %v", i, j, err)
    				}
    				if !reflect.DeepEqual(r, tc.res[j]) {
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Mon Sep 23 19:35:41 UTC 2024
    - 2.8K bytes
    - Viewed (0)
  4. internal/s3select/sql/evaluate.go

    	switch rowVal := rawVal.(type) {
    	case jstream.KVS, simdjson.Object:
    		if len(pathExpr) == 0 {
    			pathExpr = []*JSONPathElement{{Key: &ObjectKey{ID: e.BaseKey}}}
    		}
    
    		result, _, err := jsonpathEval(pathExpr, rowVal)
    		if err != nil {
    			return nil, err
    		}
    
    		return jsonToValue(result)
    	default:
    		if pathExpr[len(pathExpr)-1].Key == nil {
    			return nil, errInvalidKeypath
    		}
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Mon Sep 23 19:35:41 UTC 2024
    - 12K bytes
    - Viewed (0)
Back to top