| 58 | } |
| 59 | |
| 60 | FORCE_INLINE |
| 61 | gdv_int32 mem_compare(const char* left, gdv_int32 left_len, const char* right, |
| 62 | gdv_int32 right_len) { |
| 63 | int min = left_len; |
| 64 | if (right_len < min) { |
| 65 | min = right_len; |
| 66 | } |
| 67 | |
| 68 | int cmp_ret = memcmp(left, right, min); |
| 69 | if (cmp_ret != 0) { |
| 70 | return cmp_ret; |
| 71 | } else { |
| 72 | return left_len - right_len; |
| 73 | } |
| 74 | } |
| 75 | |
| 76 | // Expand inner macro for all varlen types. |
| 77 | #define VAR_LEN_OP_TYPES(INNER, NAME, OP) \ |