tidwall aa1caa6131 Use zero for undefined fields in where expressions
This commit fixes an issue where expressions were
silently failing when encountering undefined fields.
Instead they should be treating the undefined field like
the number zero. This is required to stay compatible with
how Tile38 handles zeros.
https://tile38.com/commands/intersects/#fields

Fixes #754
2024-11-05 14:03:23 -07:00
..
2021-09-29 07:19:00 -07:00
2021-07-31 07:42:58 -07:00
2022-09-27 10:06:47 -07:00
2022-09-27 10:06:47 -07:00
2022-09-23 07:30:03 -07:00
2022-11-03 10:07:17 -07:00
2022-09-27 14:06:24 -07:00
2022-09-26 13:26:46 -07:00
2022-09-26 13:26:46 -07:00
2022-09-26 13:26:46 -07:00
2022-09-24 13:41:36 -07:00
2022-11-03 10:07:17 -07:00
2022-09-27 14:06:24 -07:00
2024-04-11 11:16:44 +08:00
2022-09-26 13:26:46 -07:00
2022-09-27 08:18:17 -07:00
2024-05-06 21:59:32 -07:00
2022-09-26 13:26:46 -07:00

Tile38 Integration Testing

  • Uses Redis protocol
  • The Tile38 data is flushed before every DoBatch

A basic test operation looks something like:

func keys_SET_test(mc *mockServer) error {
	return mc.DoBatch([][]interface{}{
        {"SET", "fleet", "truck1", "POINT", 33.0001, -112.0001}, {"OK"},
        {"GET", "fleet", "truck1", "POINT"}, {"[33.0001 -112.0001]"},
    }
}

Using a custom function:

func keys_MATCH_test(mc *mockServer) error {
	return mc.DoBatch([][]interface{}{
        {"SET", "fleet", "truck1", "POINT", 33.0001, -112.0001}, {
            func(v interface{}) (resp, expect interface{}) {
                // v is the value as strings or slices of strings
                // test will pass as long as `resp` and `expect` are the same.
                return v, "OK"
            },
		},
    }
}