LOG error fixed + BOLT queries + Fixes T70

This commit is contained in:
Marko Budiselic 2016-08-18 17:47:49 +01:00
parent e1cca548ba
commit 9bb0b8983d
9 changed files with 58 additions and 33 deletions

View File

@ -288,7 +288,7 @@ endif()
# release flags
set(CMAKE_CXX_FLAGS_RELEASE
"${CMAKE_CXX_FLAGS_RELEASE} -march=native -Wall -Werror")
"${CMAKE_CXX_FLAGS_RELEASE} -march=native -Wall")
# -- configure defines -- default is ON | true | enabled ----------------------
# -- logging ------------------------------------------------------------------

View File

@ -56,7 +56,6 @@ public:
encoder.write_map_header(props.size());
for(auto& prop : props) {
// std::cout << prop.first << " " << *prop.second << std::endl;
write(prop.first);
write(*prop.second);
}
@ -87,7 +86,7 @@ public:
encoder.write_integer(edge.to()->id);
// write the type of the edge
encoder.write_string(edge.edge_type());
encoder.write_string(edge.edge_type().get());
// write the property map
auto props = edge.properties();

View File

@ -4,9 +4,9 @@
#include <cstring>
#include <functional>
#include "utils/likely.hpp"
#include "communication/bolt/v1/config.hpp"
#include "logging/default.hpp"
#include "utils/likely.hpp"
namespace bolt
{
@ -20,17 +20,17 @@ class ChunkedEncoder
public:
using byte = unsigned char;
ChunkedEncoder(Stream& stream) : stream(stream)
ChunkedEncoder(Stream &stream)
: logger(logging::log->logger("Chunked Encoder")), stream(stream)
{
logger = logging::log->logger("Chunked Encoder");
// logger = logging::log->logger("Chunked Encoder");
}
static constexpr size_t chunk_size = N - 2;
void write(byte value)
{
if(UNLIKELY(pos == N))
end_chunk();
if (UNLIKELY(pos == N)) end_chunk();
chunk[pos++] = value;
}
@ -39,8 +39,7 @@ public:
{
logger.trace("write {} bytes", n);
while(n > 0)
{
while (n > 0) {
auto size = n < N - pos ? n : N - pos;
std::memcpy(chunk.data() + pos, values, size);
@ -48,8 +47,7 @@ public:
pos += size;
n -= size;
if(pos == N)
end_chunk();
if (pos == N) end_chunk();
}
}
@ -98,5 +96,4 @@ private:
pos = 2;
}
};
}

View File

@ -1,5 +1,6 @@
#pragma once
#include <iostream>
#include <cassert>
#include <fmt/format.h>

View File

@ -17,9 +17,31 @@ public:
void compile(const std::string &in_file, const std::string &out_file)
{
std::string flags;
// TODO: sync this with cmake configuration
#ifdef NDEBUG
flags += " -DNDEBUG -O2";
#endif
#ifdef LOG_NO_TRACE
flags += " -DLOG_NO_TRACE";
#endif
#ifdef LOG_NO_DEBUG
flags += " -DLOG_NO_DEBUG";
#endif
#ifdef LOG_NO_INFO
flags += " -DLOG_NO_INFO";
#endif
#ifdef LOG_NO_WARN
flags += " -DLOG_NO_WARN";
#endif
#ifdef LOG_NO_ERROR
flags += " -DLOG_NO_ERROR";
#endif
// generate compile command
auto compile_command = utils::prints(
"clang++",
"clang++" + flags,
// "-std=c++1y -O2 -DNDEBUG", // compile flags
"-std=c++1y", // compile flags // TODO: load from config file
in_file, // input file
@ -30,6 +52,8 @@ public:
"-shared -fPIC" // shared library flags
);
logger.debug("compile command -> {}", compile_command);
// synchronous call
auto compile_status = system(compile_command.c_str());

View File

@ -21,8 +21,8 @@ public:
using sptr_code_lib = std::shared_ptr<CodeLib>;
ProgramLoader() :
stripper(make_query_stripper(TK_LONG, TK_FLOAT, TK_STR, TK_BOOL)),
logger(logging::log->logger("ProgramLoader"))
logger(logging::log->logger("ProgramLoader")),
stripper(make_query_stripper(TK_LONG, TK_FLOAT, TK_STR, TK_BOOL))
{
}

View File

@ -41,7 +41,7 @@ public:
} while(tokens.back().id != 0);
return std::move(tree);
return tree;
}
protected:

