Commit Graph

53948 Commits

Author SHA1 Message Date
Gleb Natapov
f58926acd1 core: fix circular_buffer::emplace_(back|front) to take universal references 2015-01-12 17:30:45 +02:00
Gleb Natapov
20d2725ed9 core: shared_ptr add noexcept
Add missing noexcepts. Those on constructors are needed to be able to
store shared pointers in growable containers efficiently.
2015-01-12 17:29:02 +02:00
Avi Kivity
bf6c620290 Merge branch 'penberg/cql3' of github.com:cloudius-systems/seastar-dev into db
More cql3 statement conversions from Pekka.
2015-01-12 17:11:51 +02:00
Pekka Enberg
d1969c0158 cql3: Convert AlterTypeStatement to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-12 15:58:22 +02:00
Avi Kivity
51bfe66945 Merge branch 'cql' of seastar into db
UuidFcts.
2015-01-12 15:43:25 +02:00
Pekka Enberg
9838901b38 cql3: Convert UTName to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-12 15:40:08 +02:00
Pekka Enberg
dc7646a0c4 cql3: Convert AlterKeyspaceStatement to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-12 15:26:32 +02:00
Pekka Enberg
db12a1ac2d cql3: Convert KSPropDefs to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-12 15:21:48 +02:00
Pekka Enberg
ff714bdd35 cql3: Convert PropertyDefinitions to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-12 15:21:12 +02:00
Pekka Enberg
92ebf7989c cql3: Fix shared_from_this in schema_altering_statement
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-12 15:15:48 +02:00
Pekka Enberg
ee953e2e7f cql3: Add missing include to schema_altering_statement.hh
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-12 15:15:48 +02:00
Avi Kivity
ac0519205c Merge branch 'penberg/cql3' of ssh://github.com/cloudius-systems/seastar-dev into db 2015-01-12 15:05:51 +02:00
Pekka Enberg
677264fb3b cql3: Use shared_from_this for parsed_statement::prepare()
Use shared_from_this instead of the synthetic unique_ptr argument for
parsed_statement::prepare() to preserve the original Cassandra API for
parsed statements.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-12 15:02:52 +02:00
Avi Kivity
91f19afbe5 cql: convert UuidFcts 2015-01-12 14:47:55 +02:00
Avi Kivity
99489ff580 db: add uuid type 2015-01-12 14:21:19 +02:00
Avi Kivity
904db75cbb utils: add make_random_uuid() 2015-01-12 14:20:28 +02:00
Avi Kivity
63055f0306 uuid: add missing include 2015-01-12 14:19:33 +02:00
Avi Kivity
926091ae43 Merge branch 'master' of github.com:cloudius-systems/seastar into db
Conflicts:
	configure.py
2015-01-12 14:14:03 +02:00
Avi Kivity
94ffb2c948 net: add missing includes to byteorder.hh 2015-01-12 14:11:56 +02:00
Avi Kivity
c8c1c2a4f4 Merge branch 'cql' of seastar into db
FunctionCall conversion.

Reviewed-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-12 11:56:11 +02:00
Avi Kivity
e6f87e332a Merge branch 'penberg/antlr3' of github.com:cloudius-systems/seastar-dev into db
antlr3 build support from Pekka.
2015-01-12 11:28:15 +02:00
Pekka Enberg
4dd4fa67c1 configure.py: Fix error hadling when no rule is found
There's a typo in configure.py which causes the "no rule found" handler
to die.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-12 11:24:02 +02:00
Avi Kivity
41a224f314 cql: convert FunctionCall to C++ 2015-01-12 11:19:34 +02:00
Avi Kivity
30ba3ecea2 db: add runtime_exception class 2015-01-12 11:19:11 +02:00
Avi Kivity
df83ccec41 db: add bytes_opt (=optional<bytes>) 2015-01-12 11:18:47 +02:00
Avi Kivity
c05640fb5d db: add to_hex(bytes) 2015-01-12 11:18:25 +02:00
Avi Kivity
d1210a2daa cql3: add missing include to term.hh 2015-01-12 11:17:43 +02:00
Avi Kivity
625064921d cql: convert query_options::get_protocol_version() 2015-01-12 11:17:21 +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
d9f287421d cql: add missing include to assignment_testable.hh 2015-01-12 11:15:34 +02:00
Pekka Enberg
9082aa14a8 configure.py: Antlr3 code generation support
This adds Antlr3 code generation support to configure.py. We need this
to start attempting to generate code for the CQL3 grammar to see where
we're at with our AST.

