/* * Copyright (c) 2019 TAOS Data, Inc. * * This program is free software: you can use, redistribute, and/or modify * it under the terms of the GNU Affero General Public License, version 3 * or later ("AGPL"), as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ #include #include #include #include #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wwrite-strings" #pragma GCC diagnostic ignored "-Wunused-function" #pragma GCC diagnostic ignored "-Wunused-variable" #pragma GCC diagnostic ignored "-Wsign-compare" #include "os.h" #include "taos.h" #include "tdef.h" #include "tvariant.h" #include "tep.h" #include "trpc.h" #include "stub.h" #include "executor.h" int main(int argc, char** argv) { testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } TEST(testCase, build_executor_tree_Test) { const char* msg = "{\n" "\t\"Id\":\t{\n" "\t\t\"QueryId\":\t1.3108161807422521e+19,\n" "\t\t\"TemplateId\":\t0,\n" "\t\t\"SubplanId\":\t0\n" "\t},\n" "\t\"Node\":\t{\n" "\t\t\"Name\":\t\"TableScan\",\n" "\t\t\"Targets\":\t[{\n" "\t\t\t\t\"Base\":\t{\n" "\t\t\t\t\t\"Schema\":\t{\n" "\t\t\t\t\t\t\"Type\":\t9,\n" "\t\t\t\t\t\t\"ColId\":\t5000,\n" "\t\t\t\t\t\t\"Bytes\":\t8\n" "\t\t\t\t\t},\n" "\t\t\t\t\t\"Columns\":\t[{\n" "\t\t\t\t\t\t\t\"TableId\":\t1,\n" "\t\t\t\t\t\t\t\"Flag\":\t0,\n" "\t\t\t\t\t\t\t\"Info\":\t{\n" "\t\t\t\t\t\t\t\t\"ColId\":\t1,\n" "\t\t\t\t\t\t\t\t\"Type\":\t9,\n" "\t\t\t\t\t\t\t\t\"Bytes\":\t8\n" "\t\t\t\t\t\t\t}\n" "\t\t\t\t\t\t}],\n" "\t\t\t\t\t\"InterBytes\":\t0\n" "\t\t\t\t},\n" "\t\t\t\t\"Expr\":\t{\n" "\t\t\t\t\t\"Type\":\t4,\n" "\t\t\t\t\t\"Column\":\t{\n" "\t\t\t\t\t\t\"Type\":\t9,\n" "\t\t\t\t\t\t\"ColId\":\t1,\n" "\t\t\t\t\t\t\"Bytes\":\t8\n" "\t\t\t\t\t}\n" "\t\t\t\t}\n" "\t\t\t}, {\n" "\t\t\t\t\"Base\":\t{\n" "\t\t\t\t\t\"Schema\":\t{\n" "\t\t\t\t\t\t\"Type\":\t4,\n" "\t\t\t\t\t\t\"ColId\":\t5001,\n" "\t\t\t\t\t\t\"Bytes\":\t4\n" "\t\t\t\t\t},\n" "\t\t\t\t\t\"Columns\":\t[{\n" "\t\t\t\t\t\t\t\"TableId\":\t1,\n" "\t\t\t\t\t\t\t\"Flag\":\t0,\n" "\t\t\t\t\t\t\t\"Info\":\t{\n" "\t\t\t\t\t\t\t\t\"ColId\":\t2,\n" "\t\t\t\t\t\t\t\t\"Type\":\t4,\n" "\t\t\t\t\t\t\t\t\"Bytes\":\t4\n" "\t\t\t\t\t\t\t}\n" "\t\t\t\t\t\t}],\n" "\t\t\t\t\t\"InterBytes\":\t0\n" "\t\t\t\t},\n" "\t\t\t\t\"Expr\":\t{\n" "\t\t\t\t\t\"Type\":\t4,\n" "\t\t\t\t\t\"Column\":\t{\n" "\t\t\t\t\t\t\"Type\":\t4,\n" "\t\t\t\t\t\t\"ColId\":\t2,\n" "\t\t\t\t\t\t\"Bytes\":\t4\n" "\t\t\t\t\t}\n" "\t\t\t\t}\n" "\t\t\t}],\n" "\t\t\"InputSchema\":\t[{\n" "\t\t\t\t\"Type\":\t9,\n" "\t\t\t\t\"ColId\":\t5000,\n" "\t\t\t\t\"Bytes\":\t8\n" "\t\t\t}, {\n" "\t\t\t\t\"Type\":\t4,\n" "\t\t\t\t\"ColId\":\t5001,\n" "\t\t\t\t\"Bytes\":\t4\n" "\t\t\t}],\n" "\t\t\"TableScan\":\t{\n" "\t\t\t\"TableId\":\t1,\n" "\t\t\t\"TableType\":\t2,\n" "\t\t\t\"Flag\":\t0,\n" "\t\t\t\"Window\":\t{\n" "\t\t\t\t\"StartKey\":\t-9.2233720368547758e+18,\n" "\t\t\t\t\"EndKey\":\t9.2233720368547758e+18\n" "\t\t\t}\n" "\t\t}\n" "\t},\n" "\t\"DataSink\":\t{\n" "\t\t\"Name\":\t\"Dispatch\",\n" "\t\t\"Dispatch\":\t{\n" "\t\t}\n" "\t}\n" "}"; SExecTaskInfo* pTaskInfo = nullptr; DataSinkHandle sinkHandle = nullptr; SReadHandle handle = {.reader = NULL, .meta = NULL}; int32_t code = qCreateExecTask(&handle, 2, 1, NULL, (void**) &pTaskInfo, &sinkHandle); } #pragma GCC diagnostic pop