diff --git a/.clang-tidy b/.clang-tidy index 87c234e4cc..5dbc5b6c12 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -14,13 +14,12 @@ Checks: cppcoreguidelines-virtual-class-destructor, + google-explicit-constructor + misc-unused-parameters, modernize-use-override, - performance-*, - -performance-no-int-to-ptr, - HeaderFilterRegex: src/include|tools/benchmark/include|tools/nodejs_api/src_cpp/include|tools/python_api/src_cpp/include|tools/rust_api/include|tools/shell/include WarningsAsErrors: "*" diff --git a/clangd.log b/clangd.log new file mode 100644 index 0000000000..9edac73579 --- /dev/null +++ b/clangd.log @@ -0,0 +1,14 @@ +cmake -B build/release -DCMAKE_SHARED_LINKER_FLAGS=-fuse-ld=lld -DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=lld -DCMAKE_MODULE_LINKER_FLAGS=-fuse-ld=lld -G "Ninja" -DENABLE_RUNTIME_CHECKS=TRUE -DENABLE_WERROR=TRUE -DCMAKE_BUILD_TYPE=Release -DBUILD_BENCHMARK=TRUE -DBUILD_EXAMPLES=TRUE -DBUILD_JAVA=TRUE -DBUILD_NODEJS=TRUE -DBUILD_PYTHON=TRUE -DBUILD_SHELL=TRUE -DBUILD_TESTS=TRUE . +-- pybind11 v2.11.0 dev1 +-- JNI_INCLUDE_DIRS=/usr/lib/jvm/default-java/include;/usr/lib/jvm/default-java/include/linux;/usr/lib/jvm/default-java/include +-- JNI_LIBRARIES=/usr/lib/jvm/default-java/lib/libjawt.so;/usr/lib/jvm/default-java/lib/server/libjvm.so +-- OS_NAME=linux +-- OS_ARCH=amd64 +-- CMake.js configurations: LIB=, INC=/home/keenan/.cmake-js/node-x64/v18.13.0/include/node, SRC= +-- Configuring done +-- Generating done +-- Build files have been written to: /home/keenan/Projects/kuzu/build/release +cmake --build build/release --target kuzu_java +ninja: no work to do. +run-clang-tidy -p build/release -quiet -j 100 \ + "^/home/keenan/Projects/kuzu/src|/home/keenan/Projects/kuzu/tools/(?!shell/linenoise.cpp)|/home/keenan/Projects/kuzu/examples" diff --git a/src/include/binder/bound_statement_result.h b/src/include/binder/bound_statement_result.h index 4548b54b9d..ff8db4393c 100644 --- a/src/include/binder/bound_statement_result.h +++ b/src/include/binder/bound_statement_result.h @@ -8,7 +8,7 @@ namespace binder { class BoundStatementResult { public: BoundStatementResult() = default; - BoundStatementResult(expression_vector columns) : columns{std::move(columns)} {} + explicit BoundStatementResult(expression_vector columns) : columns{std::move(columns)} {} static std::unique_ptr createEmptyResult() { return std::make_unique(); diff --git a/src/include/binder/ddl/bound_alter.h b/src/include/binder/ddl/bound_alter.h index 9f502fac3a..17e2ca3cbb 100644 --- a/src/include/binder/ddl/bound_alter.h +++ b/src/include/binder/ddl/bound_alter.h @@ -8,7 +8,7 @@ namespace binder { class BoundAlter : public BoundStatement { public: - BoundAlter(std::unique_ptr info) + explicit BoundAlter(std::unique_ptr info) : BoundStatement{common::StatementType::ALTER, BoundStatementResult::createSingleStringColumnResult()}, info{std::move(info)} {} diff --git a/src/include/binder/ddl/bound_create_table_info.h b/src/include/binder/ddl/bound_create_table_info.h index 42e2d2acca..a660f64fd2 100644 --- a/src/include/binder/ddl/bound_create_table_info.h +++ b/src/include/binder/ddl/bound_create_table_info.h @@ -72,7 +72,8 @@ struct BoundExtraCreateRelTableInfo : public BoundExtraCreateTableInfo { struct BoundExtraCreateRelTableGroupInfo : public BoundExtraCreateTableInfo { std::vector> infos; - BoundExtraCreateRelTableGroupInfo(std::vector> infos) + explicit BoundExtraCreateRelTableGroupInfo( + std::vector> infos) : infos{std::move(infos)} {} BoundExtraCreateRelTableGroupInfo(const BoundExtraCreateRelTableGroupInfo& other) : infos{BoundCreateTableInfo::copy(other.infos)} {} diff --git a/src/include/binder/query/query_graph_label_analyzer.h b/src/include/binder/query/query_graph_label_analyzer.h index 5fb97c1e9d..71b5754e70 100644 --- a/src/include/binder/query/query_graph_label_analyzer.h +++ b/src/include/binder/query/query_graph_label_analyzer.h @@ -8,7 +8,7 @@ namespace binder { class QueryGraphLabelAnalyzer { public: - QueryGraphLabelAnalyzer(const catalog::Catalog& catalog) : catalog{catalog} {} + explicit QueryGraphLabelAnalyzer(const catalog::Catalog& catalog) : catalog{catalog} {} void pruneLabel(const QueryGraph& graph); diff --git a/src/include/binder/rewriter/match_clause_pattern_label_rewriter.h b/src/include/binder/rewriter/match_clause_pattern_label_rewriter.h index eb35de9596..7ac99537e2 100644 --- a/src/include/binder/rewriter/match_clause_pattern_label_rewriter.h +++ b/src/include/binder/rewriter/match_clause_pattern_label_rewriter.h @@ -8,7 +8,7 @@ namespace binder { class MatchClausePatternLabelRewriter : public BoundStatementVisitor { public: - MatchClausePatternLabelRewriter(const catalog::Catalog& catalog) : analyzer{catalog} {} + explicit MatchClausePatternLabelRewriter(const catalog::Catalog& catalog) : analyzer{catalog} {} void visitMatch(const BoundReadingClause& readingClause) final; diff --git a/src/include/catalog/rel_table_group_schema.h b/src/include/catalog/rel_table_group_schema.h index 2262a6854a..c209a11dae 100644 --- a/src/include/catalog/rel_table_group_schema.h +++ b/src/include/catalog/rel_table_group_schema.h @@ -13,7 +13,7 @@ class RelTableGroupSchema : public TableSchema { : TableSchema{std::move(tableName), tableID, common::TableType::REL_GROUP, std::vector>{}}, relTableIDs{std::move(relTableIDs)} {} - RelTableGroupSchema(std::vector relTableIDs) + explicit RelTableGroupSchema(std::vector relTableIDs) : TableSchema{common::InternalKeyword::ANONYMOUS, common::INVALID_TABLE_ID, common::TableType::REL_GROUP, std::vector>{}}, relTableIDs{std::move(relTableIDs)} {} diff --git a/src/include/common/null_mask.h b/src/include/common/null_mask.h index e6e6827b74..0f6c31e182 100644 --- a/src/include/common/null_mask.h +++ b/src/include/common/null_mask.h @@ -78,7 +78,8 @@ class NullMask { NullMask() : NullMask{DEFAULT_NUM_NULL_ENTRIES} {} - NullMask(uint64_t numNullEntries) : mayContainNulls{false}, numNullEntries{numNullEntries} { + explicit NullMask(uint64_t numNullEntries) + : mayContainNulls{false}, numNullEntries{numNullEntries} { buffer = std::make_unique(numNullEntries); data = buffer.get(); std::fill(data, data + numNullEntries, NO_NULL_ENTRY); diff --git a/src/include/expression_evaluator/literal_evaluator.h b/src/include/expression_evaluator/literal_evaluator.h index 4643927f88..15e0c5fbdb 100644 --- a/src/include/expression_evaluator/literal_evaluator.h +++ b/src/include/expression_evaluator/literal_evaluator.h @@ -7,7 +7,7 @@ namespace evaluator { class LiteralExpressionEvaluator : public ExpressionEvaluator { public: - LiteralExpressionEvaluator(std::shared_ptr value) + explicit LiteralExpressionEvaluator(std::shared_ptr value) : ExpressionEvaluator{true /* isResultFlat */}, value{std::move(value)} {} ~LiteralExpressionEvaluator() override = default; diff --git a/src/include/function/function.h b/src/include/function/function.h index c97334fd3f..2b02ce3577 100644 --- a/src/include/function/function.h +++ b/src/include/function/function.h @@ -18,7 +18,8 @@ struct CastFunctionBindData : public FunctionBindData { common::CSVReaderConfig csvConfig; uint64_t numOfEntries; - CastFunctionBindData(common::LogicalType dataType) : FunctionBindData{std::move(dataType)} {} + explicit CastFunctionBindData(common::LogicalType dataType) + : FunctionBindData{std::move(dataType)} {} }; struct Function; diff --git a/src/include/function/table_functions.h b/src/include/function/table_functions.h index de1e3c09dd..2c7bf2f1da 100644 --- a/src/include/function/table_functions.h +++ b/src/include/function/table_functions.h @@ -41,7 +41,7 @@ struct TableFunctionInput { struct TableFunctionInitInput { TableFuncBindData* bindData; - TableFunctionInitInput(TableFuncBindData* bindData) : bindData{bindData} {} + explicit TableFunctionInitInput(TableFuncBindData* bindData) : bindData{bindData} {} virtual ~TableFunctionInitInput() = default; }; diff --git a/src/include/function/table_functions/call_functions.h b/src/include/function/table_functions/call_functions.h index c141cd13a2..9bfef0fadd 100644 --- a/src/include/function/table_functions/call_functions.h +++ b/src/include/function/table_functions/call_functions.h @@ -29,7 +29,7 @@ struct CallFuncSharedState : public TableFuncSharedState { common::offset_t curOffset; std::mutex mtx; - CallFuncSharedState(common::offset_t maxOffset) : maxOffset{maxOffset}, curOffset{0} {} + explicit CallFuncSharedState(common::offset_t maxOffset) : maxOffset{maxOffset}, curOffset{0} {} CallFuncMorsel getMorsel(); }; diff --git a/src/include/function/table_functions/scan_functions.h b/src/include/function/table_functions/scan_functions.h index f50bfc4611..fadfda050d 100644 --- a/src/include/function/table_functions/scan_functions.h +++ b/src/include/function/table_functions/scan_functions.h @@ -11,7 +11,7 @@ struct BaseScanSharedState : public TableFuncSharedState { uint64_t blockIdx; uint64_t numRows; - BaseScanSharedState(uint64_t numRows) : fileIdx{0}, blockIdx{0}, numRows{numRows} {} + explicit BaseScanSharedState(uint64_t numRows) : fileIdx{0}, blockIdx{0}, numRows{numRows} {} }; struct ScanSharedState : public BaseScanSharedState { diff --git a/src/include/optimizer/correlated_subquery_unnest_solver.h b/src/include/optimizer/correlated_subquery_unnest_solver.h index 7a9b24587a..f91c4c44b0 100644 --- a/src/include/optimizer/correlated_subquery_unnest_solver.h +++ b/src/include/optimizer/correlated_subquery_unnest_solver.h @@ -7,7 +7,7 @@ namespace optimizer { class CorrelatedSubqueryUnnestSolver : public LogicalOperatorVisitor { public: - CorrelatedSubqueryUnnestSolver(planner::LogicalOperator* accumulateOp) + explicit CorrelatedSubqueryUnnestSolver(planner::LogicalOperator* accumulateOp) : accumulateOp{accumulateOp} {} void solve(planner::LogicalOperator* root_); diff --git a/src/include/parser/expression/parsed_expression.h b/src/include/parser/expression/parsed_expression.h index 8223daa253..77436a3d5d 100644 --- a/src/include/parser/expression/parsed_expression.h +++ b/src/include/parser/expression/parsed_expression.h @@ -36,7 +36,7 @@ class ParsedExpression { ParsedExpression(common::ExpressionType type, std::string rawName) : type{type}, rawName{std::move(rawName)} {} - ParsedExpression(common::ExpressionType type) : type{type} {} + explicit ParsedExpression(common::ExpressionType type) : type{type} {} ParsedExpression(common::ExpressionType type, std::string alias, std::string rawName, parsed_expression_vector children) diff --git a/src/include/parser/expression/parsed_variable_expression.h b/src/include/parser/expression/parsed_variable_expression.h index 5a4e72c4a2..e8e8199da9 100644 --- a/src/include/parser/expression/parsed_variable_expression.h +++ b/src/include/parser/expression/parsed_variable_expression.h @@ -19,7 +19,7 @@ class ParsedVariableExpression : public ParsedExpression { std::move(children)}, variableName{std::move(variableName)} {} - ParsedVariableExpression(std::string variableName) + explicit ParsedVariableExpression(std::string variableName) : ParsedExpression{common::ExpressionType::VARIABLE}, variableName{ std::move(variableName)} {} diff --git a/src/include/parser/query/reading_clause/in_query_call_clause.h b/src/include/parser/query/reading_clause/in_query_call_clause.h index c512582ed8..7af5c85e3b 100644 --- a/src/include/parser/query/reading_clause/in_query_call_clause.h +++ b/src/include/parser/query/reading_clause/in_query_call_clause.h @@ -8,7 +8,7 @@ namespace parser { class InQueryCallClause : public ReadingClause { public: - InQueryCallClause(std::unique_ptr functionExpression) + explicit InQueryCallClause(std::unique_ptr functionExpression) : ReadingClause{common::ClauseType::IN_QUERY_CALL}, functionExpression{ std::move(functionExpression)} {} ParsedExpression* getFunctionExpression() const { return functionExpression.get(); } diff --git a/src/include/parser/query/updating_clause/delete_clause.h b/src/include/parser/query/updating_clause/delete_clause.h index 6f0bc98395..eec687cf89 100644 --- a/src/include/parser/query/updating_clause/delete_clause.h +++ b/src/include/parser/query/updating_clause/delete_clause.h @@ -8,7 +8,7 @@ namespace parser { class DeleteClause final : public UpdatingClause { public: - DeleteClause(common::DeleteClauseType deleteClauseType) + explicit DeleteClause(common::DeleteClauseType deleteClauseType) : UpdatingClause{common::ClauseType::DELETE_}, deleteClauseType{deleteClauseType} {}; inline void addExpression(std::unique_ptr expression) { diff --git a/src/include/parser/transaction_statement.h b/src/include/parser/transaction_statement.h index e68cff7f1f..f6a366006a 100644 --- a/src/include/parser/transaction_statement.h +++ b/src/include/parser/transaction_statement.h @@ -8,7 +8,7 @@ namespace parser { class TransactionStatement : public Statement { public: - TransactionStatement(transaction::TransactionAction transactionAction) + explicit TransactionStatement(transaction::TransactionAction transactionAction) : Statement{common::StatementType::TRANSACTION}, transactionAction{transactionAction} {} inline transaction::TransactionAction getTransactionAction() const { return transactionAction; } diff --git a/src/include/planner/operator/logical_transaction.h b/src/include/planner/operator/logical_transaction.h index 92c15583e9..da28c48baa 100644 --- a/src/include/planner/operator/logical_transaction.h +++ b/src/include/planner/operator/logical_transaction.h @@ -8,7 +8,7 @@ namespace planner { class LogicalTransaction : public LogicalOperator { public: - LogicalTransaction(transaction::TransactionAction transactionAction) + explicit LogicalTransaction(transaction::TransactionAction transactionAction) : LogicalOperator{LogicalOperatorType::TRANSACTION}, transactionAction{transactionAction} {} inline std::string getExpressionsForPrinting() const final { return std::string(); } diff --git a/src/include/planner/operator/scan/logical_expressions_scan.h b/src/include/planner/operator/scan/logical_expressions_scan.h index 78f88c29ca..90633964c3 100644 --- a/src/include/planner/operator/scan/logical_expressions_scan.h +++ b/src/include/planner/operator/scan/logical_expressions_scan.h @@ -9,7 +9,7 @@ namespace planner { // LogicalExpressionsScan scans from an outer factorize table class LogicalExpressionsScan : public LogicalOperator { public: - LogicalExpressionsScan(binder::expression_vector expressions) + explicit LogicalExpressionsScan(binder::expression_vector expressions) : LogicalOperator{LogicalOperatorType::EXPRESSIONS_SCAN}, expressions{ std::move(expressions)} {} diff --git a/src/include/planner/operator/scan/logical_scan_file.h b/src/include/planner/operator/scan/logical_scan_file.h index fa1286c044..bf7a56ef87 100644 --- a/src/include/planner/operator/scan/logical_scan_file.h +++ b/src/include/planner/operator/scan/logical_scan_file.h @@ -8,7 +8,7 @@ namespace planner { class LogicalScanFile : public LogicalOperator { public: - LogicalScanFile(std::unique_ptr info) + explicit LogicalScanFile(std::unique_ptr info) : LogicalOperator{LogicalOperatorType::SCAN_FILE}, info{std::move(info)} {} inline std::string getExpressionsForPrinting() const override { return std::string(); } diff --git a/src/include/planner/subplans_table.h b/src/include/planner/subplans_table.h index 04cb5a39bd..d65d02d290 100644 --- a/src/include/planner/subplans_table.h +++ b/src/include/planner/subplans_table.h @@ -23,7 +23,7 @@ const uint64_t MAX_LEVEL_TO_PLAN_EXACTLY = 7; // Therefore, we try to be factorization aware when keeping optimal plans. class SubgraphPlans { public: - SubgraphPlans(const binder::SubqueryGraph& subqueryGraph); + explicit SubgraphPlans(const binder::SubqueryGraph& subqueryGraph); inline uint64_t getMaxCost() const { return maxCost; } diff --git a/src/include/processor/operator/order_by/top_k.h b/src/include/processor/operator/order_by/top_k.h index 923544727b..22d8889e98 100644 --- a/src/include/processor/operator/order_by/top_k.h +++ b/src/include/processor/operator/order_by/top_k.h @@ -39,7 +39,8 @@ class TopKBuffer { std::function; public: - TopKBuffer(const OrderByDataInfo& orderByDataInfo) : orderByDataInfo{&orderByDataInfo} { + explicit TopKBuffer(const OrderByDataInfo& orderByDataInfo) + : orderByDataInfo{&orderByDataInfo} { sortState = std::make_unique(); } diff --git a/src/include/processor/operator/persistent/copy_node.h b/src/include/processor/operator/persistent/copy_node.h index e96f45a070..09f5fe645d 100644 --- a/src/include/processor/operator/persistent/copy_node.h +++ b/src/include/processor/operator/persistent/copy_node.h @@ -17,7 +17,7 @@ class CopyNodeSharedState { friend class CopyRdfResource; public: - CopyNodeSharedState(InQueryCallSharedState* readerSharedState) + explicit CopyNodeSharedState(InQueryCallSharedState* readerSharedState) : readerSharedState{readerSharedState}, pkIndex{nullptr}, currentNodeGroupIdx{0}, sharedNodeGroup{nullptr} {}; diff --git a/src/include/processor/operator/persistent/reader/csv/driver.h b/src/include/processor/operator/persistent/reader/csv/driver.h index 81c40c9339..a85e8f4295 100644 --- a/src/include/processor/operator/persistent/reader/csv/driver.h +++ b/src/include/processor/operator/persistent/reader/csv/driver.h @@ -14,7 +14,7 @@ class ParsingDriver { bool rowEmpty; public: - ParsingDriver(common::DataChunk& chunk); + explicit ParsingDriver(common::DataChunk& chunk); virtual ~ParsingDriver() = default; bool done(uint64_t rowNum); diff --git a/src/include/processor/operator/persistent/reader/parquet/resizable_buffer.h b/src/include/processor/operator/persistent/reader/parquet/resizable_buffer.h index 9fb7f0dd0a..cf4fcba183 100644 --- a/src/include/processor/operator/persistent/reader/parquet/resizable_buffer.h +++ b/src/include/processor/operator/persistent/reader/parquet/resizable_buffer.h @@ -60,7 +60,7 @@ class ByteBuffer { // on to the 10 thousandth impl class ResizeableBuffer : public ByteBuffer { public: ResizeableBuffer() {} - ResizeableBuffer(uint64_t new_size) { resize(new_size); } + explicit ResizeableBuffer(uint64_t new_size) { resize(new_size); } void resize(uint64_t new_size) { len = new_size; if (new_size == 0) { diff --git a/src/include/processor/operator/persistent/reader/parquet/thrift_tools.h b/src/include/processor/operator/persistent/reader/parquet/thrift_tools.h index 37c159b43b..81fc32a5e4 100644 --- a/src/include/processor/operator/persistent/reader/parquet/thrift_tools.h +++ b/src/include/processor/operator/persistent/reader/parquet/thrift_tools.h @@ -47,7 +47,7 @@ struct ReadHeadComparator { // 1: register all ranges that will be read, merging ranges that are consecutive // 2: prefetch all registered ranges struct ReadAheadBuffer { - ReadAheadBuffer(common::FileInfo* handle) : handle(handle) {} + explicit ReadAheadBuffer(common::FileInfo* handle) : handle(handle) {} // The list of read heads std::list read_heads; diff --git a/src/include/processor/operator/persistent/writer/parquet/parquet_rle_bp_encoder.h b/src/include/processor/operator/persistent/writer/parquet/parquet_rle_bp_encoder.h index de9c7eac9e..170cd5f3e7 100644 --- a/src/include/processor/operator/persistent/writer/parquet/parquet_rle_bp_encoder.h +++ b/src/include/processor/operator/persistent/writer/parquet/parquet_rle_bp_encoder.h @@ -7,7 +7,7 @@ namespace processor { class RleBpEncoder { public: - RleBpEncoder(uint32_t bitWidth); + explicit RleBpEncoder(uint32_t bitWidth); public: // NOTE: Prepare is only required if a byte count is required BEFORE writing diff --git a/src/include/processor/operator/recursive_extend/recursive_join.h b/src/include/processor/operator/recursive_extend/recursive_join.h index f807a63a7c..479442f950 100644 --- a/src/include/processor/operator/recursive_extend/recursive_join.h +++ b/src/include/processor/operator/recursive_extend/recursive_join.h @@ -15,7 +15,7 @@ class ScanFrontier; struct RecursiveJoinSharedState { std::vector> semiMasks; - RecursiveJoinSharedState(std::vector> semiMasks) + explicit RecursiveJoinSharedState(std::vector> semiMasks) : semiMasks{std::move(semiMasks)} {} }; diff --git a/src/include/processor/result/result_set_descriptor.h b/src/include/processor/result/result_set_descriptor.h index 6e2737f521..6a2dbe3a1d 100644 --- a/src/include/processor/result/result_set_descriptor.h +++ b/src/include/processor/result/result_set_descriptor.h @@ -25,9 +25,10 @@ struct DataChunkDescriptor { struct ResultSetDescriptor { std::vector> dataChunkDescriptors; - ResultSetDescriptor(std::vector> dataChunkDescriptors) + explicit ResultSetDescriptor( + std::vector> dataChunkDescriptors) : dataChunkDescriptors{std::move(dataChunkDescriptors)} {} - ResultSetDescriptor(planner::Schema* schema); + explicit ResultSetDescriptor(planner::Schema* schema); std::unique_ptr copy() const; }; diff --git a/src/include/storage/local_storage/local_rel_table.h b/src/include/storage/local_storage/local_rel_table.h index e565b839f0..21519d484d 100644 --- a/src/include/storage/local_storage/local_rel_table.h +++ b/src/include/storage/local_storage/local_rel_table.h @@ -39,7 +39,7 @@ struct RegularRelNGInfo final : public RelNGInfo { std::vector updateInfoPerChunk; // insert info for property chunks. offset_set_t deleteInfo; // the set of deleted node offsets. - RegularRelNGInfo(common::column_id_t numChunks) { + explicit RegularRelNGInfo(common::column_id_t numChunks) { insertInfoPerChunk.resize(numChunks); updateInfoPerChunk.resize(numChunks); } @@ -62,7 +62,7 @@ struct CSRRelNGInfo final : public RelNGInfo { std::vector updateInfoPerChunk; offset_to_offset_set_t deleteInfo; - CSRRelNGInfo(common::column_id_t numChunks) { + explicit CSRRelNGInfo(common::column_id_t numChunks) { insertInfoPerChunk.resize(numChunks); updateInfoPerChunk.resize(numChunks); } diff --git a/src/include/storage/local_storage/local_storage.h b/src/include/storage/local_storage/local_storage.h index a87f4cf59e..3d646eac2d 100644 --- a/src/include/storage/local_storage/local_storage.h +++ b/src/include/storage/local_storage/local_storage.h @@ -16,7 +16,7 @@ class MemoryManager; // thread-safe. class LocalStorage { public: - LocalStorage(storage::MemoryManager* mm); + explicit LocalStorage(storage::MemoryManager* mm); // This function will create the local table data if not exists. LocalTableData* getOrCreateLocalTableData(common::table_id_t tableID, diff --git a/src/include/storage/stats/metadata_dah_info.h b/src/include/storage/stats/metadata_dah_info.h index 927dad3c86..b5bc7ea39d 100644 --- a/src/include/storage/stats/metadata_dah_info.h +++ b/src/include/storage/stats/metadata_dah_info.h @@ -12,7 +12,7 @@ struct MetadataDAHInfo { std::vector> childrenInfos; MetadataDAHInfo() : MetadataDAHInfo{common::INVALID_PAGE_IDX, common::INVALID_PAGE_IDX} {} - MetadataDAHInfo(common::page_idx_t dataDAHPageIdx) + explicit MetadataDAHInfo(common::page_idx_t dataDAHPageIdx) : MetadataDAHInfo{dataDAHPageIdx, common::INVALID_PAGE_IDX} {} MetadataDAHInfo(common::page_idx_t dataDAHPageIdx, common::page_idx_t nullDAHPageIdx) : dataDAHPageIdx{dataDAHPageIdx}, nullDAHPageIdx{nullDAHPageIdx} {} diff --git a/src/include/storage/store/column_chunk.h b/src/include/storage/store/column_chunk.h index 403257da17..ed9579fc5d 100644 --- a/src/include/storage/store/column_chunk.h +++ b/src/include/storage/store/column_chunk.h @@ -149,7 +149,7 @@ class BoolColumnChunk : public ColumnChunk { class NullColumnChunk : public BoolColumnChunk { public: - NullColumnChunk(uint64_t capacity) + explicit NullColumnChunk(uint64_t capacity) : BoolColumnChunk(capacity, false /*hasNullChunk*/), mayHaveNullValue{false} {} // Maybe this should be combined with BoolColumnChunk if the only difference is these functions? inline bool isNull(common::offset_t pos) const { return getValue(pos); } diff --git a/src/include/storage/store/rel_table_data.h b/src/include/storage/store/rel_table_data.h index 75ab2e6706..68c7bd74ea 100644 --- a/src/include/storage/store/rel_table_data.h +++ b/src/include/storage/store/rel_table_data.h @@ -23,7 +23,7 @@ struct RelDataReadState : public TableReadState { bool readFromLocalStorage; LocalRelNG* localNodeGroup; - RelDataReadState(common::ColumnDataFormat dataFormat); + explicit RelDataReadState(common::ColumnDataFormat dataFormat); inline bool isOutOfRange(common::offset_t nodeOffset) { return nodeOffset < startNodeOffset || nodeOffset >= (startNodeOffset + numNodes); } diff --git a/src/include/transaction/transaction_context.h b/src/include/transaction/transaction_context.h index 2360bf5d2f..4d3f367e11 100644 --- a/src/include/transaction/transaction_context.h +++ b/src/include/transaction/transaction_context.h @@ -29,7 +29,7 @@ enum class TransactionMode : uint8_t { AUTO = 0, MANUAL = 1 }; class TransactionContext { public: - TransactionContext(main::Database* database); + explicit TransactionContext(main::Database* database); ~TransactionContext(); inline bool isAutoTransaction() const { return mode == TransactionMode::AUTO; } diff --git a/src/storage/store/column_chunk.cpp b/src/storage/store/column_chunk.cpp index bd9bed9220..d5096e08e1 100644 --- a/src/storage/store/column_chunk.cpp +++ b/src/storage/store/column_chunk.cpp @@ -491,7 +491,7 @@ class FixedListColumnChunk : public ColumnChunk { class InternalIDColumnChunk final : public ColumnChunk { public: // Physically, we only materialize offset of INTERNAL_ID, which is same as INT64, - InternalIDColumnChunk(uint64_t capacity) + explicit InternalIDColumnChunk(uint64_t capacity) : ColumnChunk(LogicalType::INT64(), capacity, false /* enableCompression */) {} void append(ValueVector* vector) override { diff --git a/tools/nodejs_api/src_cpp/include/node_connection.h b/tools/nodejs_api/src_cpp/include/node_connection.h index ee5bdd7559..d8b7d6a9ae 100644 --- a/tools/nodejs_api/src_cpp/include/node_connection.h +++ b/tools/nodejs_api/src_cpp/include/node_connection.h @@ -18,7 +18,7 @@ class NodeConnection : public Napi::ObjectWrap { public: static Napi::Object Init(Napi::Env env, Napi::Object exports); - NodeConnection(const Napi::CallbackInfo& info); + explicit NodeConnection(const Napi::CallbackInfo& info); ~NodeConnection() override = default; private: diff --git a/tools/nodejs_api/src_cpp/include/node_database.h b/tools/nodejs_api/src_cpp/include/node_database.h index 844469f543..5b10ae9b27 100644 --- a/tools/nodejs_api/src_cpp/include/node_database.h +++ b/tools/nodejs_api/src_cpp/include/node_database.h @@ -13,7 +13,7 @@ class NodeDatabase : public Napi::ObjectWrap { public: static Napi::Object Init(Napi::Env env, Napi::Object exports); - NodeDatabase(const Napi::CallbackInfo& info); + explicit NodeDatabase(const Napi::CallbackInfo& info); ~NodeDatabase() override = default; private: diff --git a/tools/nodejs_api/src_cpp/include/node_prepared_statement.h b/tools/nodejs_api/src_cpp/include/node_prepared_statement.h index 6876c518b8..08e6efc780 100644 --- a/tools/nodejs_api/src_cpp/include/node_prepared_statement.h +++ b/tools/nodejs_api/src_cpp/include/node_prepared_statement.h @@ -1,10 +1,7 @@ #pragma once -#include "binder/bound_statement_result.h" #include "main/kuzu.h" #include "node_connection.h" -#include "planner/operator/logical_plan.h" -#include "processor/result/factorized_table.h" #include using namespace kuzu::main; @@ -15,7 +12,7 @@ class NodePreparedStatement : public Napi::ObjectWrap { public: static Napi::Object Init(Napi::Env env, Napi::Object exports); - NodePreparedStatement(const Napi::CallbackInfo& info); + explicit NodePreparedStatement(const Napi::CallbackInfo& info); ~NodePreparedStatement() override = default; private: @@ -24,7 +21,6 @@ class NodePreparedStatement : public Napi::ObjectWrap { Napi::Value IsSuccess(const Napi::CallbackInfo& info); Napi::Value GetErrorMessage(const Napi::CallbackInfo& info); - private: std::shared_ptr preparedStatement; std::shared_ptr connection; diff --git a/tools/nodejs_api/src_cpp/include/node_query_result.h b/tools/nodejs_api/src_cpp/include/node_query_result.h index 714b9db4b9..a05aad8aeb 100644 --- a/tools/nodejs_api/src_cpp/include/node_query_result.h +++ b/tools/nodejs_api/src_cpp/include/node_query_result.h @@ -16,7 +16,7 @@ class NodeQueryResult : public Napi::ObjectWrap { public: static Napi::Object Init(Napi::Env env, Napi::Object exports); - NodeQueryResult(const Napi::CallbackInfo& info); + explicit NodeQueryResult(const Napi::CallbackInfo& info); void SetQueryResult(std::shared_ptr& queryResult); ~NodeQueryResult() override = default; diff --git a/tools/python_api/src_cpp/include/pandas/pandas_column.h b/tools/python_api/src_cpp/include/pandas/pandas_column.h index a5ae37e183..0361e93356 100644 --- a/tools/python_api/src_cpp/include/pandas/pandas_column.h +++ b/tools/python_api/src_cpp/include/pandas/pandas_column.h @@ -1,6 +1,9 @@ #pragma once #include +#include + +#include "pybind_include.h" namespace kuzu { @@ -9,7 +12,7 @@ enum class PandasColumnBackend : uint8_t { NUMPY = 0 }; class PandasColumn { public: - PandasColumn(PandasColumnBackend backend) : backend(backend) {} + explicit PandasColumn(PandasColumnBackend backend) : backend(backend) {} virtual ~PandasColumn() = default; public: @@ -23,7 +26,7 @@ class PandasColumn { class PandasNumpyColumn : public PandasColumn { public: - PandasNumpyColumn(py::array array) + explicit PandasNumpyColumn(py::array array) : PandasColumn{PandasColumnBackend::NUMPY}, array{std::move(array)} {} std::unique_ptr copy() const override { diff --git a/tools/python_api/src_cpp/include/pybind_include.h b/tools/python_api/src_cpp/include/pybind_include.h index a89dff082c..aec1036bec 100644 --- a/tools/python_api/src_cpp/include/pybind_include.h +++ b/tools/python_api/src_cpp/include/pybind_include.h @@ -1,7 +1,7 @@ #pragma once -#include -#include -#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export namespace py = pybind11;