[MDEV-506] Cassandra dynamic columns access Created: 2012-09-05 Updated: 2013-01-14 Resolved: 2013-01-14 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major |
| Reporter: | Sergei Petrunia | Assignee: | Oleksandr Byelkin |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||
| Description |
|
Use named MariaDB dynamic columns to provide access to Cassandra's columns. Basic idea:
The idea is to access them through dynamic columns. Table declaration should look like this:
In the above definition
== Implementation == Comments from SergeiG: the sane approach to implement these optimizations is through query-wide item pushdown. That is, instead of handler->cond_push(), the server should try pushing down all parts of the query. == Dynamic Columns and Datatypes == Dynamic columns store values together with their datatypes. Cassandra's === Cassandra-to-MariaDB === When Cassandra columns are converted into DynamicColumnsBlob:
==== Conversion for timestamp type ==== A suggestion to get out of this is to map Cassandra's timestamp to a BIGINT type. In order to get SQL datetime, one will have to use this syntax:
==== Conversion for decimal type ==== === MariaDB-to-Cassandra === The task is: Given a DynamicColumnsBlob value, store the columns into Cassandra DynamicColumnsBlob specifies datatypes. Cassandra has its own set of datatypes.
The idea is to extend DYNAMIC_COLUMN_VALUE with functions to get either of three types. For example, Cassandra's BIGINT will invoke the val_int() function. Cassandra's UUID will invoke val_str() and then parse the uuid. === TODO ===
|
| Comments |
| Comment by Oleksandr Byelkin [ 2012-11-15 ] |
|
merge with 10.0. |