Commit Graph

12 Commits

Author SHA1 Message Date
Pekka Enberg
5b9901d693 cql3/query_options: Encapsulate underlying values
Encapsulate the '_values' vector to make it easier to switch the
underlying type from bytes_opt to bytes_view_opt.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-08-17 09:48:58 +03:00
Paweł Dziepak
6788a7afdb cql3: remove tombstone argument from do_{add, put, append}
Signed-off-by: Paweł Dziepak <pdziepak@cloudius-systems.com>
2015-07-22 15:30:13 +02:00
Paweł Dziepak
69d0eba9c7 cql3: fix setting collections to null
Before this patch the tombstone created in setter::execute() was never
applied if the new collection value was null.

Signed-off-by: Paweł Dziepak <pdziepak@cloudius-systems.com>
2015-07-22 15:29:54 +02:00
Paweł Dziepak
6107c6dd09 types: rename why() to what() in exception classes
Signed-off-by: Paweł Dziepak <pdziepak@cloudius-systems.com>
2015-07-16 16:23:14 +02:00
Glauber Costa
655c4eb104 cql sets: fix less comparator
The comparator used to sort the set should the underlying types' comparator,
not the set's comparator.

Using the latter will eventually crash with out of bound reads if we're lucky (I was),
or sort incorrectly if we are unlucky.

Signed-off-by: Glauber Costa <glommer@cloudius-systems.com>
2015-07-07 20:24:43 -04:00
Avi Kivity
fb28054c2e cql3: convert sets::marker::bind to C++ 2015-07-07 14:31:35 +02:00
Avi Kivity
6290dee438 db: const correctness for abstract_type and friends
Types are immutable.
2015-04-29 15:40:38 +03:00
Avi Kivity
3d38708434 cql3: pass a database& instance to most foo::raw::prepare() variants
To prepare a user-defined type, we need to look up its name in the keyspace.
While we get the keyspace name as an argument to prepare(), it is useless
without the database instance.

Fix the problem by passing a database reference along with the keyspace.
This precolates through the class structure, so most cql3 raw types end up
receiving this treatment.

Origin gets along without it by using a singleton.  We can't do this due
to sharding (we could use a thread-local instance, but that's ugly too).

Hopefully the transition to a visitor will clean this up.
2015-04-20 16:15:34 +03:00
Avi Kivity
a5b675b988 cql3: move maps.hh code to .cc 2015-04-15 21:21:05 +03:00
Avi Kivity
05e03f0b88 cql3: convert sets::discarder to C++ 2015-03-27 16:10:35 +01:00
Avi Kivity
22f24cc5f6 cql3: implement sets::setter tombstone
Kill existing cells before adding new ones.
2015-03-27 16:09:41 +01:00
Avi Kivity
f7f4a18cf8 cql3: move sets.hh code into .cc file 2015-03-24 14:53:48 +02:00