Commit Graph

33 Commits

Author SHA1 Message Date
Tomasz Grabiec
9e6b4e823b cql3: Use move semantics where applicable 2015-02-04 10:29:04 +01:00
Tomasz Grabiec
d243fb7a01 cql3: Pass sstrings as const& where applicable 2015-02-04 10:29:00 +01:00
Tomasz Grabiec
d8982abf81 cql3: Allow bind_and_get() to return an optional value
In Origin it can be null and it has a different meaning than empty
value. See org.apache.cassandra.cql3.Constants.Setter#execute.
2015-01-29 19:41:00 +01:00
Tomasz Grabiec
3c3e3e5140 cql3: add missing multi-inclusion guard to function_call.hh 2015-01-25 18:46:15 +01:00
Avi Kivity
dad0858f5f cql: partially convert Functions to C++ 2015-01-14 17:12:08 +02:00
Avi Kivity
08a7425b4a cql: fix minor build errors 2015-01-14 11:38:41 +02:00
Avi Kivity
3a039188cf cql: fix bytes_conversion_fcts build errors 2015-01-14 11:38:41 +02:00
Avi Kivity
2e6004a3ce cql: fix aggregate_fcts build errors 2015-01-14 11:38:41 +02:00
Avi Kivity
73d9d3fd64 cql: switch from unique_ptr<function> to shared_ptr<function>
The Functions class wants to store functions in a map and hand them out later,
so we need a shared_ptr.

(could have had a map of name -> function factory, maybe one day)
2015-01-14 11:38:41 +02:00
Avi Kivity
69f61e31ea cql3: convert BytesConversionFcts 2015-01-13 11:34:29 +02:00
Avi Kivity
91f19afbe5 cql: convert UuidFcts 2015-01-12 14:47:55 +02:00
Avi Kivity
41a224f314 cql: convert FunctionCall to C++ 2015-01-12 11:19:34 +02:00
Avi Kivity
d3ccdf8d3d cql: make scalar_function contents public 2015-01-12 11:17:00 +02:00
Avi Kivity
8c65782af8 cql: move print operator from abstract_function to function
More usable in the base type.
2015-01-12 11:16:23 +02:00
Avi Kivity
0b9595b58a cql: convert TimeuuidFcts to C++ 2015-01-11 15:46:03 +02:00
Avi Kivity
c26e42b1b2 cql: add helper for creating native function out of a lambda 2015-01-11 15:46:03 +02:00
Avi Kivity
1fe6bf687d db: de-pimpl data_type
Since origin tends to cast around, we should allow that too, by exposing
the implementation type and using a shared_ptr instead of a value class.
2015-01-05 15:55:30 +02:00
Avi Kivity
80408329e0 db: rename data types to conform to origin conventions 2015-01-05 13:48:38 +02:00
Avi Kivity
7cab37ddad cql: convert AggregateFcts to C++
Use templates to reduce code duplication for each data type.
2014-12-31 16:09:21 +02:00
Avi Kivity
719a7f87f3 cql: add helpers for constructing native aggregate functions 2014-12-31 16:06:28 +02:00
Avi Kivity
f303499d01 cql: fix native_aggregate_function base classes
Must be public.
2014-12-31 16:05:50 +02:00
Avi Kivity
adc78b8959 cql: fix function/abstract_function inheritence
Make a few functions virtual and fix the types.
2014-12-31 16:04:22 +02:00
Avi Kivity
35608909b0 cql: use optional<bytes> for function arguments and return types
Allow null values.
2014-12-31 16:03:43 +02:00
Avi Kivity
f9c7eb3e9b cql3: convert NativeScalarFunction to C++ 2014-12-30 09:00:22 +02:00
Avi Kivity
66138dc189 cql3: convert NativeAggregateFunction to C++
Requires virtual inheritence from functions::function due to an
inheritence diamond.
2014-12-30 09:00:22 +02:00
Avi Kivity
9a2c40c931 cql3: convert AggregateFunction to C++ 2014-12-30 09:00:22 +02:00
Avi Kivity
a4f64e980c cql3: convert NativeFunction to C++ 2014-12-30 09:00:22 +02:00
Avi Kivity
fa3ae18dcf cql: make function_name more similar to origin
- make members const
- drop overeager assert
2014-12-29 14:27:10 +02:00
Avi Kivity
fd4a1d074b cql3: convert functions.AbstractFunction to C++ 2014-12-24 14:18:21 +02:00
Avi Kivity
93266ad69a cql3: convert functions.ScalarFunction to C++ 2014-12-24 14:18:21 +02:00
Avi Kivity
b354fdc16d cql3: convert functions.Function to C++ 2014-12-24 14:18:21 +02:00
Avi Kivity
48499d6c4a cql3: convert functions.FunctionName to C++ 2014-12-24 14:18:21 +02:00
Avi Kivity
792f606a64 Import cql3 package and sub-packages
Contains the cql3 grammer and supporting classes, which will be converted
one by one.

From commit bf599fb5b062cbcc652da78b7d699e7a01b949ad.
2014-12-24 14:18:21 +02:00