eis/mix_cc/sql/preprocessor.h

939 lines
33 KiB
C
Raw Normal View History

#pragma once
#include <boost/hana.hpp>
#define MIX_CC_X_STR(m) MIX_CC_STR(m)
#define MIX_CC_STR(m) #m
#define MIX_CC_SQL_MAKE_TABLE(TAB_NAME, ...) \
struct TAB_NAME { \
auto get_table_name() -> decltype(auto) { return #TAB_NAME##_s; } \
MIX_CC_SQL_MAKE_COLS(__VA_ARGS__) \
struct DataStruct { \
BOOST_HANA_DEFINE_STRUCT(DataStruct, __VA_ARGS__); \
}; \
};
#define MIX_CC_SQL_MAKE_TABLE_STRUCT(...) \
MIX_CC_SQL_MAKE_TABLE_STRUCT_IMPL(BOOST_HANA_PP_NARG(__VA_ARGS__), \
__VA_ARGS__)
#define MIX_CC_SQL_MAKE_TABLE_STRUCT_IMPL(N, ...) \
BOOST_HANA_PP_CONCAT(MIX_CC_SQL_MAKE_TABLE_STRUCT_IMPL_, N)(__VA_ARGS__)
#define MIX_CC_SQL_MAKE_COLS(...) \
MIX_CC_SQL_MAKE_COLS_IMPL(BOOST_HANA_PP_NARG(__VA_ARGS__), __VA_ARGS__)
#define MIX_CC_SQL_MAKE_COLS_IMPL(N, ...) \
BOOST_HANA_PP_CONCAT(MIX_CC_SQL_MAKE_COLS_IMPL_, N)(__VA_ARGS__)
#define MIX_CC_SQL_MAKE_COLS_PROXY(m1) \
MIX_CC_SQL_MAKE_COL(BOOST_HANA_PP_DROP_BACK m1, BOOST_HANA_PP_BACK m1, \
MIX_CC_X_STR(BOOST_HANA_PP_BACK m1));
#define MIX_CC_SQL_MAKE_COL(TYPE, NAME, NAME_STR) \
auto NAME()->decltype(auto) { \
return mix_cc::sql::make_column_c<TYPE>(BOOST_HANA_STRING(NAME_STR)); \
}
#define MIX_CC_SQL_MAKE_COLS_IMPL_1(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)
#define MIX_CC_SQL_MAKE_COLS_IMPL_2(m1, m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)
#define MIX_CC_SQL_MAKE_COLS_IMPL_3(m1, m2, m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)
#define MIX_CC_SQL_MAKE_COLS_IMPL_4(m1, m2, m3, m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)
#define MIX_CC_SQL_MAKE_COLS_IMPL_5(m1, m2, m3, m4, m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)
#define MIX_CC_SQL_MAKE_COLS_IMPL_6(m1, m2, m3, m4, m5, m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)
#define MIX_CC_SQL_MAKE_COLS_IMPL_7(m1, m2, m3, m4, m5, m6, m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)
#define MIX_CC_SQL_MAKE_COLS_IMPL_8(m1, m2, m3, m4, m5, m6, m7, m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)
#define MIX_CC_SQL_MAKE_COLS_IMPL_9(m1, m2, m3, m4, m5, m6, m7, m8, m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)
#define MIX_CC_SQL_MAKE_COLS_IMPL_10(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)
#define MIX_CC_SQL_MAKE_COLS_IMPL_11(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)
#define MIX_CC_SQL_MAKE_COLS_IMPL_12(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)
#define MIX_CC_SQL_MAKE_COLS_IMPL_13(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)
#define MIX_CC_SQL_MAKE_COLS_IMPL_14(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)
#define MIX_CC_SQL_MAKE_COLS_IMPL_15(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)
#define MIX_CC_SQL_MAKE_COLS_IMPL_16(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)
#define MIX_CC_SQL_MAKE_COLS_IMPL_17(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)
#define MIX_CC_SQL_MAKE_COLS_IMPL_18(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)
#define MIX_CC_SQL_MAKE_COLS_IMPL_19(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)
#define MIX_CC_SQL_MAKE_COLS_IMPL_20(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)
#define MIX_CC_SQL_MAKE_COLS_IMPL_21(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)
#define MIX_CC_SQL_MAKE_COLS_IMPL_22(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m22)
#define MIX_CC_SQL_MAKE_COLS_IMPL_23(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m22)\
MIX_CC_SQL_MAKE_COLS_PROXY(m23)
#define MIX_CC_SQL_MAKE_COLS_IMPL_24(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23, m24)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m22)\
MIX_CC_SQL_MAKE_COLS_PROXY(m23)\
MIX_CC_SQL_MAKE_COLS_PROXY(m24)
#define MIX_CC_SQL_MAKE_COLS_IMPL_25(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23, m24, m25)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m22)\
MIX_CC_SQL_MAKE_COLS_PROXY(m23)\
MIX_CC_SQL_MAKE_COLS_PROXY(m24)\
MIX_CC_SQL_MAKE_COLS_PROXY(m25)
#define MIX_CC_SQL_MAKE_COLS_IMPL_26(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23, m24, m25, m26)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m22)\
MIX_CC_SQL_MAKE_COLS_PROXY(m23)\
MIX_CC_SQL_MAKE_COLS_PROXY(m24)\
MIX_CC_SQL_MAKE_COLS_PROXY(m25)\
MIX_CC_SQL_MAKE_COLS_PROXY(m26)
#define MIX_CC_SQL_MAKE_COLS_IMPL_27(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23, m24, m25, m26, m27)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m22)\
MIX_CC_SQL_MAKE_COLS_PROXY(m23)\
MIX_CC_SQL_MAKE_COLS_PROXY(m24)\
MIX_CC_SQL_MAKE_COLS_PROXY(m25)\
MIX_CC_SQL_MAKE_COLS_PROXY(m26)\
MIX_CC_SQL_MAKE_COLS_PROXY(m27)
#define MIX_CC_SQL_MAKE_COLS_IMPL_28(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23, m24, m25, m26, m27, m28)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m22)\
MIX_CC_SQL_MAKE_COLS_PROXY(m23)\
MIX_CC_SQL_MAKE_COLS_PROXY(m24)\
MIX_CC_SQL_MAKE_COLS_PROXY(m25)\
MIX_CC_SQL_MAKE_COLS_PROXY(m26)\
MIX_CC_SQL_MAKE_COLS_PROXY(m27)\
MIX_CC_SQL_MAKE_COLS_PROXY(m28)
#define MIX_CC_SQL_MAKE_COLS_IMPL_29(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23, m24, m25, m26, m27, m28, m29)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m22)\
MIX_CC_SQL_MAKE_COLS_PROXY(m23)\
MIX_CC_SQL_MAKE_COLS_PROXY(m24)\
MIX_CC_SQL_MAKE_COLS_PROXY(m25)\
MIX_CC_SQL_MAKE_COLS_PROXY(m26)\
MIX_CC_SQL_MAKE_COLS_PROXY(m27)\
MIX_CC_SQL_MAKE_COLS_PROXY(m28)\
MIX_CC_SQL_MAKE_COLS_PROXY(m29)
#define MIX_CC_SQL_MAKE_COLS_IMPL_30(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23, m24, m25, m26, m27, m28, m29, m30)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m22)\
MIX_CC_SQL_MAKE_COLS_PROXY(m23)\
MIX_CC_SQL_MAKE_COLS_PROXY(m24)\
MIX_CC_SQL_MAKE_COLS_PROXY(m25)\
MIX_CC_SQL_MAKE_COLS_PROXY(m26)\
MIX_CC_SQL_MAKE_COLS_PROXY(m27)\
MIX_CC_SQL_MAKE_COLS_PROXY(m28)\
MIX_CC_SQL_MAKE_COLS_PROXY(m29)\
MIX_CC_SQL_MAKE_COLS_PROXY(m30)
#define MIX_CC_SQL_MAKE_COLS_IMPL_31(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23, m24, m25, m26, m27, m28, m29, m30, m31)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m22)\
MIX_CC_SQL_MAKE_COLS_PROXY(m23)\
MIX_CC_SQL_MAKE_COLS_PROXY(m24)\
MIX_CC_SQL_MAKE_COLS_PROXY(m25)\
MIX_CC_SQL_MAKE_COLS_PROXY(m26)\
MIX_CC_SQL_MAKE_COLS_PROXY(m27)\
MIX_CC_SQL_MAKE_COLS_PROXY(m28)\
MIX_CC_SQL_MAKE_COLS_PROXY(m29)\
MIX_CC_SQL_MAKE_COLS_PROXY(m30)\
MIX_CC_SQL_MAKE_COLS_PROXY(m31)
#define MIX_CC_SQL_MAKE_COLS_IMPL_32(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23, m24, m25, m26, m27, m28, m29, m30, m31, m32)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m22)\
MIX_CC_SQL_MAKE_COLS_PROXY(m23)\
MIX_CC_SQL_MAKE_COLS_PROXY(m24)\
MIX_CC_SQL_MAKE_COLS_PROXY(m25)\
MIX_CC_SQL_MAKE_COLS_PROXY(m26)\
MIX_CC_SQL_MAKE_COLS_PROXY(m27)\
MIX_CC_SQL_MAKE_COLS_PROXY(m28)\
MIX_CC_SQL_MAKE_COLS_PROXY(m29)\
MIX_CC_SQL_MAKE_COLS_PROXY(m30)\
MIX_CC_SQL_MAKE_COLS_PROXY(m31)\
MIX_CC_SQL_MAKE_COLS_PROXY(m32)
#define MIX_CC_SQL_MAKE_COLS_IMPL_33(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23, m24, m25, m26, m27, m28, m29, m30, m31, m32, m33)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m22)\
MIX_CC_SQL_MAKE_COLS_PROXY(m23)\
MIX_CC_SQL_MAKE_COLS_PROXY(m24)\
MIX_CC_SQL_MAKE_COLS_PROXY(m25)\
MIX_CC_SQL_MAKE_COLS_PROXY(m26)\
MIX_CC_SQL_MAKE_COLS_PROXY(m27)\
MIX_CC_SQL_MAKE_COLS_PROXY(m28)\
MIX_CC_SQL_MAKE_COLS_PROXY(m29)\
MIX_CC_SQL_MAKE_COLS_PROXY(m30)\
MIX_CC_SQL_MAKE_COLS_PROXY(m31)\
MIX_CC_SQL_MAKE_COLS_PROXY(m32)\
MIX_CC_SQL_MAKE_COLS_PROXY(m33)
#define MIX_CC_SQL_MAKE_COLS_IMPL_34(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23, m24, m25, m26, m27, m28, m29, m30, m31, m32, m33, m34)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m22)\
MIX_CC_SQL_MAKE_COLS_PROXY(m23)\
MIX_CC_SQL_MAKE_COLS_PROXY(m24)\
MIX_CC_SQL_MAKE_COLS_PROXY(m25)\
MIX_CC_SQL_MAKE_COLS_PROXY(m26)\
MIX_CC_SQL_MAKE_COLS_PROXY(m27)\
MIX_CC_SQL_MAKE_COLS_PROXY(m28)\
MIX_CC_SQL_MAKE_COLS_PROXY(m29)\
MIX_CC_SQL_MAKE_COLS_PROXY(m30)\
MIX_CC_SQL_MAKE_COLS_PROXY(m31)\
MIX_CC_SQL_MAKE_COLS_PROXY(m32)\
MIX_CC_SQL_MAKE_COLS_PROXY(m33)\
MIX_CC_SQL_MAKE_COLS_PROXY(m34)
#define MIX_CC_SQL_MAKE_COLS_IMPL_35(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23, m24, m25, m26, m27, m28, m29, m30, m31, m32, m33, m34, m35)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m22)\
MIX_CC_SQL_MAKE_COLS_PROXY(m23)\
MIX_CC_SQL_MAKE_COLS_PROXY(m24)\
MIX_CC_SQL_MAKE_COLS_PROXY(m25)\
MIX_CC_SQL_MAKE_COLS_PROXY(m26)\
MIX_CC_SQL_MAKE_COLS_PROXY(m27)\
MIX_CC_SQL_MAKE_COLS_PROXY(m28)\
MIX_CC_SQL_MAKE_COLS_PROXY(m29)\
MIX_CC_SQL_MAKE_COLS_PROXY(m30)\
MIX_CC_SQL_MAKE_COLS_PROXY(m31)\
MIX_CC_SQL_MAKE_COLS_PROXY(m32)\
MIX_CC_SQL_MAKE_COLS_PROXY(m33)\
MIX_CC_SQL_MAKE_COLS_PROXY(m34)\
MIX_CC_SQL_MAKE_COLS_PROXY(m35)
#define MIX_CC_SQL_MAKE_COLS_IMPL_36(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23, m24, m25, m26, m27, m28, m29, m30, m31, m32, m33, m34, m35, m36)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m22)\
MIX_CC_SQL_MAKE_COLS_PROXY(m23)\
MIX_CC_SQL_MAKE_COLS_PROXY(m24)\
MIX_CC_SQL_MAKE_COLS_PROXY(m25)\
MIX_CC_SQL_MAKE_COLS_PROXY(m26)\
MIX_CC_SQL_MAKE_COLS_PROXY(m27)\
MIX_CC_SQL_MAKE_COLS_PROXY(m28)\
MIX_CC_SQL_MAKE_COLS_PROXY(m29)\
MIX_CC_SQL_MAKE_COLS_PROXY(m30)\
MIX_CC_SQL_MAKE_COLS_PROXY(m31)\
MIX_CC_SQL_MAKE_COLS_PROXY(m32)\
MIX_CC_SQL_MAKE_COLS_PROXY(m33)\
MIX_CC_SQL_MAKE_COLS_PROXY(m34)\
MIX_CC_SQL_MAKE_COLS_PROXY(m35)\
MIX_CC_SQL_MAKE_COLS_PROXY(m36)
#define MIX_CC_SQL_MAKE_COLS_IMPL_37(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23, m24, m25, m26, m27, m28, m29, m30, m31, m32, m33, m34, m35, m36, m37)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m22)\
MIX_CC_SQL_MAKE_COLS_PROXY(m23)\
MIX_CC_SQL_MAKE_COLS_PROXY(m24)\
MIX_CC_SQL_MAKE_COLS_PROXY(m25)\
MIX_CC_SQL_MAKE_COLS_PROXY(m26)\
MIX_CC_SQL_MAKE_COLS_PROXY(m27)\
MIX_CC_SQL_MAKE_COLS_PROXY(m28)\
MIX_CC_SQL_MAKE_COLS_PROXY(m29)\
MIX_CC_SQL_MAKE_COLS_PROXY(m30)\
MIX_CC_SQL_MAKE_COLS_PROXY(m31)\
MIX_CC_SQL_MAKE_COLS_PROXY(m32)\
MIX_CC_SQL_MAKE_COLS_PROXY(m33)\
MIX_CC_SQL_MAKE_COLS_PROXY(m34)\
MIX_CC_SQL_MAKE_COLS_PROXY(m35)\
MIX_CC_SQL_MAKE_COLS_PROXY(m36)\
MIX_CC_SQL_MAKE_COLS_PROXY(m37)
#define MIX_CC_SQL_MAKE_COLS_IMPL_38(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23, m24, m25, m26, m27, m28, m29, m30, m31, m32, m33, m34, m35, m36, m37, m38)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m22)\
MIX_CC_SQL_MAKE_COLS_PROXY(m23)\
MIX_CC_SQL_MAKE_COLS_PROXY(m24)\
MIX_CC_SQL_MAKE_COLS_PROXY(m25)\
MIX_CC_SQL_MAKE_COLS_PROXY(m26)\
MIX_CC_SQL_MAKE_COLS_PROXY(m27)\
MIX_CC_SQL_MAKE_COLS_PROXY(m28)\
MIX_CC_SQL_MAKE_COLS_PROXY(m29)\
MIX_CC_SQL_MAKE_COLS_PROXY(m30)\
MIX_CC_SQL_MAKE_COLS_PROXY(m31)\
MIX_CC_SQL_MAKE_COLS_PROXY(m32)\
MIX_CC_SQL_MAKE_COLS_PROXY(m33)\
MIX_CC_SQL_MAKE_COLS_PROXY(m34)\
MIX_CC_SQL_MAKE_COLS_PROXY(m35)\
MIX_CC_SQL_MAKE_COLS_PROXY(m36)\
MIX_CC_SQL_MAKE_COLS_PROXY(m37)\
MIX_CC_SQL_MAKE_COLS_PROXY(m38)
#define MIX_CC_SQL_MAKE_COLS_IMPL_39(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23, m24, m25, m26, m27, m28, m29, m30, m31, m32, m33, m34, m35, m36, m37, m38, m39)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m22)\
MIX_CC_SQL_MAKE_COLS_PROXY(m23)\
MIX_CC_SQL_MAKE_COLS_PROXY(m24)\
MIX_CC_SQL_MAKE_COLS_PROXY(m25)\
MIX_CC_SQL_MAKE_COLS_PROXY(m26)\
MIX_CC_SQL_MAKE_COLS_PROXY(m27)\
MIX_CC_SQL_MAKE_COLS_PROXY(m28)\
MIX_CC_SQL_MAKE_COLS_PROXY(m29)\
MIX_CC_SQL_MAKE_COLS_PROXY(m30)\
MIX_CC_SQL_MAKE_COLS_PROXY(m31)\
MIX_CC_SQL_MAKE_COLS_PROXY(m32)\
MIX_CC_SQL_MAKE_COLS_PROXY(m33)\
MIX_CC_SQL_MAKE_COLS_PROXY(m34)\
MIX_CC_SQL_MAKE_COLS_PROXY(m35)\
MIX_CC_SQL_MAKE_COLS_PROXY(m36)\
MIX_CC_SQL_MAKE_COLS_PROXY(m37)\
MIX_CC_SQL_MAKE_COLS_PROXY(m38)\
MIX_CC_SQL_MAKE_COLS_PROXY(m39)
#define MIX_CC_SQL_MAKE_COLS_IMPL_40(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16, m17, m18, m19, m20, m21, m22, m23, m24, m25, m26, m27, m28, m29, m30, m31, m32, m33, m34, m35, m36, m37, m38, m39, m40)\
MIX_CC_SQL_MAKE_COLS_PROXY(m1)\
MIX_CC_SQL_MAKE_COLS_PROXY(m2)\
MIX_CC_SQL_MAKE_COLS_PROXY(m3)\
MIX_CC_SQL_MAKE_COLS_PROXY(m4)\
MIX_CC_SQL_MAKE_COLS_PROXY(m5)\
MIX_CC_SQL_MAKE_COLS_PROXY(m6)\
MIX_CC_SQL_MAKE_COLS_PROXY(m7)\
MIX_CC_SQL_MAKE_COLS_PROXY(m8)\
MIX_CC_SQL_MAKE_COLS_PROXY(m9)\
MIX_CC_SQL_MAKE_COLS_PROXY(m10)\
MIX_CC_SQL_MAKE_COLS_PROXY(m11)\
MIX_CC_SQL_MAKE_COLS_PROXY(m12)\
MIX_CC_SQL_MAKE_COLS_PROXY(m13)\
MIX_CC_SQL_MAKE_COLS_PROXY(m14)\
MIX_CC_SQL_MAKE_COLS_PROXY(m15)\
MIX_CC_SQL_MAKE_COLS_PROXY(m16)\
MIX_CC_SQL_MAKE_COLS_PROXY(m17)\
MIX_CC_SQL_MAKE_COLS_PROXY(m18)\
MIX_CC_SQL_MAKE_COLS_PROXY(m19)\
MIX_CC_SQL_MAKE_COLS_PROXY(m20)\
MIX_CC_SQL_MAKE_COLS_PROXY(m21)\
MIX_CC_SQL_MAKE_COLS_PROXY(m22)\
MIX_CC_SQL_MAKE_COLS_PROXY(m23)\
MIX_CC_SQL_MAKE_COLS_PROXY(m24)\
MIX_CC_SQL_MAKE_COLS_PROXY(m25)\
MIX_CC_SQL_MAKE_COLS_PROXY(m26)\
MIX_CC_SQL_MAKE_COLS_PROXY(m27)\
MIX_CC_SQL_MAKE_COLS_PROXY(m28)\
MIX_CC_SQL_MAKE_COLS_PROXY(m29)\
MIX_CC_SQL_MAKE_COLS_PROXY(m30)\
MIX_CC_SQL_MAKE_COLS_PROXY(m31)\
MIX_CC_SQL_MAKE_COLS_PROXY(m32)\
MIX_CC_SQL_MAKE_COLS_PROXY(m33)\
MIX_CC_SQL_MAKE_COLS_PROXY(m34)\
MIX_CC_SQL_MAKE_COLS_PROXY(m35)\
MIX_CC_SQL_MAKE_COLS_PROXY(m36)\
MIX_CC_SQL_MAKE_COLS_PROXY(m37)\
MIX_CC_SQL_MAKE_COLS_PROXY(m38)\
MIX_CC_SQL_MAKE_COLS_PROXY(m39)\
MIX_CC_SQL_MAKE_COLS_PROXY(m40)