Commit Graph

17 Commits

Author SHA1 Message Date
Tomasz Grabiec
b34cdd76ae db: Make the whole database printable
For debugging purposes.
2015-04-15 20:33:48 +02:00
Tomasz Grabiec
66924090c6 Merge tag 'avi/functions/v1'
From Avi:

This patchsets completes the conversion of scalar functions (TOKEN is still
missing, and maybe others, but the infrastructure is there).

Conflicts:
	database.cc
2015-04-02 12:48:21 +02:00
Avi Kivity
bb4b303bba db: add ostream operators for atomic_cell 2015-04-01 20:12:39 +03:00
Calle Wilund
6f6f924c9c Serializer object(s) for internal use
For serializing to commit log, and potentially internal wire messaging.

Note: intentionally incompatible with stock C wire/serial format.

Note: intentionally separate from the CQL-centric serialization
for a few reasons.

1.) Need "bulk serializers" for internal objects (mutation etc)
which might not fit well into the "types.hh" serializer schemes.
2.) No need for polymorphism/virtual type parameters since we know
exactly what we serialize and to where.
2015-04-01 10:08:00 +02:00
Tomasz Grabiec
69b4dd76e8 atomic_cell: Add is_live() version which takes a tombstone
It determines if the cell is live given its cointainer has this
tombstone.
2015-03-30 09:07:00 +02:00
Avi Kivity
6f7187fa43 db: drop unused atomic_cell::is_dead() parameter 2015-03-23 21:54:22 +02:00
Tomasz Grabiec
90298af614 db: Cleanup atomic_cell naming
atomic_cell -> atomic_cell_type
atomic_cell::one -> atomic_cell
atomic_cell::view -> atomic_cell_view
2015-03-20 18:59:29 +01:00
Avi Kivity
56d4592e00 atomic_cell: add view::serialize() helper 2015-03-12 09:56:53 +02:00
Tomasz Grabiec
3db3207b85 Merge branch seastar-dev.git 'collections'
Collections support from Avi.
2015-03-05 20:25:48 +01:00
Avi Kivity
42a9c0f7d3 atomic_cell: export merge_column 2015-03-05 19:03:29 +02:00
Avi Kivity
df22293baf atomic_cell: export compare_atomic_cell_for_merge
Will be used for merging maps.
2015-03-05 18:11:37 +02:00
Avi Kivity
57b6d4ada5 atomic_cell: add collection support
We leave interpretation to the backing type (map/set/list), so there is
not much code here.
2015-03-05 14:03:36 +02:00
Avi Kivity
2f8be37fca atomic_cell_or_collection: allow construction from atomic_cell
Since an atomic_cell has an is-a relationship to atomic_cell_or_collection,
we can allow direct conversion.  Type information is only lost, not added.
2015-03-05 14:03:36 +02:00
Avi Kivity
76d1256565 atomic_cell: add serialize() method
Since atomic_cell is already in serialized form, the implementation is
simple.
2015-03-05 14:03:36 +02:00
Avi Kivity
7eba98f18c atomic_cell: add missing include 2015-03-05 11:17:43 +02:00
Tomasz Grabiec
55fae09bf9 db: Remove unused parameter from atomic_cell::view::is_dead() 2015-03-05 10:09:38 +01:00
Avi Kivity
6d18aa8f20 Decompose database.hh, types.hh into smaller headers
Avoid include hell for new code.
2015-03-04 16:18:48 +02:00