small refactorings

This commit is contained in:
2021-12-19 16:31:54 +01:00
parent 2a138d0c81
commit 498d1f17aa
7 changed files with 41 additions and 39 deletions

View File

@@ -19,8 +19,8 @@ MlValue uSQL::ivaluize(const usql::Table *table) {
for (auto row : table->m_rows) { for (auto row : table->m_rows) {
columns.clear(); columns.clear();
for (int i = 0; i < table->columns_count(); i++) { for (int i = 0; i < table->columns_count(); i++) {
auto & c = row[i]; const auto & c = row[i];
auto type = table->m_col_defs[i].type; const auto type = table->m_col_defs[i].type;
if (c.isNull()) { if (c.isNull()) {
columns.push_back(MlValue::nil()); columns.push_back(MlValue::nil());
} else if (type == ColumnType::integer_type || type == ColumnType::date_type) { } else if (type == ColumnType::integer_type || type == ColumnType::date_type) {

View File

@@ -333,8 +333,9 @@ Index * Table::get_index_for_column(const std::string &col_name) {
return (it != m_indexes.end()) ? &(*it) : nullptr; return (it != m_indexes.end()) ? &(*it) : nullptr;
} }
bool Table::empty() { bool Table::empty() const {
if (m_rows.empty()) return true; if (m_rows.empty()) return true;
for (const auto & r : m_rows) for (const auto & r : m_rows)
if (r.is_visible()) return false; if (r.is_visible()) return false;

View File

@@ -59,7 +59,7 @@ struct Table {
Index * get_index(const std::string &index_name); Index * get_index(const std::string &index_name);
Index * get_index_for_column(const std::string &col_name); Index * get_index_for_column(const std::string &col_name);
bool empty(); bool empty() const;
struct rows_scanner { struct rows_scanner {
explicit rows_scanner(Table *tbl) : m_use_rowids(false), m_table(tbl), m_fscan_itr(tbl->m_rows.begin()) {} explicit rows_scanner(Table *tbl) : m_use_rowids(false), m_table(tbl), m_fscan_itr(tbl->m_rows.begin()) {}

View File

@@ -4,6 +4,7 @@
#include <algorithm> #include <algorithm>
namespace usql { namespace usql {

View File

@@ -1,7 +1,7 @@
#!/bin/sh #!/bin/sh
gcc -std=c99 -c -O2 -o linenoise.o clib/linenoise.c 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/settings.cpp 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 c++ -o ml -O2 -L/usr/local/lib -L/usr/local/opt/openssl/lib -lm -lstdc++ -lcrypto -lssl *.o
cp stdlib/*.lsp /usr/local/var/mlisp/ cp stdlib/*.lsp /usr/local/var/mlisp/

View File

@@ -24,7 +24,7 @@ fi
echo "Building ml" 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; 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/settings.cpp" 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; c++ -o ml -O2 -L/usr/local/lib -L/usr/local/opt/openssl/lib -lm -lstdc++ -lcrypto -lssl *.o"