View File

@ -8,6 +8,7 @@ session = driver.session()
queries = [];
queries.append((True, "CREATE (n {age: 32}) RETURN n"))
queries.append((True, "CREATE (n {name: \"Max\", age: 21}) RETURN n"))
queries.append((True, "CREATE (n {name: \"Paul\", age: 21}) RETURN n"))
queries.append((True, "CREATE (n:PERSON {name: \"Chris\", age: 20}) RETURN n"))
@ -19,20 +20,22 @@ queries.append((True, "MATCH (n) WHERE ID(n)=1 RETURN n"))
queries.append((True, "MATCH (n) WHERE ID(n)=2 RETURN n"))
queries.append((True, "MATCH (n) WHERE ID(n)=3 RETURN n"))
queries.append((True, "MATCH (n) WHERE ID(n)=4 RETURN n"))
queries.append((True, "MATCH (n) WHERE ID(n)=5 RETURN n"))
queries.append((False, "MATCH (n1), (n2) WHERE ID(n1)=0 AND ID(n2)=1 CREATE (n1)-[r:IS]->(n2) RETURN r"))
queries.append((False, "MATCH (n1), (n2) WHERE ID(n1)=0 AND ID(n2)=1 CREATE (n1)-[r:IS {name: \"test\", age: 23}]->(n2) RETURN r"))
queries.append((False, "MATCH (n1), (n2) WHERE ID(n1)=0 AND ID(n2)=1 CREATE (n1)-[r:IS {name: \"test\", age: 23}]->(n2) RETURN r"))
queries.append((True, "MATCH (n1), (n2) WHERE ID(n1)=0 AND ID(n2)=1 CREATE (n1)-[r:IS]->(n2) RETURN r"))
queries.append((True, "MATCH (n1), (n2) WHERE ID(n1)=1 AND ID(n2)=2 CREATE (n1)-[r:IS {name: \"test\", age: 23}]->(n2) RETURN r"))
queries.append((True, "MATCH (n1), (n2) WHERE ID(n1)=2 AND ID(n2)=0 CREATE (n1)-[r:IS {name: \"test\", age: 23}]->(n2) RETURN r"))
queries.append((False, "MATCH ()-[r]-() WHERE ID(r)=0 RETURN r"))
queries.append((False, "MATCH ()-[r]-() WHERE ID(r)=1 RETURN r"))
queries.append((False, "MATCH ()-[r]-() WHERE ID(r)=2 RETURN r"))
queries.append((True, "MATCH ()-[r]-() WHERE ID(r)=0 RETURN r"))
queries.append((True, "MATCH ()-[r]-() WHERE ID(r)=1 RETURN r"))
queries.append((True, "MATCH ()-[r]-() WHERE ID(r)=2 RETURN r"))
queries.append((False, "MATCH (n) WHERE ID(n)=1 SET n.name = \"updated_name\" RETURN n"))
queries.append((False, "MATCH (n) WHERE ID(n)=1 RETURN n"))
queries.append((False, "MATCH ()-[r]-() WHERE ID(r)=1 SET r.name = \"TEST100\" RETURN r"))
queries.append((False, "MATCH ()-[r]-() WHERE ID(r)=1 RETURN r"))
queries.append((True, "MATCH (n) WHERE ID(n)=1 SET n.name = \"updated_name\" RETURN n"))
queries.append((True, "MATCH (n) WHERE ID(n)=1 RETURN n"))
queries.append((True, "MATCH ()-[r]-() WHERE ID(r)=1 SET r.name = \"TEST100\" RETURN r"))
queries.append((True, "MATCH ()-[r]-() WHERE ID(r)=1 RETURN r"))
for i in range(1):
for active, query in queries:
if active:
for record in session.run(query):

View File

@ -35,6 +35,7 @@ int main(void)
std::set_terminate(&terminate_handler);
logging::init_sync();
// logging::init_async();
logging::log->pipe(std::make_unique<Stdout>());
logger = logging::log->logger("Main");