Skip to content

Problem with MinGW builds #189

@staticlibs

Description

@staticlibs

Builds of windows_amd64_mingw fail with the following message:

FAILED: [code=1] src/function/aggregate/distributive/CMakeFiles/duckdb_aggr_distr.dir/ub_duckdb_aggr_distr.cpp.obj 
ccache C:\rtools42\x86_64-w64-mingw32.static.posix\bin\g++.exe -DDUCKDB -DDUCKDB_BUILD_LIBRARY -DDUCKDB_CUSTOM_PLATFORM=windows_amd64_mingw -DDUCKDB_EXTENSION_AUTOINSTALL_DEFAULT=1 -DDUCKDB_EXTENSION_AUTOLOAD_DEFAULT=1 -DDUCKDB_EXTENSION_CORE_FUNCTIONS_LINKED=1 -DDUCKDB_EXTENSION_PARQUET_LINKED=1 -DDUCKDB_EXTENSION_SQLITE_SCANNER_LINKED=1 -DDUCKDB_EXTENSION_TPCH_LINKED=1 -DDUCKDB_MAIN_LIBRARY -DDUCKDB_MAJOR_VERSION=1 -DDUCKDB_MINOR_VERSION=6 -DDUCKDB_PATCH_VERSION=0 -DGENERATED_EXTENSION_HEADERS=1 -D_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS=1 -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/fsst -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/fmt/include -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/hyperloglog -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/fastpforlib -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/skiplist -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/ska_sort -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/fast_float -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/re2 -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/miniz -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/utf8proc/include -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/concurrentqueue -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/pcg -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/pdqsort -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/tdigest -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/mbedtls/include -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/httplib -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/jaro_winkler -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/vergesort -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/yyjson/include -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/third_party/zstd/include -ID:/a/duckdb-sqlite/duckdb-sqlite/build/release/codegen/include -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/extension -ID:/a/duckdb-sqlite/duckdb-sqlite/src/include -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/extension/tpch/include -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/extension/core_functions/include -ID:/a/duckdb-sqlite/duckdb-sqlite/duckdb/extension/parquet/include -O3 -DNDEBUG -ffunction-sections -fdata-sections -O3 -DNDEBUG   -fdiagnostics-color=always -std=c++17 -MD -MT src/function/aggregate/distributive/CMakeFiles/duckdb_aggr_distr.dir/ub_duckdb_aggr_distr.cpp.obj -MF src\function\aggregate\distributive\CMakeFiles\duckdb_aggr_distr.dir\ub_duckdb_aggr_distr.cpp.obj.d -o src/function/aggregate/distributive/CMakeFiles/duckdb_aggr_distr.dir/ub_duckdb_aggr_distr.cpp.obj -c D:/a/duckdb-sqlite/duckdb-sqlite/build/release/src/function/aggregate/distributive/ub_duckdb_aggr_distr.cpp
In file included from D:/a/duckdb-sqlite/duckdb-sqlite/build/release/src/function/aggregate/distributive/ub_duckdb_aggr_distr.cpp:3:
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp: In instantiation of 'static void duckdb::{anonymous}::FirstFunctionString<LAST, SKIP_NULLS>::ClusteredOpInternal(STATE_TYPE&, const INPUT_TYPE*, duckdb::AggregateUnaryInput&, const sel_t*, const duckdb::SelectionVector&, const duckdb::ValidityMask&, duckdb::idx_t, duckdb::idx_t) [with INPUT_TYPE = int; STATE_TYPE = int; OP = duckdb::{anonymous}::FirstFunctionString<false, false>; bool ALL_VALID = false; bool LAST = false; bool SKIP_NULLS = false; duckdb::sel_t = unsigned int; duckdb::idx_t = long long unsigned int]':
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:511:63:   recursively required by substitution of 'template<class OP> struct duckdb::AggregateExecutor::HasClusteredOperation<OP, duckdb::AggregateExecutor::void_t_helper<decltype (& OP::ClusteredOp<int, int, OP>)> > [with OP = duckdb::{anonymous}::FirstFunctionString<false, false>]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:511:63:   required from 'static void (* duckdb::AggregateFunction::UnaryClusterUpdateCallback())(duckdb::Vector*, duckdb::AggregateInputData&, duckdb::idx_t, const duckdb::ClusteredAggr&, duckdb::idx_t) [with STATE = duckdb::{anonymous}::FirstState<duckdb::string_t>; INPUT_TYPE = duckdb::string_t; OP = duckdb::{anonymous}::FirstFunctionString<false, false>; duckdb::aggregate_cluster_update_t = void (*)(duckdb::Vector*, duckdb::AggregateInputData&, long long unsigned int, const duckdb::ClusteredAggr&, long long unsigned int); duckdb::idx_t = long long unsigned int]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:537:77:   required from 'static duckdb::AggregateFunction duckdb::AggregateFunction::UnaryAggregate(const duckdb::LogicalType&, duckdb::LogicalType, duckdb::FunctionNullHandling) [with STATE = duckdb::{anonymous}::FirstState<duckdb::string_t>; INPUT_TYPE = duckdb::string_t; RESULT_TYPE = duckdb::string_t; OP = duckdb::{anonymous}::FirstFunctionString<false, false>; duckdb::AggregateDestructorType destructor_type = duckdb::AggregateDestructorType::STANDARD]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:403:87:   required from 'duckdb::AggregateFunction duckdb::{anonymous}::GetFirstFunction(const duckdb::LogicalType&) [with bool LAST = false; bool SKIP_NULLS = false]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:469:48:   required from here
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:190:22: error: request for member 'is_set' in 'state', which is of non-class type 'int'
  190 |   if (!LAST && state.is_set) {
      |                ~~~~~~^~~~~~
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:196:76: error: no matching function for call to 'duckdb::{anonymous}::FirstFunctionString<false, false>::SetValue<int>(int&, duckdb::AggregateInputData&, const int&, bool&)'
  196 |    FirstFunctionStringBase<LAST, SKIP_NULLS>::template SetValue<STATE_TYPE>(state, input.input, vals[idx],
      |    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  197 |                                                                             is_null);
      |                                                                             ~~~~~~~~
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:128:14: note: candidate: 'template<class STATE, bool COMBINE> static void duckdb::{anonymous}::FirstFunctionStringBase<LAST, SKIP_NULLS>::SetValue(STATE&, duckdb::AggregateInputData&, duckdb::string_t, bool) [with STATE = STATE; bool COMBINE = COMBINE; bool LAST = false; bool SKIP_NULLS = false]'
  128 |  static void SetValue(STATE &state, AggregateInputData &input_data, string_t value, bool is_null) {
      |              ^~~~~~~~
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:128:14: note:   template argument deduction/substitution failed:
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:196:101: note:   cannot convert '*(vals + ((sizetype)(idx * 4)))' (type 'const int') to type 'duckdb::string_t'
  196 |    FirstFunctionStringBase<LAST, SKIP_NULLS>::template SetValue<STATE_TYPE>(state, input.input, vals[idx],
      |                                                                                                 ~~~~^
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:198:17: error: request for member 'is_set' in 'state', which is of non-class type 'int'
  198 |    return state.is_set;
      |           ~~~~~~^~~~~~
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp: In instantiation of 'static void duckdb::{anonymous}::FirstFunctionString<LAST, SKIP_NULLS>::ClusteredOpInternal(STATE_TYPE&, const INPUT_TYPE*, duckdb::AggregateUnaryInput&, const sel_t*, const duckdb::SelectionVector&, const duckdb::ValidityMask&, duckdb::idx_t, duckdb::idx_t) [with INPUT_TYPE = int; STATE_TYPE = int; OP = duckdb::{anonymous}::FirstFunctionString<false, false>; bool ALL_VALID = true; bool LAST = false; bool SKIP_NULLS = false; duckdb::sel_t = unsigned int; duckdb::idx_t = long long unsigned int]':
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:511:63:   recursively required by substitution of 'template<class OP> struct duckdb::AggregateExecutor::HasClusteredOperation<OP, duckdb::AggregateExecutor::void_t_helper<decltype (& OP::ClusteredOp<int, int, OP>)> > [with OP = duckdb::{anonymous}::FirstFunctionString<false, false>]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:511:63:   required from 'static void (* duckdb::AggregateFunction::UnaryClusterUpdateCallback())(duckdb::Vector*, duckdb::AggregateInputData&, duckdb::idx_t, const duckdb::ClusteredAggr&, duckdb::idx_t) [with STATE = duckdb::{anonymous}::FirstState<duckdb::string_t>; INPUT_TYPE = duckdb::string_t; OP = duckdb::{anonymous}::FirstFunctionString<false, false>; duckdb::aggregate_cluster_update_t = void (*)(duckdb::Vector*, duckdb::AggregateInputData&, long long unsigned int, const duckdb::ClusteredAggr&, long long unsigned int); duckdb::idx_t = long long unsigned int]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:537:77:   required from 'static duckdb::AggregateFunction duckdb::AggregateFunction::UnaryAggregate(const duckdb::LogicalType&, duckdb::LogicalType, duckdb::FunctionNullHandling) [with STATE = duckdb::{anonymous}::FirstState<duckdb::string_t>; INPUT_TYPE = duckdb::string_t; RESULT_TYPE = duckdb::string_t; OP = duckdb::{anonymous}::FirstFunctionString<false, false>; duckdb::AggregateDestructorType destructor_type = duckdb::AggregateDestructorType::STANDARD]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:403:87:   required from 'duckdb::AggregateFunction duckdb::{anonymous}::GetFirstFunction(const duckdb::LogicalType&) [with bool LAST = false; bool SKIP_NULLS = false]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:469:48:   required from here
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:190:22: error: request for member 'is_set' in 'state', which is of non-class type 'int'
  190 |   if (!LAST && state.is_set) {
      |                ~~~~~~^~~~~~
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:196:76: error: no matching function for call to 'duckdb::{anonymous}::FirstFunctionString<false, false>::SetValue<int>(int&, duckdb::AggregateInputData&, const int&, bool&)'
  196 |    FirstFunctionStringBase<LAST, SKIP_NULLS>::template SetValue<STATE_TYPE>(state, input.input, vals[idx],
      |    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  197 |                                                                             is_null);
      |                                                                             ~~~~~~~~
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:128:14: note: candidate: 'template<class STATE, bool COMBINE> static void duckdb::{anonymous}::FirstFunctionStringBase<LAST, SKIP_NULLS>::SetValue(STATE&, duckdb::AggregateInputData&, duckdb::string_t, bool) [with STATE = STATE; bool COMBINE = COMBINE; bool LAST = false; bool SKIP_NULLS = false]'
  128 |  static void SetValue(STATE &state, AggregateInputData &input_data, string_t value, bool is_null) {
      |              ^~~~~~~~
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:128:14: note:   template argument deduction/substitution failed:
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:196:101: note:   cannot convert '*(vals + ((sizetype)(idx * 4)))' (type 'const int') to type 'duckdb::string_t'
  196 |    FirstFunctionStringBase<LAST, SKIP_NULLS>::template SetValue<STATE_TYPE>(state, input.input, vals[idx],
      |                                                                                                 ~~~~^
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:198:17: error: request for member 'is_set' in 'state', which is of non-class type 'int'
  198 |    return state.is_set;
      |           ~~~~~~^~~~~~
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp: In instantiation of 'static void duckdb::{anonymous}::FirstFunctionString<LAST, SKIP_NULLS>::ClusteredOpInternal(STATE_TYPE&, const INPUT_TYPE*, duckdb::AggregateUnaryInput&, const sel_t*, const duckdb::SelectionVector&, const duckdb::ValidityMask&, duckdb::idx_t, duckdb::idx_t) [with INPUT_TYPE = int; STATE_TYPE = int; OP = duckdb::{anonymous}::FirstFunctionString<true, false>; bool ALL_VALID = false; bool LAST = true; bool SKIP_NULLS = false; duckdb::sel_t = unsigned int; duckdb::idx_t = long long unsigned int]':
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:511:63:   recursively required by substitution of 'template<class OP> struct duckdb::AggregateExecutor::HasClusteredOperation<OP, duckdb::AggregateExecutor::void_t_helper<decltype (& OP::ClusteredOp<int, int, OP>)> > [with OP = duckdb::{anonymous}::FirstFunctionString<true, false>]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:511:63:   required from 'static void (* duckdb::AggregateFunction::UnaryClusterUpdateCallback())(duckdb::Vector*, duckdb::AggregateInputData&, duckdb::idx_t, const duckdb::ClusteredAggr&, duckdb::idx_t) [with STATE = duckdb::{anonymous}::FirstState<duckdb::string_t>; INPUT_TYPE = duckdb::string_t; OP = duckdb::{anonymous}::FirstFunctionString<true, false>; duckdb::aggregate_cluster_update_t = void (*)(duckdb::Vector*, duckdb::AggregateInputData&, long long unsigned int, const duckdb::ClusteredAggr&, long long unsigned int); duckdb::idx_t = long long unsigned int]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:537:77:   required from 'static duckdb::AggregateFunction duckdb::AggregateFunction::UnaryAggregate(const duckdb::LogicalType&, duckdb::LogicalType, duckdb::FunctionNullHandling) [with STATE = duckdb::{anonymous}::FirstState<duckdb::string_t>; INPUT_TYPE = duckdb::string_t; RESULT_TYPE = duckdb::string_t; OP = duckdb::{anonymous}::FirstFunctionString<true, false>; duckdb::AggregateDestructorType destructor_type = duckdb::AggregateDestructorType::STANDARD]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:403:87:   required from 'duckdb::AggregateFunction duckdb::{anonymous}::GetFirstFunction(const duckdb::LogicalType&) [with bool LAST = true; bool SKIP_NULLS = false]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:475:47:   required from here
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:190:22: error: request for member 'is_set' in 'state', which is of non-class type 'int'
  190 |   if (!LAST && state.is_set) {
      |                ~~~~~~^~~~~~
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:196:76: error: no matching function for call to 'duckdb::{anonymous}::FirstFunctionString<true, false>::SetValue<int>(int&, duckdb::AggregateInputData&, const int&, bool&)'
  196 |    FirstFunctionStringBase<LAST, SKIP_NULLS>::template SetValue<STATE_TYPE>(state, input.input, vals[idx],
      |    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  197 |                                                                             is_null);
      |                                                                             ~~~~~~~~
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:128:14: note: candidate: 'template<class STATE, bool COMBINE> static void duckdb::{anonymous}::FirstFunctionStringBase<LAST, SKIP_NULLS>::SetValue(STATE&, duckdb::AggregateInputData&, duckdb::string_t, bool) [with STATE = STATE; bool COMBINE = COMBINE; bool LAST = true; bool SKIP_NULLS = false]'
  128 |  static void SetValue(STATE &state, AggregateInputData &input_data, string_t value, bool is_null) {
      |              ^~~~~~~~
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:128:14: note:   template argument deduction/substitution failed:
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:196:101: note:   cannot convert '*(vals + ((sizetype)(idx * 4)))' (type 'const int') to type 'duckdb::string_t'
  196 |    FirstFunctionStringBase<LAST, SKIP_NULLS>::template SetValue<STATE_TYPE>(state, input.input, vals[idx],
      |                                                                                                 ~~~~^
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:198:17: error: request for member 'is_set' in 'state', which is of non-class type 'int'
  198 |    return state.is_set;
      |           ~~~~~~^~~~~~
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp: In instantiation of 'static void duckdb::{anonymous}::FirstFunctionString<LAST, SKIP_NULLS>::ClusteredOpInternal(STATE_TYPE&, const INPUT_TYPE*, duckdb::AggregateUnaryInput&, const sel_t*, const duckdb::SelectionVector&, const duckdb::ValidityMask&, duckdb::idx_t, duckdb::idx_t) [with INPUT_TYPE = int; STATE_TYPE = int; OP = duckdb::{anonymous}::FirstFunctionString<true, false>; bool ALL_VALID = true; bool LAST = true; bool SKIP_NULLS = false; duckdb::sel_t = unsigned int; duckdb::idx_t = long long unsigned int]':
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:511:63:   recursively required by substitution of 'template<class OP> struct duckdb::AggregateExecutor::HasClusteredOperation<OP, duckdb::AggregateExecutor::void_t_helper<decltype (& OP::ClusteredOp<int, int, OP>)> > [with OP = duckdb::{anonymous}::FirstFunctionString<true, false>]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:511:63:   required from 'static void (* duckdb::AggregateFunction::UnaryClusterUpdateCallback())(duckdb::Vector*, duckdb::AggregateInputData&, duckdb::idx_t, const duckdb::ClusteredAggr&, duckdb::idx_t) [with STATE = duckdb::{anonymous}::FirstState<duckdb::string_t>; INPUT_TYPE = duckdb::string_t; OP = duckdb::{anonymous}::FirstFunctionString<true, false>; duckdb::aggregate_cluster_update_t = void (*)(duckdb::Vector*, duckdb::AggregateInputData&, long long unsigned int, const duckdb::ClusteredAggr&, long long unsigned int); duckdb::idx_t = long long unsigned int]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:537:77:   required from 'static duckdb::AggregateFunction duckdb::AggregateFunction::UnaryAggregate(const duckdb::LogicalType&, duckdb::LogicalType, duckdb::FunctionNullHandling) [with STATE = duckdb::{anonymous}::FirstState<duckdb::string_t>; INPUT_TYPE = duckdb::string_t; RESULT_TYPE = duckdb::string_t; OP = duckdb::{anonymous}::FirstFunctionString<true, false>; duckdb::AggregateDestructorType destructor_type = duckdb::AggregateDestructorType::STANDARD]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:403:87:   required from 'duckdb::AggregateFunction duckdb::{anonymous}::GetFirstFunction(const duckdb::LogicalType&) [with bool LAST = true; bool SKIP_NULLS = false]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:475:47:   required from here
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:190:22: error: request for member 'is_set' in 'state', which is of non-class type 'int'
  190 |   if (!LAST && state.is_set) {
      |                ~~~~~~^~~~~~
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:196:76: error: no matching function for call to 'duckdb::{anonymous}::FirstFunctionString<true, false>::SetValue<int>(int&, duckdb::AggregateInputData&, const int&, bool&)'
  196 |    FirstFunctionStringBase<LAST, SKIP_NULLS>::template SetValue<STATE_TYPE>(state, input.input, vals[idx],
      |    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  197 |                                                                             is_null);
      |                                                                             ~~~~~~~~
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:128:14: note: candidate: 'template<class STATE, bool COMBINE> static void duckdb::{anonymous}::FirstFunctionStringBase<LAST, SKIP_NULLS>::SetValue(STATE&, duckdb::AggregateInputData&, duckdb::string_t, bool) [with STATE = STATE; bool COMBINE = COMBINE; bool LAST = true; bool SKIP_NULLS = false]'
  128 |  static void SetValue(STATE &state, AggregateInputData &input_data, string_t value, bool is_null) {
      |              ^~~~~~~~
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:128:14: note:   template argument deduction/substitution failed:
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:196:101: note:   cannot convert '*(vals + ((sizetype)(idx * 4)))' (type 'const int') to type 'duckdb::string_t'
  196 |    FirstFunctionStringBase<LAST, SKIP_NULLS>::template SetValue<STATE_TYPE>(state, input.input, vals[idx],
      |                                                                                                 ~~~~^
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:198:17: error: request for member 'is_set' in 'state', which is of non-class type 'int'
  198 |    return state.is_set;
      |           ~~~~~~^~~~~~
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp: In instantiation of 'static void duckdb::{anonymous}::FirstFunctionString<LAST, SKIP_NULLS>::ClusteredOpInternal(STATE_TYPE&, const INPUT_TYPE*, duckdb::AggregateUnaryInput&, const sel_t*, const duckdb::SelectionVector&, const duckdb::ValidityMask&, duckdb::idx_t, duckdb::idx_t) [with INPUT_TYPE = int; STATE_TYPE = int; OP = duckdb::{anonymous}::FirstFunctionString<false, true>; bool ALL_VALID = false; bool LAST = false; bool SKIP_NULLS = true; duckdb::sel_t = unsigned int; duckdb::idx_t = long long unsigned int]':
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:511:63:   recursively required by substitution of 'template<class OP> struct duckdb::AggregateExecutor::HasClusteredOperation<OP, duckdb::AggregateExecutor::void_t_helper<decltype (& OP::ClusteredOp<int, int, OP>)> > [with OP = duckdb::{anonymous}::FirstFunctionString<false, true>]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:511:63:   required from 'static void (* duckdb::AggregateFunction::UnaryClusterUpdateCallback())(duckdb::Vector*, duckdb::AggregateInputData&, duckdb::idx_t, const duckdb::ClusteredAggr&, duckdb::idx_t) [with STATE = duckdb::{anonymous}::FirstState<duckdb::string_t>; INPUT_TYPE = duckdb::string_t; OP = duckdb::{anonymous}::FirstFunctionString<false, true>; duckdb::aggregate_cluster_update_t = void (*)(duckdb::Vector*, duckdb::AggregateInputData&, long long unsigned int, const duckdb::ClusteredAggr&, long long unsigned int); duckdb::idx_t = long long unsigned int]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:537:77:   required from 'static duckdb::AggregateFunction duckdb::AggregateFunction::UnaryAggregate(const duckdb::LogicalType&, duckdb::LogicalType, duckdb::FunctionNullHandling) [with STATE = duckdb::{anonymous}::FirstState<duckdb::string_t>; INPUT_TYPE = duckdb::string_t; RESULT_TYPE = duckdb::string_t; OP = duckdb::{anonymous}::FirstFunctionString<false, true>; duckdb::AggregateDestructorType destructor_type = duckdb::AggregateDestructorType::STANDARD]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:403:87:   required from 'duckdb::AggregateFunction duckdb::{anonymous}::GetFirstFunction(const duckdb::LogicalType&) [with bool LAST = false; bool SKIP_NULLS = true]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:428:67:   required from 'duckdb::unique_ptr<duckdb::FunctionData> duckdb::{anonymous}::BindDecimalFirst(duckdb::BindAggregateFunctionInput&) [with bool LAST = false; bool SKIP_NULLS = true]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:458:18:   required from 'void duckdb::{anonymous}::AddFirstOperator(duckdb::AggregateFunctionSet&) [with bool LAST = false; bool SKIP_NULLS = true]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:494:41:   required from here
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:190:22: error: request for member 'is_set' in 'state', which is of non-class type 'int'
  190 |   if (!LAST && state.is_set) {
      |                ~~~~~~^~~~~~
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:196:76: error: no matching function for call to 'duckdb::{anonymous}::FirstFunctionString<false, true>::SetValue<int>(int&, duckdb::AggregateInputData&, const int&, bool&)'
  196 |    FirstFunctionStringBase<LAST, SKIP_NULLS>::template SetValue<STATE_TYPE>(state, input.input, vals[idx],
      |    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  197 |                                                                             is_null);
      |                                                                             ~~~~~~~~
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:128:14: note: candidate: 'template<class STATE, bool COMBINE> static void duckdb::{anonymous}::FirstFunctionStringBase<LAST, SKIP_NULLS>::SetValue(STATE&, duckdb::AggregateInputData&, duckdb::string_t, bool) [with STATE = STATE; bool COMBINE = COMBINE; bool LAST = false; bool SKIP_NULLS = true]'
  128 |  static void SetValue(STATE &state, AggregateInputData &input_data, string_t value, bool is_null) {
      |              ^~~~~~~~
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:128:14: note:   template argument deduction/substitution failed:
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:196:101: note:   cannot convert '*(vals + ((sizetype)(idx * 4)))' (type 'const int') to type 'duckdb::string_t'
  196 |    FirstFunctionStringBase<LAST, SKIP_NULLS>::template SetValue<STATE_TYPE>(state, input.input, vals[idx],
      |                                                                                                 ~~~~^
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:198:17: error: request for member 'is_set' in 'state', which is of non-class type 'int'
  198 |    return state.is_set;
      |           ~~~~~~^~~~~~
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp: In instantiation of 'static void duckdb::{anonymous}::FirstFunctionString<LAST, SKIP_NULLS>::ClusteredOpInternal(STATE_TYPE&, const INPUT_TYPE*, duckdb::AggregateUnaryInput&, const sel_t*, const duckdb::SelectionVector&, const duckdb::ValidityMask&, duckdb::idx_t, duckdb::idx_t) [with INPUT_TYPE = int; STATE_TYPE = int; OP = duckdb::{anonymous}::FirstFunctionString<false, true>; bool ALL_VALID = true; bool LAST = false; bool SKIP_NULLS = true; duckdb::sel_t = unsigned int; duckdb::idx_t = long long unsigned int]':
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:511:63:   recursively required by substitution of 'template<class OP> struct duckdb::AggregateExecutor::HasClusteredOperation<OP, duckdb::AggregateExecutor::void_t_helper<decltype (& OP::ClusteredOp<int, int, OP>)> > [with OP = duckdb::{anonymous}::FirstFunctionString<false, true>]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:511:63:   required from 'static void (* duckdb::AggregateFunction::UnaryClusterUpdateCallback())(duckdb::Vector*, duckdb::AggregateInputData&, duckdb::idx_t, const duckdb::ClusteredAggr&, duckdb::idx_t) [with STATE = duckdb::{anonymous}::FirstState<duckdb::string_t>; INPUT_TYPE = duckdb::string_t; OP = duckdb::{anonymous}::FirstFunctionString<false, true>; duckdb::aggregate_cluster_update_t = void (*)(duckdb::Vector*, duckdb::AggregateInputData&, long long unsigned int, const duckdb::ClusteredAggr&, long long unsigned int); duckdb::idx_t = long long unsigned int]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:537:77:   required from 'static duckdb::AggregateFunction duckdb::AggregateFunction::UnaryAggregate(const duckdb::LogicalType&, duckdb::LogicalType, duckdb::FunctionNullHandling) [with STATE = duckdb::{anonymous}::FirstState<duckdb::string_t>; INPUT_TYPE = duckdb::string_t; RESULT_TYPE = duckdb::string_t; OP = duckdb::{anonymous}::FirstFunctionString<false, true>; duckdb::AggregateDestructorType destructor_type = duckdb::AggregateDestructorType::STANDARD]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:403:87:   required from 'duckdb::AggregateFunction duckdb::{anonymous}::GetFirstFunction(const duckdb::LogicalType&) [with bool LAST = false; bool SKIP_NULLS = true]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:428:67:   required from 'duckdb::unique_ptr<duckdb::FunctionData> duckdb::{anonymous}::BindDecimalFirst(duckdb::BindAggregateFunctionInput&) [with bool LAST = false; bool SKIP_NULLS = true]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:458:18:   required from 'void duckdb::{anonymous}::AddFirstOperator(duckdb::AggregateFunctionSet&) [with bool LAST = false; bool SKIP_NULLS = true]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:494:41:   required from here
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:190:22: error: request for member 'is_set' in 'state', which is of non-class type 'int'
  190 |   if (!LAST && state.is_set) {
      |                ~~~~~~^~~~~~
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:196:76: error: no matching function for call to 'duckdb::{anonymous}::FirstFunctionString<false, true>::SetValue<int>(int&, duckdb::AggregateInputData&, const int&, bool&)'
  196 |    FirstFunctionStringBase<LAST, SKIP_NULLS>::template SetValue<STATE_TYPE>(state, input.input, vals[idx],
      |    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  197 |                                                                             is_null);
      |                                                                             ~~~~~~~~
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:128:14: note: candidate: 'template<class STATE, bool COMBINE> static void duckdb::{anonymous}::FirstFunctionStringBase<LAST, SKIP_NULLS>::SetValue(STATE&, duckdb::AggregateInputData&, duckdb::string_t, bool) [with STATE = STATE; bool COMBINE = COMBINE; bool LAST = false; bool SKIP_NULLS = true]'
  128 |  static void SetValue(STATE &state, AggregateInputData &input_data, string_t value, bool is_null) {
      |              ^~~~~~~~
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:128:14: note:   template argument deduction/substitution failed:
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:196:101: note:   cannot convert '*(vals + ((sizetype)(idx * 4)))' (type 'const int') to type 'duckdb::string_t'
  196 |    FirstFunctionStringBase<LAST, SKIP_NULLS>::template SetValue<STATE_TYPE>(state, input.input, vals[idx],
      |                                                                                                 ~~~~^
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:198:17: error: request for member 'is_set' in 'state', which is of non-class type 'int'
  198 |    return state.is_set;
      |           ~~~~~~^~~~~~
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp: In instantiation of 'static void duckdb::{anonymous}::FirstFunction<LAST, SKIP_NULLS>::ClusteredOpInternal(STATE_TYPE&, const INPUT_TYPE*, const sel_t*, const duckdb::SelectionVector&, const duckdb::ValidityMask&, duckdb::idx_t, duckdb::idx_t) [with INPUT_TYPE = int; STATE_TYPE = int; OP = duckdb::{anonymous}::FirstFunction<false, true>; bool ALL_VALID = false; bool LAST = false; bool SKIP_NULLS = true; duckdb::sel_t = unsigned int; duckdb::idx_t = long long unsigned int]':
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/common/vector_operations/aggregate_executor.hpp:630:44:   recursively required by substitution of 'template<class OP> struct duckdb::AggregateExecutor::HasClusteredOperation<OP, duckdb::AggregateExecutor::void_t_helper<decltype (& OP::ClusteredOp<int, int, OP>)> > [with OP = duckdb::{anonymous}::FirstFunction<false, true>]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/common/vector_operations/aggregate_executor.hpp:630:44:   required from 'static void duckdb::AggregateExecutor::ExecuteUnaryClustered(duckdb::Vector&, duckdb::AggregateInputData&, const duckdb::ClusteredAggr&, duckdb::idx_t) [with STATE_TYPE = duckdb::{anonymous}::FirstState<signed char>; INPUT_TYPE = signed char; OP = duckdb::{anonymous}::FirstFunction<false, true>; duckdb::idx_t = long long unsigned int]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/common/vector_operations/aggregate_executor.hpp:640:53:   required from 'static void duckdb::AggregateExecutor::UnaryScatter(duckdb::Vector&, duckdb::Vector&, duckdb::AggregateInputData&, duckdb::idx_t) [with STATE_TYPE = duckdb::{anonymous}::FirstState<signed char>; INPUT_TYPE = signed char; OP = duckdb::{anonymous}::FirstFunction<false, true>; duckdb::idx_t = long long unsigned int]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:601:48:   required from 'static void duckdb::AggregateFunction::UnaryScatterUpdate(duckdb::Vector*, duckdb::AggregateInputData&, duckdb::idx_t, duckdb::Vector&, duckdb::idx_t) [with STATE = duckdb::{anonymous}::FirstState<signed char>; T = signed char; OP = duckdb::{anonymous}::FirstFunction<false, true>; duckdb::idx_t = long long unsigned int]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:331:6:   required from 'duckdb::AggregateFunction duckdb::{anonymous}::GetFirstAggregateTemplated(const duckdb::LogicalType&) [with T = signed char; bool LAST = false; bool SKIP_NULLS = true]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:370:62:   required from 'duckdb::AggregateFunction duckdb::{anonymous}::GetFirstFunction(const duckdb::LogicalType&) [with bool LAST = false; bool SKIP_NULLS = true]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:428:67:   required from 'duckdb::unique_ptr<duckdb::FunctionData> duckdb::{anonymous}::BindDecimalFirst(duckdb::BindAggregateFunctionInput&) [with bool LAST = false; bool SKIP_NULLS = true]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:458:18:   required from 'void duckdb::{anonymous}::AddFirstOperator(duckdb::AggregateFunctionSet&) [with bool LAST = false; bool SKIP_NULLS = true]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:494:41:   required from here
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:78:22: error: request for member 'is_set' in 'state', which is of non-class type 'int'
   78 |   if (!LAST && state.is_set) {
      |                ~~~~~~^~~~~~
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:84:11: error: request for member 'is_set' in 'state', which is of non-class type 'int'
   84 |     state.is_set = true;
      |     ~~~~~~^~~~~~
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:85:11: error: request for member 'is_null' in 'state', which is of non-class type 'int'
   85 |     state.is_null = false;
      |     ~~~~~~^~~~~~~
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:86:11: error: request for member 'value' in 'state', which is of non-class type 'int'
   86 |     state.value = vals[idx];
      |     ~~~~~~^~~~~
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:90:11: error: request for member 'is_set' in 'state', which is of non-class type 'int'
   90 |     state.is_set = true;
      |     ~~~~~~^~~~~~
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:91:11: error: request for member 'is_null' in 'state', which is of non-class type 'int'
   91 |     state.is_null = true;
      |     ~~~~~~^~~~~~~
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp: In instantiation of 'static void duckdb::{anonymous}::FirstFunction<LAST, SKIP_NULLS>::ClusteredOpInternal(STATE_TYPE&, const INPUT_TYPE*, const sel_t*, const duckdb::SelectionVector&, const duckdb::ValidityMask&, duckdb::idx_t, duckdb::idx_t) [with INPUT_TYPE = int; STATE_TYPE = int; OP = duckdb::{anonymous}::FirstFunction<false, true>; bool ALL_VALID = true; bool LAST = false; bool SKIP_NULLS = true; duckdb::sel_t = unsigned int; duckdb::idx_t = long long unsigned int]':
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/common/vector_operations/aggregate_executor.hpp:630:44:   recursively required by substitution of 'template<class OP> struct duckdb::AggregateExecutor::HasClusteredOperation<OP, duckdb::AggregateExecutor::void_t_helper<decltype (& OP::ClusteredOp<int, int, OP>)> > [with OP = duckdb::{anonymous}::FirstFunction<false, true>]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/common/vector_operations/aggregate_executor.hpp:630:44:   required from 'static void duckdb::AggregateExecutor::ExecuteUnaryClustered(duckdb::Vector&, duckdb::AggregateInputData&, const duckdb::ClusteredAggr&, duckdb::idx_t) [with STATE_TYPE = duckdb::{anonymous}::FirstState<signed char>; INPUT_TYPE = signed char; OP = duckdb::{anonymous}::FirstFunction<false, true>; duckdb::idx_t = long long unsigned int]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/common/vector_operations/aggregate_executor.hpp:640:53:   required from 'static void duckdb::AggregateExecutor::UnaryScatter(duckdb::Vector&, duckdb::Vector&, duckdb::AggregateInputData&, duckdb::idx_t) [with STATE_TYPE = duckdb::{anonymous}::FirstState<signed char>; INPUT_TYPE = signed char; OP = duckdb::{anonymous}::FirstFunction<false, true>; duckdb::idx_t = long long unsigned int]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/include/duckdb/function/aggregate_function.hpp:601:48:   required from 'static void duckdb::AggregateFunction::UnaryScatterUpdate(duckdb::Vector*, duckdb::AggregateInputData&, duckdb::idx_t, duckdb::Vector&, duckdb::idx_t) [with STATE = duckdb::{anonymous}::FirstState<signed char>; T = signed char; OP = duckdb::{anonymous}::FirstFunction<false, true>; duckdb::idx_t = long long unsigned int]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:331:6:   required from 'duckdb::AggregateFunction duckdb::{anonymous}::GetFirstAggregateTemplated(const duckdb::LogicalType&) [with T = signed char; bool LAST = false; bool SKIP_NULLS = true]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:370:62:   required from 'duckdb::AggregateFunction duckdb::{anonymous}::GetFirstFunction(const duckdb::LogicalType&) [with bool LAST = false; bool SKIP_NULLS = true]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:428:67:   required from 'duckdb::unique_ptr<duckdb::FunctionData> duckdb::{anonymous}::BindDecimalFirst(duckdb::BindAggregateFunctionInput&) [with bool LAST = false; bool SKIP_NULLS = true]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:458:18:   required from 'void duckdb::{anonymous}::AddFirstOperator(duckdb::AggregateFunctionSet&) [with bool LAST = false; bool SKIP_NULLS = true]'
D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:494:41:   required from here
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:78:22: error: request for member 'is_set' in 'state', which is of non-class type 'int'
   78 |   if (!LAST && state.is_set) {
      |                ~~~~~~^~~~~~
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:84:11: error: request for member 'is_set' in 'state', which is of non-class type 'int'
   84 |     state.is_set = true;
      |     ~~~~~~^~~~~~
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:85:11: error: request for member 'is_null' in 'state', which is of non-class type 'int'
   85 |     state.is_null = false;
      |     ~~~~~~^~~~~~~
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:86:11: error: request for member 'value' in 'state', which is of non-class type 'int'
   86 |     state.value = vals[idx];
      |     ~~~~~~^~~~~
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:90:11: error: request for member 'is_set' in 'state', which is of non-class type 'int'
   90 |     state.is_set = true;
      |     ~~~~~~^~~~~~
Error: D:/a/duckdb-sqlite/duckdb-sqlite/duckdb/src/function/aggregate/distributive/first_last_any.cpp:91:11: error: request for member 'is_null' in 'state', which is of non-class type 'int'
   91 |     state.is_null = true;
      |     ~~~~~~^~~~~~~

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions