Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 4 of 4 for pathExpr (0.08 sec)

  1. internal/s3select/sql/evaluate.go

    	alias := tableAlias
    	if tableAlias == "" {
    		alias = baseTableName
    	}
    	pathExpr := e.StripTableAlias(alias)
    	_, rawVal := r.Raw()
    	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
    		}
    
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Mon Sep 23 19:35:41 UTC 2024
    - 12K bytes
    - Viewed (0)
  2. internal/s3select/sql/statement.go

    	if !strings.EqualFold(from.Table.BaseKey.String(), baseTableName) {
    		return errBadTableName(errors.New("table name must be `s3object`"))
    	}
    
    	if len(from.Table.PathExpr) > 0 {
    		if !from.Table.PathExpr[0].ArrayWildcard {
    			return errBadTableName(errors.New("keypath table name is invalid - please check the service documentation"))
    		}
    	}
    	return nil
    }
    
    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]) {
    					fmt.Printf("%#v (%v) != %v (%v)\n", r, reflect.TypeOf(r), tc.res[j], reflect.TypeOf(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/jsonpath.go

    // 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)
    	if len(p) == 0 || v == nil {
    		return v, false, nil
    	}
    
    	switch {
    	case p[0].Key != nil:
    		key := p[0].Key.keyString()
    
    		switch kvs := v.(type) {
    		case jstream.KVS:
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Mon Sep 23 19:35:41 UTC 2024
    - 3.5K bytes
    - Viewed (0)
Back to top