To enable the CQL grammar code generation, edit configure.py as follows:

  diff --git a/configure.py b/configure.py
  index 929885a..1dd607a 100755
  --- a/configure.py
  +++ b/configure.py
  @@ -233,6 +233,7 @@ deps = {
                   'gms/version_generator.cc',
                    'dht/dht.cc',
                    ]
  +                + [Antlr3Grammar('cql3/Cql.g')]
                   + [Thrift('interface/cassandra.thrift', 'Cassandra')]
                   + core
                   ),

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-12 11:07:16 +02:00
Avi Kivity
b96129f429 Merge branch 'cql' of github.com:cloudius-systems/seastar-dev into db
TimeuuidFcts conversion.
2015-01-11 20:34:14 +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
a7723cf641 db: add timestamp type
Based on db_clock::time_point
2015-01-11 15:46:03 +02:00
Avi Kivity
a5c98d32c3 db: add timeuuid type 2015-01-11 15:46:03 +02:00
Avi Kivity
07947764b2 uuid: convert UUID_gen::get_UUID() 2015-01-11 15:46:03 +02:00
Gleb Natapov
bef054f8c8 net: rename udp_v4 to ipv4_udp for consistency with other l4 protocols 2015-01-11 12:29:05 +02:00
Avi Kivity
37026f8c5f Merge branch 'gleb/net' of ssh://github.com/cloudius-systems/seastar-dev
Network stack inversion: tcp, from Gleb.

TCP now does not transmit on a user write; instead it signals that
packets can be generated to the IP layer.  When the IP layer is polled,
it will poll TCP in turn and generate packets.  This improves batching.
2015-01-11 12:26:39 +02:00
Gleb Natapov
32b42af49f net: register l3 poller for tcp connections
This patch change tcp to register a poller so that l3 can poll tcp for
a packet instead of pushing packets from tcp to ipv4. This pushes
networking tx path inversion a little bit closer to an application.
2015-01-11 10:48:32 +02:00
Gleb Natapov
d5c309c74e net: provide poller registration API between l3 and l4
Both push and pull methods will be supported between l3 and l4 after
this patch.
2015-01-11 10:17:48 +02:00
Gleb Natapov
2b340b80ce net: unfuturize packet fragmentation
Since sending of a single packet does not involve futures anymore we can
simplify this code.
2015-01-11 10:17:48 +02:00
Pekka Enberg
8ded99fdfa cql3: convert AbstractMarker to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-09 13:00:16 +02:00
Pekka Enberg
9a4575bf52 cql3: convert Maps to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-09 13:00:16 +02:00
Pekka Enberg
1ea2bad0ca cql3: convert Sets to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-09 13:00:16 +02:00
Pekka Enberg
1514695437 cql3: convert Lists to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-09 13:00:16 +02:00
Pekka Enberg
6ad1d1e194 cql3: convert Constants to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-09 13:00:16 +02:00
Pekka Enberg
8d4d793695 cql3: Add to_string() to column_identifier class
It's needed for the AbstractMarker conversion.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-09 13:00:16 +02:00
Pekka Enberg
4500874bfc cql3: Use shared_ptr for column_specification
We pass column_specification instances around wrapped in shared_ptr. Fix
up the last remaining const reference.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-09 13:00:16 +02:00