From b0b095627521e54014a0c3e0bbde2323c43fed1f Mon Sep 17 00:00:00 2001 From: VaclavT Date: Sat, 8 Jan 2022 01:39:11 +0100 Subject: [PATCH 1/2] build related update --- .vscode/launch.json | 12 ++++++++++++ CMakeLists.txt | 3 +-- utils/local_install.sh | 9 +++++---- utils/remote_install.sh | 6 +++--- 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 1351a26..7e8306d 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -27,6 +27,18 @@ "environment": [], "console": "externalTerminal", "MIMode": "lldb" + }, + { + "name": "ml -d -f tests/test.lsp", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/build/ml", + "args": ["-d", "-f", "${workspaceFolder}/tests/test.lsp"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "externalTerminal", + "MIMode": "lldb" } ] } \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 0e63abb..5578bd5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,7 +46,6 @@ set(SOURCE usql/usql_ddl.cpp usql/usql_function.cpp usql/table.cpp - usql/table.h usql/row.cpp usql/csvreader.cpp usql/settings.cpp @@ -54,7 +53,7 @@ set(SOURCE add_executable(${PROJECT_NAME} ${SOURCE}) -target_link_libraries(${PROJECT_NAME} stdc++ m ssl crypto) +target_link_libraries(${PROJECT_NAME} stdc++ m ssl crypto pthread) set(CMAKE_INSTALL_PREFIX "/usr/local") INSTALL(TARGETS ml diff --git a/utils/local_install.sh b/utils/local_install.sh index 8126b57..ad71cb6 100755 --- a/utils/local_install.sh +++ b/utils/local_install.sh @@ -1,9 +1,10 @@ #!/bin/sh -gcc -std=c99 -c -O2 -o linenoise.o clib/linenoise.c -c++ -c -O2 -I/usr/local/opt/openssl/include -Iclib -I./ --std=c++17 ml.cpp ml_io.cpp ml_date.cpp ml_string.cpp ml_util.cpp ml_profiler.cpp ml_usql.cpp clib/json11.cpp clib/csvparser.cpp clib/sslclient.cpp clib/tcpnet.cpp clib/printf.cpp usql/exception.cpp usql/lexer.cpp usql/parser.cpp usql/usql.cpp usql/table.cpp usql/table.h usql/row.cpp usql/csvreader.cpp usql/usql.cpp usql/usql_ddl.cpp usql/usql_dml.cpp usql/usql_function.cpp usql/settings.cpp -c++ -o ml -O2 -L/usr/local/lib -L/usr/local/opt/openssl/lib -lm -lstdc++ -lcrypto -lssl *.o +gcc -std=c99 -c -O3 -o linenoise.o clib/linenoise.c +c++ -c -O3 -I/usr/local/opt/openssl/include -Iclib -I./ --std=c++17 -pthread ml.cpp ml_io.cpp ml_date.cpp ml_string.cpp ml_util.cpp ml_profiler.cpp ml_usql.cpp clib/json11.cpp clib/csvparser.cpp clib/sslclient.cpp clib/tcpnet.cpp clib/printf.cpp usql/exception.cpp usql/lexer.cpp usql/parser.cpp usql/usql.cpp usql/table.cpp usql/row.cpp usql/csvreader.cpp usql/usql.cpp usql/usql_ddl.cpp usql/usql_dml.cpp usql/usql_function.cpp usql/settings.cpp +c++ -o ml -O3 -pthread -L/usr/local/lib -L/usr/local/opt/openssl/lib -L/lib/x86_64-linux-gnu -lm -lstdc++ -lcrypto -lssl -lpthread *.o +mkdir -p /usr/local/var/mlisp cp stdlib/*.lsp /usr/local/var/mlisp/ cp ml /usr/local/bin/ml @@ -11,7 +12,7 @@ rm *.o rm ./ml echo "if syntax has changed you may use" -echo "cp utils/Lisp.tmLanguage ~/.vscode/extensions/mattn.lisp-0.1.11/syntaxes/" +echo "cp utils/Lisp.tmLanguage ~/.vscode/extensions/mattn.lisp-0.1.12/syntaxes/" echo "" ml -v \ No newline at end of file diff --git a/utils/remote_install.sh b/utils/remote_install.sh index 8ccacc6..52f1276 100755 --- a/utils/remote_install.sh +++ b/utils/remote_install.sh @@ -23,9 +23,9 @@ if [ "$#" -eq 1 ]; then fi echo "Building ml" -ssh -p 5333 root@46.28.109.184 "cd /tmp/mlisp; gcc -std=c99 -c -O2 -o linenoise.o clib/linenoise.c" -ssh -p 5333 root@46.28.109.184 "cd /tmp/mlisp; c++ -c -O2 -I/usr/local/opt/openssl/include -Iclib -I./ --std=c++17 ml.cpp ml_io.cpp ml_date.cpp ml_string.cpp ml_util.cpp ml_profiler.cpp ml_usql.cpp clib/json11.cpp clib/csvparser.cpp clib/sslclient.cpp clib/tcpnet.cpp clib/printf.cpp usql/exception.cpp usql/lexer.cpp usql/parser.cpp usql/usql.cpp usql/table.cpp usql/table.h usql/row.cpp usql/csvreader.cpp usql/usql.cpp usql/usql_ddl.cpp usql/usql_dml.cpp usql/usql_function.cpp usql/settings.cpp" -ssh -p 5333 root@46.28.109.184 "cd /tmp/mlisp; c++ -o ml -O2 -L/usr/local/lib -L/usr/local/opt/openssl/lib -lm -lstdc++ -lcrypto -lssl *.o" +ssh -p 5333 root@46.28.109.184 "cd /tmp/mlisp; gcc -std=c99 -c -O3 -o linenoise.o clib/linenoise.c" +ssh -p 5333 root@46.28.109.184 "cd /tmp/mlisp; c++ -c -O3 -I/usr/local/opt/openssl/include -Iclib -I./ --std=c++17 ml.cpp ml_io.cpp ml_date.cpp ml_string.cpp ml_util.cpp ml_profiler.cpp ml_usql.cpp clib/json11.cpp clib/csvparser.cpp clib/sslclient.cpp clib/tcpnet.cpp clib/printf.cpp usql/exception.cpp usql/lexer.cpp usql/parser.cpp usql/usql.cpp usql/table.cpp usql/row.cpp usql/csvreader.cpp usql/usql.cpp usql/usql_ddl.cpp usql/usql_dml.cpp usql/usql_function.cpp usql/settings.cpp" +ssh -p 5333 root@46.28.109.184 "cd /tmp/mlisp; c++ -o ml -O3 -L/usr/local/lib -L/usr/local/opt/openssl/lib -L/lib/x86_64-linux-gnu -lm -lstdc++ -lcrypto -lssl *.o" echo "Installing new version" From 61bfb0994843b18cdff7a046f178dfb3f633db3f Mon Sep 17 00:00:00 2001 From: VaclavT Date: Sat, 8 Jan 2022 01:39:35 +0100 Subject: [PATCH 2/2] usql update --- usql/usql.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/usql/usql.cpp b/usql/usql.cpp index 3835007..ca18fe1 100644 --- a/usql/usql.cpp +++ b/usql/usql.cpp @@ -173,10 +173,8 @@ std::unique_ptr USql::eval_function_value_node(Table *table, Row &row evaluatedPars.push_back(eval_value_node(table, row, param.get(), nullptr, nullptr)); } - // at this moment no functions without parameter(s) or first param can be null if (evaluatedPars.empty() || evaluatedPars[0]->isNull()) - throw Exception("eval_function_value_node, no function parameter or first is null, function: " + fnc->function); - // return std::make_unique(); + return std::make_unique(); // TODO use some enum if (fnc->function == "lower") return lower_function(evaluatedPars);