Rafael Ávila de Espíndola
7f0a434cfa
types: Move abstract_type visit to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:43 -07:00
Rafael Ávila de Espíndola
dccefd1ddb
types: Move uuid_type_impl to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:43 -07:00
Rafael Ávila de Espíndola
038728a381
types: Move inet_addr_type_impl to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:43 -07:00
Rafael Ávila de Espíndola
1966416cb3
types: Move varint_type_impl to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:43 -07:00
Rafael Ávila de Espíndola
9229f99c86
types: Move timeuuid_type_impl to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:43 -07:00
Rafael Ávila de Espíndola
993f132619
types: Move date_type_impl to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:43 -07:00
Rafael Ávila de Espíndola
a299ed3b9b
types: Move bytes_type_impl to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:43 -07:00
Rafael Ávila de Espíndola
09ac2a1bc6
types: Move utf8_type_impl to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:43 -07:00
Rafael Ávila de Espíndola
da472a65ec
types: Move ascii_type_impl to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:43 -07:00
Rafael Ávila de Espíndola
b98bac65b0
types: Move string_type_impl to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:43 -07:00
Rafael Ávila de Espíndola
3e5b1e2630
types: Move time_type_impl to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:43 -07:00
Rafael Ávila de Espíndola
909df932ac
types: Move simple_date_type_impl to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:43 -07:00
Rafael Ávila de Espíndola
8f3bebb6e8
types: Move timestamp_type_impl to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:43 -07:00
Rafael Ávila de Espíndola
3260153d35
types: Move duration_type_impl to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:42 -07:00
Rafael Ávila de Espíndola
2f6a26b1c1
types: Move decimal_type_impl to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:42 -07:00
Rafael Ávila de Espíndola
480ca52b59
types: Move floating point types to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:42 -07:00
Rafael Ávila de Espíndola
6a4ec7488e
types: Move boolean_type_impl to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:42 -07:00
Rafael Ávila de Espíndola
404b26d3fa
types: Move integer types to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:42 -07:00
Rafael Ávila de Espíndola
bd3e725605
types: Move integer_type_impl to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:42 -07:00
Rafael Ávila de Espíndola
03aca28dc5
types: Move simple_type_impl to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:42 -07:00
Rafael Ávila de Espíndola
e8ba37fa5a
types: Move counter_type_impl to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:42 -07:00
Rafael Ávila de Espíndola
cb03c79a48
types: Move empty_type_impl to a header
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:42 -07:00
Rafael Ávila de Espíndola
1cb7127bf3
types: Make abstract_type::serialize a static helper
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:42 -07:00
Rafael Ávila de Espíndola
b175657ee7
types: Devirtualize abstract_type::validate
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:42 -07:00
Rafael Ávila de Espíndola
bf96f1111c
types: Make abstract_type::serialized_size a static helper
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 16:25:41 -07:00
Rafael Ávila de Espíndola
6831e05471
types: Move functions that use abstract_type::serialized_size out of line
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
1e0663c56c
types: Devirtualize abstract_type::from_string
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
68b26047cc
types: Devirtualize abstract_type::serialize
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
18da5f9001
types: Devirtualize abstract_type::from_json_object
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
b987b2dcbe
types: Devirtualize abstract_type::to_json_string
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
b4bc888eac
types: Refactor abstract_type::serialized_size
...
The following logic was duplicated:
* For all types, if value is null, the result is zero.
* For non collection types, if the native object is empty, the result
is zero.
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
968365b7e3
types: Devirtualize abstract_type::serialized_size
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
37686964f0
types: Devirtualize abstract_type::hash
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
396f5c7656
types: Devirtualize abstract_type::native_typeid
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
492043a77d
types: Devirtualize abstract_type::native_value_delete
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
4d849d7742
types: Devirtualize abstract_type::native_value_clone
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
ba887b7e56
types: Delete abstract_type::native_value_destroy
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
5c0e78d70c
types: Delete abstract_type::native_value_move
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
2bc6471a1e
types: Delete abstract_type::native_value_copy
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
33394dfdc1
types: Delete abstract_type::native_value_size
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
c22ca2f9c9
types: Delete abstract_type::native_value_alignment
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
37c0f5b985
types: Devirtualize get_string
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
f633f70616
types: Devirtualize abstract_type::is_value_compatible_with_internal
...
It now is a static helper.
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
19c9a033d9
types: Devirtualize abstract_type::is_compatible_with
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
d245d08045
types: Devirtualize abstract_type::is_string
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
ae30d78ca9
types: Devirtualize abstract_type::equal
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
f087756684
types: Implement less with compare
...
We defined less for some types and compare for others. There is no
type for which compare is substantially more expensive, so define it
for all types and implement less with compare.
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
9bbf55e9c0
types: Devirtualize abstract_type::compare
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
a5daa8d258
types: Devirtualize abstract_type::less
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00
Rafael Ávila de Espíndola
a3e898a648
types: Devirtualize abstract_type::deserialize
...
Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com >
2019-08-14 10:02:00 -07:00