diff --git a/CMakeCache.txt b/CMakeCache.txt new file mode 100644 index 00000000000..628d4cdc769 --- /dev/null +++ b/CMakeCache.txt @@ -0,0 +1,505 @@ +# This is the CMakeCache file. +# For build in directory: /Users/hzq/cpp/FrameworkBenchmarks +# It was generated by CMake: /usr/local/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a library. +BRDEC_LIB_DIR:FILEPATH=BRDEC_LIB_DIR-NOTFOUND + +//Path to a library. +BR_LIB_DIR:FILEPATH=BR_LIB_DIR-NOTFOUND + +//Path to a library. +Brotli:FILEPATH=Brotli-NOTFOUND + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=CMAKE_ADDR2LINE-NOTFOUND + +//Path to a program. +CMAKE_AR:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING=Release + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Value Computed by CMake. +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/Users/hzq/cpp/FrameworkBenchmarks/CMakeFiles/pkgRedirects + +//Path to a program. +CMAKE_INSTALL_NAME_TOOL:FILEPATH=/usr/bin/install_name_tool + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Path to a program. +CMAKE_LINKER:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=CMAKE_OBJCOPY-NOTFOUND + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/objdump + +//Build architectures for OSX +CMAKE_OSX_ARCHITECTURES:STRING= + +//Minimum OS X version to target for deployment (at runtime); newer +// APIs weak linked. Set to empty string for default value. +CMAKE_OSX_DEPLOYMENT_TARGET:STRING=14.7 + +//The product will be built against the headers and libraries located +// inside the indicated SDK. +CMAKE_OSX_SYSROOT:PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=Paozhu_web_framework + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=CMAKE_READELF-NOTFOUND + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip + +//Path to a program. +CMAKE_TAPI:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/tapi + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//choose ON to enable +ENABLE_BOOST:BOOL=OFF + +//choose ON to enable +ENABLE_GD:BOOL=ON + +//choose ON to enable +ENABLE_VCPKG:BOOL=OFF + +//choose ON to enable +ENABLE_WIN_VCPKG:BOOL=OFF + +//Path to a library. +FREETYPE_LIB_DIR:FILEPATH=/usr/local/opt/freetype/lib/libfreetype.dylib + +//Path to a library. +GD_LIB_DIR:FILEPATH=/usr/local/opt/gd/lib/libgd.dylib + +//Path to a file. +MYSQL_INCLUDE_DIR:PATH=/usr/local/mysql/include + +//Path to a library. +MYSQL_LIBRARY:FILEPATH=/usr/local/mysql/lib/libmysqlclient.dylib + +//Path to a file. +MYSQL_ROOT_DIR:PATH=/usr/local + +//Path to a library. +OPENSSL_CRYPTO_LIBRARY:FILEPATH=/usr/local/Cellar/openssl@3/3.4.1/lib/libcrypto.dylib + +//Path to a file. +OPENSSL_INCLUDE_DIR:PATH=/usr/local/Cellar/openssl@3/3.4.1/include + +//Path to a library. +OPENSSL_SSL_LIBRARY:FILEPATH=/usr/local/Cellar/openssl@3/3.4.1/lib/libssl.dylib + +//Arguments to supply to pkg-config +PKG_CONFIG_ARGN:STRING= + +//pkg-config executable +PKG_CONFIG_EXECUTABLE:FILEPATH=/usr/local/bin/pkg-config + +//Path to a library. +PNG_LIB_DIR:FILEPATH=/usr/local/opt/libpng/lib/libpng.dylib + +//Value Computed by CMake +Paozhu_web_framework_BINARY_DIR:STATIC=/Users/hzq/cpp/FrameworkBenchmarks + +//Value Computed by CMake +Paozhu_web_framework_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Paozhu_web_framework_SOURCE_DIR:STATIC=/Users/hzq/cpp + +//Path to a library. +QR_LIB_DIR:FILEPATH=/usr/local/opt/qrencode/lib/libqrencode.dylib + +//Path to a file. +ZLIB_INCLUDE_DIR:PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include + +//Path to a library. +ZLIB_LIBRARY_DEBUG:FILEPATH=ZLIB_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +ZLIB_LIBRARY_RELEASE:FILEPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib/libz.tbd + +//Path to a library. +pkgcfg_lib__OPENSSL_crypto:FILEPATH=/usr/local/Cellar/openssl@3/3.4.1/lib/libcrypto.dylib + +//Path to a library. +pkgcfg_lib__OPENSSL_ssl:FILEPATH=/usr/local/Cellar/openssl@3/3.4.1/lib/libssl.dylib + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/Users/hzq/cpp/FrameworkBenchmarks +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=31 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=5 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/local/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/local/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/local/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=/usr/local/bin/ccmake +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=MACHO +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/Users/hzq/cpp +//ADVANCED property for variable: CMAKE_INSTALL_NAME_TOOL +CMAKE_INSTALL_NAME_TOOL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/local/share/cmake +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_TAPI +CMAKE_TAPI-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Details about finding OpenSSL +FIND_PACKAGE_MESSAGE_DETAILS_OpenSSL:INTERNAL=[/usr/local/Cellar/openssl@3/3.4.1/lib/libcrypto.dylib][/usr/local/Cellar/openssl@3/3.4.1/include][c ][v3.4.1()] +//Details about finding ZLIB +FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib/libz.tbd][/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include][c ][v1.2.12()] +//Details about finding mysql +FIND_PACKAGE_MESSAGE_DETAILS_mysql:INTERNAL=[/usr/local][v()] +//ADVANCED property for variable: OPENSSL_CRYPTO_LIBRARY +OPENSSL_CRYPTO_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENSSL_INCLUDE_DIR +OPENSSL_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENSSL_SSL_LIBRARY +OPENSSL_SSL_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: PKG_CONFIG_ARGN +PKG_CONFIG_ARGN-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: PKG_CONFIG_EXECUTABLE +PKG_CONFIG_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: ZLIB_INCLUDE_DIR +ZLIB_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: ZLIB_LIBRARY_DEBUG +ZLIB_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: ZLIB_LIBRARY_RELEASE +ZLIB_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +_OPENSSL_CFLAGS:INTERNAL=-I/usr/local/Cellar/openssl@3/3.4.1/include +_OPENSSL_CFLAGS_I:INTERNAL= +_OPENSSL_CFLAGS_OTHER:INTERNAL= +_OPENSSL_FOUND:INTERNAL=1 +_OPENSSL_INCLUDEDIR:INTERNAL=/usr/local/Cellar/openssl@3/3.4.1/include +_OPENSSL_INCLUDE_DIRS:INTERNAL=/usr/local/Cellar/openssl@3/3.4.1/include +_OPENSSL_LDFLAGS:INTERNAL=-L/usr/local/Cellar/openssl@3/3.4.1/lib;-lssl;-lcrypto +_OPENSSL_LDFLAGS_OTHER:INTERNAL= +_OPENSSL_LIBDIR:INTERNAL=/usr/local/Cellar/openssl@3/3.4.1/lib +_OPENSSL_LIBRARIES:INTERNAL=ssl;crypto +_OPENSSL_LIBRARY_DIRS:INTERNAL=/usr/local/Cellar/openssl@3/3.4.1/lib +_OPENSSL_LIBS:INTERNAL= +_OPENSSL_LIBS_L:INTERNAL= +_OPENSSL_LIBS_OTHER:INTERNAL= +_OPENSSL_LIBS_PATHS:INTERNAL= +_OPENSSL_MODULE_NAME:INTERNAL=openssl +_OPENSSL_PREFIX:INTERNAL=/usr/local/Cellar/openssl@3/3.4.1 +_OPENSSL_STATIC_CFLAGS:INTERNAL=-I/usr/local/Cellar/openssl@3/3.4.1/include +_OPENSSL_STATIC_CFLAGS_I:INTERNAL= +_OPENSSL_STATIC_CFLAGS_OTHER:INTERNAL= +_OPENSSL_STATIC_INCLUDE_DIRS:INTERNAL=/usr/local/Cellar/openssl@3/3.4.1/include +_OPENSSL_STATIC_LDFLAGS:INTERNAL=-L/usr/local/Cellar/openssl@3/3.4.1/lib;-lssl;-lcrypto +_OPENSSL_STATIC_LDFLAGS_OTHER:INTERNAL= +_OPENSSL_STATIC_LIBDIR:INTERNAL= +_OPENSSL_STATIC_LIBRARIES:INTERNAL=ssl;crypto +_OPENSSL_STATIC_LIBRARY_DIRS:INTERNAL=/usr/local/Cellar/openssl@3/3.4.1/lib +_OPENSSL_STATIC_LIBS:INTERNAL= +_OPENSSL_STATIC_LIBS_L:INTERNAL= +_OPENSSL_STATIC_LIBS_OTHER:INTERNAL= +_OPENSSL_STATIC_LIBS_PATHS:INTERNAL= +_OPENSSL_VERSION:INTERNAL=3.4.1 +_OPENSSL_openssl_INCLUDEDIR:INTERNAL= +_OPENSSL_openssl_LIBDIR:INTERNAL= +_OPENSSL_openssl_PREFIX:INTERNAL= +_OPENSSL_openssl_VERSION:INTERNAL= +__pkg_config_arguments__OPENSSL:INTERNAL=QUIET;openssl +__pkg_config_checked__OPENSSL:INTERNAL=1 +//ADVANCED property for variable: pkgcfg_lib__OPENSSL_crypto +pkgcfg_lib__OPENSSL_crypto-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: pkgcfg_lib__OPENSSL_ssl +pkgcfg_lib__OPENSSL_ssl-ADVANCED:INTERNAL=1 +prefix_result:INTERNAL=/usr/local/Cellar/openssl@3/3.4.1/lib + diff --git a/CMakeFiles/3.31.5/CMakeCCompiler.cmake b/CMakeFiles/3.31.5/CMakeCCompiler.cmake new file mode 100644 index 00000000000..bb8540e2ff3 --- /dev/null +++ b/CMakeFiles/3.31.5/CMakeCCompiler.cmake @@ -0,0 +1,81 @@ +set(CMAKE_C_COMPILER "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "AppleClang") +set(CMAKE_C_COMPILER_VERSION "16.0.0.16000026") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_STANDARD_LATEST "23") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Darwin") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar") +set(CMAKE_C_COMPILER_AR "") +set(CMAKE_RANLIB "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "") +set(CMAKE_LINKER "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld") +set(CMAKE_LINKER_LINK "") +set(CMAKE_LINKER_LLD "") +set(CMAKE_C_COMPILER_LINKER "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld") +set(CMAKE_C_COMPILER_LINKER_ID "AppleClang") +set(CMAKE_C_COMPILER_LINKER_VERSION 1115.7.3) +set(CMAKE_C_COMPILER_LINKER_FRONTEND_VARIANT GNU) +set(CMAKE_MT "") +set(CMAKE_TAPI "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/tapi") +set(CMAKE_COMPILER_IS_GNUCC ) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) +set(CMAKE_C_LINKER_DEPFILE_SUPPORTED ) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include;/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib/swift") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks") diff --git a/CMakeFiles/3.31.5/CMakeCXXCompiler.cmake b/CMakeFiles/3.31.5/CMakeCXXCompiler.cmake new file mode 100644 index 00000000000..c7424f026f2 --- /dev/null +++ b/CMakeFiles/3.31.5/CMakeCXXCompiler.cmake @@ -0,0 +1,101 @@ +set(CMAKE_CXX_COMPILER "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "AppleClang") +set(CMAKE_CXX_COMPILER_VERSION "16.0.0.16000026") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "98") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_STANDARD_LATEST "23") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") +set(CMAKE_CXX26_COMPILE_FEATURES "") + +set(CMAKE_CXX_PLATFORM_ID "Darwin") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar") +set(CMAKE_CXX_COMPILER_AR "") +set(CMAKE_RANLIB "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "") +set(CMAKE_LINKER "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld") +set(CMAKE_LINKER_LINK "") +set(CMAKE_LINKER_LLD "") +set(CMAKE_CXX_COMPILER_LINKER "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld") +set(CMAKE_CXX_COMPILER_LINKER_ID "AppleClang") +set(CMAKE_CXX_COMPILER_LINKER_VERSION 1115.7.3) +set(CMAKE_CXX_COMPILER_LINKER_FRONTEND_VARIANT GNU) +set(CMAKE_MT "") +set(CMAKE_TAPI "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/tapi") +set(CMAKE_COMPILER_IS_GNUCXX ) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm;ccm;cxxm;c++m) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang IN ITEMS C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) +set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED ) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1;/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include;/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "c++") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib/swift") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks") +set(CMAKE_CXX_COMPILER_CLANG_RESOURCE_DIR "") + +set(CMAKE_CXX_COMPILER_IMPORT_STD "") +### Imported target for C++23 standard library +set(CMAKE_CXX23_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "Unsupported generator: Unix Makefiles") + + + diff --git a/CMakeFiles/3.31.5/CMakeDetermineCompilerABI_C.bin b/CMakeFiles/3.31.5/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 00000000000..7d275c14122 Binary files /dev/null and b/CMakeFiles/3.31.5/CMakeDetermineCompilerABI_C.bin differ diff --git a/CMakeFiles/3.31.5/CMakeDetermineCompilerABI_CXX.bin b/CMakeFiles/3.31.5/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 00000000000..b296b6a08d9 Binary files /dev/null and b/CMakeFiles/3.31.5/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/CMakeFiles/3.31.5/CMakeSystem.cmake b/CMakeFiles/3.31.5/CMakeSystem.cmake new file mode 100644 index 00000000000..4ba5c26de72 --- /dev/null +++ b/CMakeFiles/3.31.5/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Darwin-23.6.0") +set(CMAKE_HOST_SYSTEM_NAME "Darwin") +set(CMAKE_HOST_SYSTEM_VERSION "23.6.0") +set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + + + +set(CMAKE_SYSTEM "Darwin-23.6.0") +set(CMAKE_SYSTEM_NAME "Darwin") +set(CMAKE_SYSTEM_VERSION "23.6.0") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/CMakeFiles/3.31.5/CompilerIdC/CMakeCCompilerId.c b/CMakeFiles/3.31.5/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 00000000000..8d8bb038bb3 --- /dev/null +++ b/CMakeFiles/3.31.5/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,904 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(__clang__) && defined(__cray__) +# define COMPILER_ID "CrayClang" +# define COMPILER_VERSION_MAJOR DEC(__cray_major__) +# define COMPILER_VERSION_MINOR DEC(__cray_minor__) +# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__ORANGEC__) +# define COMPILER_ID "OrangeC" +# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__) + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) && defined(__ti__) +# define COMPILER_ID "TIClang" + # define COMPILER_VERSION_MAJOR DEC(__ti_major__) + # define COMPILER_VERSION_MINOR DEC(__ti_minor__) + # define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__) +# define COMPILER_VERSION_INTERNAL DEC(__ti_version__) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__clang__) && defined(__ti__) +# if defined(__ARM_ARCH) +# define ARCHITECTURE_ID "Arm" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#define C_STD_99 199901L +#define C_STD_11 201112L +#define C_STD_17 201710L +#define C_STD_23 202311L + +#ifdef __STDC_VERSION__ +# define C_STD __STDC_VERSION__ +#endif + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif C_STD > C_STD_17 +# define C_VERSION "23" +#elif C_STD > C_STD_11 +# define C_VERSION "17" +#elif C_STD > C_STD_99 +# define C_VERSION "11" +#elif C_STD >= C_STD_99 +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/CMakeFiles/3.31.5/CompilerIdC/CMakeCCompilerId.o b/CMakeFiles/3.31.5/CompilerIdC/CMakeCCompilerId.o new file mode 100644 index 00000000000..2841bb77a68 Binary files /dev/null and b/CMakeFiles/3.31.5/CompilerIdC/CMakeCCompilerId.o differ diff --git a/CMakeFiles/3.31.5/CompilerIdCXX/CMakeCXXCompilerId.cpp b/CMakeFiles/3.31.5/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 00000000000..da6c824af3a --- /dev/null +++ b/CMakeFiles/3.31.5/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,919 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(__clang__) && defined(__cray__) +# define COMPILER_ID "CrayClang" +# define COMPILER_VERSION_MAJOR DEC(__cray_major__) +# define COMPILER_VERSION_MINOR DEC(__cray_minor__) +# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__ORANGEC__) +# define COMPILER_ID "OrangeC" +# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__) + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) && defined(__ti__) +# define COMPILER_ID "TIClang" + # define COMPILER_VERSION_MAJOR DEC(__ti_major__) + # define COMPILER_VERSION_MINOR DEC(__ti_minor__) + # define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__) +# define COMPILER_VERSION_INTERNAL DEC(__ti_version__) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__clang__) && defined(__ti__) +# if defined(__ARM_ARCH) +# define ARCHITECTURE_ID "Arm" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#define CXX_STD_98 199711L +#define CXX_STD_11 201103L +#define CXX_STD_14 201402L +#define CXX_STD_17 201703L +#define CXX_STD_20 202002L +#define CXX_STD_23 202302L + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) +# if _MSVC_LANG > CXX_STD_17 +# define CXX_STD _MSVC_LANG +# elif _MSVC_LANG == CXX_STD_17 && defined(__cpp_aggregate_paren_init) +# define CXX_STD CXX_STD_20 +# elif _MSVC_LANG > CXX_STD_14 && __cplusplus > CXX_STD_17 +# define CXX_STD CXX_STD_20 +# elif _MSVC_LANG > CXX_STD_14 +# define CXX_STD CXX_STD_17 +# elif defined(__INTEL_CXX11_MODE__) && defined(__cpp_aggregate_nsdmi) +# define CXX_STD CXX_STD_14 +# elif defined(__INTEL_CXX11_MODE__) +# define CXX_STD CXX_STD_11 +# else +# define CXX_STD CXX_STD_98 +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# if _MSVC_LANG > __cplusplus +# define CXX_STD _MSVC_LANG +# else +# define CXX_STD __cplusplus +# endif +#elif defined(__NVCOMPILER) +# if __cplusplus == CXX_STD_17 && defined(__cpp_aggregate_paren_init) +# define CXX_STD CXX_STD_20 +# else +# define CXX_STD __cplusplus +# endif +#elif defined(__INTEL_COMPILER) || defined(__PGI) +# if __cplusplus == CXX_STD_11 && defined(__cpp_namespace_attributes) +# define CXX_STD CXX_STD_17 +# elif __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi) +# define CXX_STD CXX_STD_14 +# else +# define CXX_STD __cplusplus +# endif +#elif (defined(__IBMCPP__) || defined(__ibmxl__)) && defined(__linux__) +# if __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi) +# define CXX_STD CXX_STD_14 +# else +# define CXX_STD __cplusplus +# endif +#elif __cplusplus == 1 && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define CXX_STD CXX_STD_11 +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > CXX_STD_23 + "26" +#elif CXX_STD > CXX_STD_20 + "23" +#elif CXX_STD > CXX_STD_17 + "20" +#elif CXX_STD > CXX_STD_14 + "17" +#elif CXX_STD > CXX_STD_11 + "14" +#elif CXX_STD >= CXX_STD_11 + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/CMakeFiles/3.31.5/CompilerIdCXX/CMakeCXXCompilerId.o b/CMakeFiles/3.31.5/CompilerIdCXX/CMakeCXXCompilerId.o new file mode 100644 index 00000000000..db2cc10625b Binary files /dev/null and b/CMakeFiles/3.31.5/CompilerIdCXX/CMakeCXXCompilerId.o differ diff --git a/CMakeFiles/CMakeConfigureLog.yaml b/CMakeFiles/CMakeConfigureLog.yaml new file mode 100644 index 00000000000..0667d47946f --- /dev/null +++ b/CMakeFiles/CMakeConfigureLog.yaml @@ -0,0 +1,471 @@ + +--- +events: + - + kind: "message-v1" + backtrace: + - "/usr/local/share/cmake/Modules/CMakeDetermineSystem.cmake:205 (message)" + - "CMakeLists.txt:26 (PROJECT)" + message: | + The system is: Darwin - 23.6.0 - x86_64 + - + kind: "message-v1" + backtrace: + - "/usr/local/share/cmake/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "/usr/local/share/cmake/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/usr/local/share/cmake/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:26 (PROJECT)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" failed. + Compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc + Build flags: + Id flags: + + The output was: + 1 + ld: library 'System' not found + cc: error: linker command failed with exit code 1 (use -v to see invocation) + + + - + kind: "message-v1" + backtrace: + - "/usr/local/share/cmake/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "/usr/local/share/cmake/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/usr/local/share/cmake/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:26 (PROJECT)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. + Compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc + Build flags: + Id flags: -c + + The output was: + 0 + + + Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.o" + + The C compiler identification is AppleClang, found in: + /Users/hzq/cpp/FrameworkBenchmarks/CMakeFiles/3.31.5/CompilerIdC/CMakeCCompilerId.o + + - + kind: "message-v1" + backtrace: + - "/usr/local/share/cmake/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "/usr/local/share/cmake/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/usr/local/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:26 (PROJECT)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed. + Compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ + Build flags: + Id flags: + + The output was: + 1 + ld: library 'c++' not found + c++: error: linker command failed with exit code 1 (use -v to see invocation) + + + - + kind: "message-v1" + backtrace: + - "/usr/local/share/cmake/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "/usr/local/share/cmake/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/usr/local/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:26 (PROJECT)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. + Compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ + Build flags: + Id flags: -c + + The output was: + 0 + + + Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CMakeCXXCompilerId.o" + + The CXX compiler identification is AppleClang, found in: + /Users/hzq/cpp/FrameworkBenchmarks/CMakeFiles/3.31.5/CompilerIdCXX/CMakeCXXCompilerId.o + + - + kind: "try_compile-v1" + backtrace: + - "/usr/local/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" + - "/usr/local/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:26 (PROJECT)" + checks: + - "Detecting C compiler ABI info" + directories: + source: "/Users/hzq/cpp/FrameworkBenchmarks/CMakeFiles/CMakeScratch/TryCompile-b3BWrC" + binary: "/Users/hzq/cpp/FrameworkBenchmarks/CMakeFiles/CMakeScratch/TryCompile-b3BWrC" + cmakeVariables: + CMAKE_C_FLAGS: "" + CMAKE_C_FLAGS_DEBUG: "-g" + CMAKE_EXE_LINKER_FLAGS: "" + CMAKE_OSX_ARCHITECTURES: "" + CMAKE_OSX_DEPLOYMENT_TARGET: "14.7" + CMAKE_OSX_SYSROOT: "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk" + buildResult: + variable: "CMAKE_C_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/Users/hzq/cpp/FrameworkBenchmarks/CMakeFiles/CMakeScratch/TryCompile-b3BWrC' + + Run Build Command(s): /usr/local/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_148e9/fast + /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_148e9.dir/build.make CMakeFiles/cmTC_148e9.dir/build + Building C object CMakeFiles/cmTC_148e9.dir/CMakeCCompilerABI.c.o + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk -mmacosx-version-min=14.7 -v -Wl,-v -MD -MT CMakeFiles/cmTC_148e9.dir/CMakeCCompilerABI.c.o -MF CMakeFiles/cmTC_148e9.dir/CMakeCCompilerABI.c.o.d -o CMakeFiles/cmTC_148e9.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake/Modules/CMakeCCompilerABI.c + Apple clang version 16.0.0 (clang-1600.0.26.6) + Target: x86_64-apple-darwin23.6.0 + Thread model: posix + InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin + cc: warning: -Wl,-v: 'linker' input unused [-Wunused-command-line-argument] + "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-apple-macosx14.7.0 -Wundef-prefix=TARGET_OS_ -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -Werror=implicit-function-declaration -emit-obj -mrelax-all -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name CMakeCCompilerABI.c -mrelocation-model pic -pic-level 2 -mframe-pointer=all -fno-strict-return -ffp-contract=on -fno-rounding-math -funwind-tables=2 -target-sdk-version=15.2 -fvisibility-inlines-hidden-static-local-var -fno-modulemap-allow-subdirectory-search -target-cpu penryn -tune-cpu generic -debugger-tuning=lldb -target-linker-version 1115.7.3 -v -fcoverage-compilation-dir=/Users/hzq/cpp/FrameworkBenchmarks/CMakeFiles/CMakeScratch/TryCompile-b3BWrC -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16 -dependency-file CMakeFiles/cmTC_148e9.dir/CMakeCCompilerABI.c.o.d -skip-unused-modulemap-deps -MT CMakeFiles/cmTC_148e9.dir/CMakeCCompilerABI.c.o -sys-header-deps -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk -internal-isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/local/include -internal-isystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include -internal-externc-isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include -internal-externc-isystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -Wno-reorder-init-list -Wno-implicit-int-float-conversion -Wno-c99-designator -Wno-final-dtor-non-final-class -Wno-extra-semi-stmt -Wno-misleading-indentation -Wno-quoted-include-in-framework-header -Wno-implicit-fallthrough -Wno-enum-enum-conversion -Wno-enum-float-conversion -Wno-elaborated-enum-base -Wno-reserved-identifier -Wno-gnu-folding-constant -fdebug-compilation-dir=/Users/hzq/cpp/FrameworkBenchmarks/CMakeFiles/CMakeScratch/TryCompile-b3BWrC -ferror-limit 19 -stack-protector 1 -fstack-check -mdarwin-stkchk-strong-link -fblocks -fencode-extended-block-signature -fregister-global-dtors-with-atexit -fgnuc-version=4.2.1 -fmax-type-align=16 -fcommon -clang-vendor-feature=+disableNonDependentMemberExprInCurrentInstantiation -fno-odr-hash-protocols -clang-vendor-feature=+enableAggressiveVLAFolding -clang-vendor-feature=+revert09abecef7bbf -clang-vendor-feature=+thisNoAlignAttr -clang-vendor-feature=+thisNoNullAttr -clang-vendor-feature=+disableAtImportPrivateFrameworkInImplementationError -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o CMakeFiles/cmTC_148e9.dir/CMakeCCompilerABI.c.o -x c /usr/local/share/cmake/Modules/CMakeCCompilerABI.c + clang -cc1 version 16.0.0 (clang-1600.0.26.6) default target x86_64-apple-darwin23.6.0 + ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/local/include" + ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/Library/Frameworks" + #include "..." search starts here: + #include <...> search starts here: + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include + /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include + /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks (framework directory) + End of search list. + Linking C executable cmTC_148e9 + /usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_148e9.dir/link.txt --verbose=1 + Apple clang version 16.0.0 (clang-1600.0.26.6) + Target: x86_64-apple-darwin23.6.0 + Thread model: posix + InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin + "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -lto_library /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib -dynamic -arch x86_64 -platform_version macos 14.7.0 15.2 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk -mllvm -enable-linkonceodr-outlining -o cmTC_148e9 -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_148e9.dir/CMakeCCompilerABI.c.o -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/lib/darwin/libclang_rt.osx.a + @(#)PROGRAM:ld PROJECT:ld-1115.7.3 + BUILD 23:50:35 Dec 5 2024 + configured to support archs: armv6 armv7 armv7s arm64 arm64e arm64_32 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em + will use ld-classic for: armv6 armv7 armv7s i386 armv6m armv7k armv7m armv7em + LTO support using: LLVM version 16.0.0 (static support for 29, runtime is 29) + TAPI support using: Apple TAPI version 16.0.0 (tapi-1600.0.11.9) + Library search paths: + /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib + /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib/swift + Framework search paths: + /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk -mmacosx-version-min=14.7 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -v -Wl,-v CMakeFiles/cmTC_148e9.dir/CMakeCCompilerABI.c.o -o cmTC_148e9 + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/usr/local/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:113 (message)" + - "/usr/local/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:26 (PROJECT)" + message: | + Effective list of requested architectures (possibly empty) : "" + Effective list of architectures found in the ABI info binary: "x86_64" + - + kind: "message-v1" + backtrace: + - "/usr/local/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" + - "/usr/local/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:26 (PROJECT)" + message: | + Parsed C implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include] + add: [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include] + add: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include] + end of search list found + collapse include dir [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include] ==> [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include] + collapse include dir [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include] ==> [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include] + collapse include dir [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include] ==> [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include] + implicit include dirs: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include;/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include] + + + - + kind: "message-v1" + backtrace: + - "/usr/local/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" + - "/usr/local/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:26 (PROJECT)" + message: | + Parsed C implicit link information: + link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] + ignore line: [Change Dir: '/Users/hzq/cpp/FrameworkBenchmarks/CMakeFiles/CMakeScratch/TryCompile-b3BWrC'] + ignore line: [] + ignore line: [Run Build Command(s): /usr/local/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_148e9/fast] + ignore line: [/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_148e9.dir/build.make CMakeFiles/cmTC_148e9.dir/build] + ignore line: [Building C object CMakeFiles/cmTC_148e9.dir/CMakeCCompilerABI.c.o] + ignore line: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk -mmacosx-version-min=14.7 -v -Wl -v -MD -MT CMakeFiles/cmTC_148e9.dir/CMakeCCompilerABI.c.o -MF CMakeFiles/cmTC_148e9.dir/CMakeCCompilerABI.c.o.d -o CMakeFiles/cmTC_148e9.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake/Modules/CMakeCCompilerABI.c] + ignore line: [Apple clang version 16.0.0 (clang-1600.0.26.6)] + ignore line: [Target: x86_64-apple-darwin23.6.0] + ignore line: [Thread model: posix] + ignore line: [InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin] + ignore line: [cc: warning: -Wl -v: 'linker' input unused [-Wunused-command-line-argument]] + ignore line: [ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-apple-macosx14.7.0 -Wundef-prefix=TARGET_OS_ -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -Werror=implicit-function-declaration -emit-obj -mrelax-all -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name CMakeCCompilerABI.c -mrelocation-model pic -pic-level 2 -mframe-pointer=all -fno-strict-return -ffp-contract=on -fno-rounding-math -funwind-tables=2 -target-sdk-version=15.2 -fvisibility-inlines-hidden-static-local-var -fno-modulemap-allow-subdirectory-search -target-cpu penryn -tune-cpu generic -debugger-tuning=lldb -target-linker-version 1115.7.3 -v -fcoverage-compilation-dir=/Users/hzq/cpp/FrameworkBenchmarks/CMakeFiles/CMakeScratch/TryCompile-b3BWrC -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16 -dependency-file CMakeFiles/cmTC_148e9.dir/CMakeCCompilerABI.c.o.d -skip-unused-modulemap-deps -MT CMakeFiles/cmTC_148e9.dir/CMakeCCompilerABI.c.o -sys-header-deps -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk -internal-isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/local/include -internal-isystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include -internal-externc-isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include -internal-externc-isystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -Wno-reorder-init-list -Wno-implicit-int-float-conversion -Wno-c99-designator -Wno-final-dtor-non-final-class -Wno-extra-semi-stmt -Wno-misleading-indentation -Wno-quoted-include-in-framework-header -Wno-implicit-fallthrough -Wno-enum-enum-conversion -Wno-enum-float-conversion -Wno-elaborated-enum-base -Wno-reserved-identifier -Wno-gnu-folding-constant -fdebug-compilation-dir=/Users/hzq/cpp/FrameworkBenchmarks/CMakeFiles/CMakeScratch/TryCompile-b3BWrC -ferror-limit 19 -stack-protector 1 -fstack-check -mdarwin-stkchk-strong-link -fblocks -fencode-extended-block-signature -fregister-global-dtors-with-atexit -fgnuc-version=4.2.1 -fmax-type-align=16 -fcommon -clang-vendor-feature=+disableNonDependentMemberExprInCurrentInstantiation -fno-odr-hash-protocols -clang-vendor-feature=+enableAggressiveVLAFolding -clang-vendor-feature=+revert09abecef7bbf -clang-vendor-feature=+thisNoAlignAttr -clang-vendor-feature=+thisNoNullAttr -clang-vendor-feature=+disableAtImportPrivateFrameworkInImplementationError -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o CMakeFiles/cmTC_148e9.dir/CMakeCCompilerABI.c.o -x c /usr/local/share/cmake/Modules/CMakeCCompilerABI.c] + ignore line: [clang -cc1 version 16.0.0 (clang-1600.0.26.6) default target x86_64-apple-darwin23.6.0] + ignore line: [ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/local/include"] + ignore line: [ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/Library/Frameworks"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include] + ignore line: [ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include] + ignore line: [ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include] + ignore line: [ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks (framework directory)] + ignore line: [End of search list.] + ignore line: [Linking C executable cmTC_148e9] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_148e9.dir/link.txt --verbose=1] + ignore line: [Apple clang version 16.0.0 (clang-1600.0.26.6)] + ignore line: [Target: x86_64-apple-darwin23.6.0] + ignore line: [Thread model: posix] + ignore line: [InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin] + link line: [ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -lto_library /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib -dynamic -arch x86_64 -platform_version macos 14.7.0 15.2 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk -mllvm -enable-linkonceodr-outlining -o cmTC_148e9 -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_148e9.dir/CMakeCCompilerABI.c.o -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/lib/darwin/libclang_rt.osx.a] + arg [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld] ==> ignore + arg [-demangle] ==> ignore + arg [-lto_library] ==> ignore, skip following value + arg [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib] ==> skip value of -lto_library + arg [-dynamic] ==> ignore + arg [-arch] ==> ignore + arg [x86_64] ==> ignore + arg [-platform_version] ==> ignore + arg [macos] ==> ignore + arg [14.7.0] ==> ignore + arg [15.2] ==> ignore + arg [-syslibroot] ==> ignore + arg [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk] ==> ignore + arg [-mllvm] ==> ignore + arg [-enable-linkonceodr-outlining] ==> ignore + arg [-o] ==> ignore + arg [cmTC_148e9] ==> ignore + arg [-search_paths_first] ==> ignore + arg [-headerpad_max_install_names] ==> ignore + arg [-v] ==> ignore + arg [CMakeFiles/cmTC_148e9.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lSystem] ==> lib [System] + arg [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/lib/darwin/libclang_rt.osx.a] ==> lib [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/lib/darwin/libclang_rt.osx.a] + linker tool for 'C': /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld + Library search paths: [;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib/swift] + Framework search paths: [;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks] + remove lib [System] + remove lib [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/lib/darwin/libclang_rt.osx.a] + collapse library dir [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib] ==> [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib] + collapse library dir [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib/swift] ==> [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib/swift] + collapse framework dir [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks] ==> [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks] + implicit libs: [] + implicit objs: [] + implicit dirs: [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib/swift] + implicit fwks: [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks] + + + - + kind: "message-v1" + backtrace: + - "/usr/local/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)" + - "/usr/local/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:255 (cmake_determine_linker_id)" + - "/usr/local/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:26 (PROJECT)" + message: | + Running the C compiler's linker: "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" "-v" + @(#)PROGRAM:ld PROJECT:ld-1115.7.3 + BUILD 23:50:35 Dec 5 2024 + configured to support archs: armv6 armv7 armv7s arm64 arm64e arm64_32 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em + will use ld-classic for: armv6 armv7 armv7s i386 armv6m armv7k armv7m armv7em + LTO support using: LLVM version 16.0.0 (static support for 29, runtime is 29) + TAPI support using: Apple TAPI version 16.0.0 (tapi-1600.0.11.9) + - + kind: "try_compile-v1" + backtrace: + - "/usr/local/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" + - "/usr/local/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:26 (PROJECT)" + checks: + - "Detecting CXX compiler ABI info" + directories: + source: "/Users/hzq/cpp/FrameworkBenchmarks/CMakeFiles/CMakeScratch/TryCompile-oFV5KX" + binary: "/Users/hzq/cpp/FrameworkBenchmarks/CMakeFiles/CMakeScratch/TryCompile-oFV5KX" + cmakeVariables: + CMAKE_CXX_FLAGS: "" + CMAKE_CXX_FLAGS_DEBUG: "-g" + CMAKE_CXX_SCAN_FOR_MODULES: "OFF" + CMAKE_EXE_LINKER_FLAGS: "" + CMAKE_OSX_ARCHITECTURES: "" + CMAKE_OSX_DEPLOYMENT_TARGET: "14.7" + CMAKE_OSX_SYSROOT: "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk" + buildResult: + variable: "CMAKE_CXX_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/Users/hzq/cpp/FrameworkBenchmarks/CMakeFiles/CMakeScratch/TryCompile-oFV5KX' + + Run Build Command(s): /usr/local/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_8ba91/fast + /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_8ba91.dir/build.make CMakeFiles/cmTC_8ba91.dir/build + Building CXX object CMakeFiles/cmTC_8ba91.dir/CMakeCXXCompilerABI.cpp.o + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk -mmacosx-version-min=14.7 -v -Wl,-v -MD -MT CMakeFiles/cmTC_8ba91.dir/CMakeCXXCompilerABI.cpp.o -MF CMakeFiles/cmTC_8ba91.dir/CMakeCXXCompilerABI.cpp.o.d -o CMakeFiles/cmTC_8ba91.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake/Modules/CMakeCXXCompilerABI.cpp + Apple clang version 16.0.0 (clang-1600.0.26.6) + Target: x86_64-apple-darwin23.6.0 + Thread model: posix + InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin + c++: warning: -Wl,-v: 'linker' input unused [-Wunused-command-line-argument] + ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1" + "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-apple-macosx14.7.0 -Wundef-prefix=TARGET_OS_ -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -Werror=implicit-function-declaration -emit-obj -mrelax-all -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name CMakeCXXCompilerABI.cpp -mrelocation-model pic -pic-level 2 -mframe-pointer=all -fno-strict-return -ffp-contract=on -fno-rounding-math -funwind-tables=2 -target-sdk-version=15.2 -fvisibility-inlines-hidden-static-local-var -fno-modulemap-allow-subdirectory-search -target-cpu penryn -tune-cpu generic -debugger-tuning=lldb -target-linker-version 1115.7.3 -v -fcoverage-compilation-dir=/Users/hzq/cpp/FrameworkBenchmarks/CMakeFiles/CMakeScratch/TryCompile-oFV5KX -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16 -dependency-file CMakeFiles/cmTC_8ba91.dir/CMakeCXXCompilerABI.cpp.o.d -skip-unused-modulemap-deps -MT CMakeFiles/cmTC_8ba91.dir/CMakeCXXCompilerABI.cpp.o -sys-header-deps -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk -internal-isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1 -internal-isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/local/include -internal-isystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include -internal-externc-isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include -internal-externc-isystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -Wno-reorder-init-list -Wno-implicit-int-float-conversion -Wno-c99-designator -Wno-final-dtor-non-final-class -Wno-extra-semi-stmt -Wno-misleading-indentation -Wno-quoted-include-in-framework-header -Wno-implicit-fallthrough -Wno-enum-enum-conversion -Wno-enum-float-conversion -Wno-elaborated-enum-base -Wno-reserved-identifier -Wno-gnu-folding-constant -fdeprecated-macro -fdebug-compilation-dir=/Users/hzq/cpp/FrameworkBenchmarks/CMakeFiles/CMakeScratch/TryCompile-oFV5KX -ferror-limit 19 -stack-protector 1 -fstack-check -mdarwin-stkchk-strong-link -fblocks -fencode-extended-block-signature -fregister-global-dtors-with-atexit -fgnuc-version=4.2.1 -fno-cxx-modules -fcxx-exceptions -fexceptions -fmax-type-align=16 -fcommon -clang-vendor-feature=+disableNonDependentMemberExprInCurrentInstantiation -fno-odr-hash-protocols -clang-vendor-feature=+enableAggressiveVLAFolding -clang-vendor-feature=+revert09abecef7bbf -clang-vendor-feature=+thisNoAlignAttr -clang-vendor-feature=+thisNoNullAttr -clang-vendor-feature=+disableAtImportPrivateFrameworkInImplementationError -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o CMakeFiles/cmTC_8ba91.dir/CMakeCXXCompilerABI.cpp.o -x c++ /usr/local/share/cmake/Modules/CMakeCXXCompilerABI.cpp + clang -cc1 version 16.0.0 (clang-1600.0.26.6) default target x86_64-apple-darwin23.6.0 + ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/local/include" + ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/Library/Frameworks" + #include "..." search starts here: + #include <...> search starts here: + /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1 + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include + /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include + /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks (framework directory) + End of search list. + Linking CXX executable cmTC_8ba91 + /usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8ba91.dir/link.txt --verbose=1 + Apple clang version 16.0.0 (clang-1600.0.26.6) + Target: x86_64-apple-darwin23.6.0 + Thread model: posix + InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin + "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -lto_library /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib -dynamic -arch x86_64 -platform_version macos 14.7.0 15.2 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk -mllvm -enable-linkonceodr-outlining -o cmTC_8ba91 -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_8ba91.dir/CMakeCXXCompilerABI.cpp.o -lc++ -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/lib/darwin/libclang_rt.osx.a + @(#)PROGRAM:ld PROJECT:ld-1115.7.3 + BUILD 23:50:35 Dec 5 2024 + configured to support archs: armv6 armv7 armv7s arm64 arm64e arm64_32 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em + will use ld-classic for: armv6 armv7 armv7s i386 armv6m armv7k armv7m armv7em + LTO support using: LLVM version 16.0.0 (static support for 29, runtime is 29) + TAPI support using: Apple TAPI version 16.0.0 (tapi-1600.0.11.9) + Library search paths: + /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib + /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib/swift + Framework search paths: + /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk -mmacosx-version-min=14.7 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -v -Wl,-v CMakeFiles/cmTC_8ba91.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_8ba91 + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/usr/local/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:113 (message)" + - "/usr/local/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:26 (PROJECT)" + message: | + Effective list of requested architectures (possibly empty) : "" + Effective list of architectures found in the ABI info binary: "x86_64" + - + kind: "message-v1" + backtrace: + - "/usr/local/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" + - "/usr/local/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:26 (PROJECT)" + message: | + Parsed CXX implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1] + add: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include] + add: [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include] + add: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include] + end of search list found + collapse include dir [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1] ==> [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1] + collapse include dir [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include] ==> [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include] + collapse include dir [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include] ==> [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include] + collapse include dir [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include] ==> [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include] + implicit include dirs: [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1;/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include;/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include] + + + - + kind: "message-v1" + backtrace: + - "/usr/local/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" + - "/usr/local/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:26 (PROJECT)" + message: | + Parsed CXX implicit link information: + link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] + ignore line: [Change Dir: '/Users/hzq/cpp/FrameworkBenchmarks/CMakeFiles/CMakeScratch/TryCompile-oFV5KX'] + ignore line: [] + ignore line: [Run Build Command(s): /usr/local/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_8ba91/fast] + ignore line: [/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_8ba91.dir/build.make CMakeFiles/cmTC_8ba91.dir/build] + ignore line: [Building CXX object CMakeFiles/cmTC_8ba91.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk -mmacosx-version-min=14.7 -v -Wl -v -MD -MT CMakeFiles/cmTC_8ba91.dir/CMakeCXXCompilerABI.cpp.o -MF CMakeFiles/cmTC_8ba91.dir/CMakeCXXCompilerABI.cpp.o.d -o CMakeFiles/cmTC_8ba91.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Apple clang version 16.0.0 (clang-1600.0.26.6)] + ignore line: [Target: x86_64-apple-darwin23.6.0] + ignore line: [Thread model: posix] + ignore line: [InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin] + ignore line: [c++: warning: -Wl -v: 'linker' input unused [-Wunused-command-line-argument]] + ignore line: [ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1"] + ignore line: [ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-apple-macosx14.7.0 -Wundef-prefix=TARGET_OS_ -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -Werror=implicit-function-declaration -emit-obj -mrelax-all -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name CMakeCXXCompilerABI.cpp -mrelocation-model pic -pic-level 2 -mframe-pointer=all -fno-strict-return -ffp-contract=on -fno-rounding-math -funwind-tables=2 -target-sdk-version=15.2 -fvisibility-inlines-hidden-static-local-var -fno-modulemap-allow-subdirectory-search -target-cpu penryn -tune-cpu generic -debugger-tuning=lldb -target-linker-version 1115.7.3 -v -fcoverage-compilation-dir=/Users/hzq/cpp/FrameworkBenchmarks/CMakeFiles/CMakeScratch/TryCompile-oFV5KX -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16 -dependency-file CMakeFiles/cmTC_8ba91.dir/CMakeCXXCompilerABI.cpp.o.d -skip-unused-modulemap-deps -MT CMakeFiles/cmTC_8ba91.dir/CMakeCXXCompilerABI.cpp.o -sys-header-deps -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk -internal-isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1 -internal-isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/local/include -internal-isystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include -internal-externc-isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include -internal-externc-isystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -Wno-reorder-init-list -Wno-implicit-int-float-conversion -Wno-c99-designator -Wno-final-dtor-non-final-class -Wno-extra-semi-stmt -Wno-misleading-indentation -Wno-quoted-include-in-framework-header -Wno-implicit-fallthrough -Wno-enum-enum-conversion -Wno-enum-float-conversion -Wno-elaborated-enum-base -Wno-reserved-identifier -Wno-gnu-folding-constant -fdeprecated-macro -fdebug-compilation-dir=/Users/hzq/cpp/FrameworkBenchmarks/CMakeFiles/CMakeScratch/TryCompile-oFV5KX -ferror-limit 19 -stack-protector 1 -fstack-check -mdarwin-stkchk-strong-link -fblocks -fencode-extended-block-signature -fregister-global-dtors-with-atexit -fgnuc-version=4.2.1 -fno-cxx-modules -fcxx-exceptions -fexceptions -fmax-type-align=16 -fcommon -clang-vendor-feature=+disableNonDependentMemberExprInCurrentInstantiation -fno-odr-hash-protocols -clang-vendor-feature=+enableAggressiveVLAFolding -clang-vendor-feature=+revert09abecef7bbf -clang-vendor-feature=+thisNoAlignAttr -clang-vendor-feature=+thisNoNullAttr -clang-vendor-feature=+disableAtImportPrivateFrameworkInImplementationError -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o CMakeFiles/cmTC_8ba91.dir/CMakeCXXCompilerABI.cpp.o -x c++ /usr/local/share/cmake/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [clang -cc1 version 16.0.0 (clang-1600.0.26.6) default target x86_64-apple-darwin23.6.0] + ignore line: [ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/local/include"] + ignore line: [ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/Library/Frameworks"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1] + ignore line: [ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include] + ignore line: [ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include] + ignore line: [ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include] + ignore line: [ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks (framework directory)] + ignore line: [End of search list.] + ignore line: [Linking CXX executable cmTC_8ba91] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8ba91.dir/link.txt --verbose=1] + ignore line: [Apple clang version 16.0.0 (clang-1600.0.26.6)] + ignore line: [Target: x86_64-apple-darwin23.6.0] + ignore line: [Thread model: posix] + ignore line: [InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin] + link line: [ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -lto_library /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib -dynamic -arch x86_64 -platform_version macos 14.7.0 15.2 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk -mllvm -enable-linkonceodr-outlining -o cmTC_8ba91 -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_8ba91.dir/CMakeCXXCompilerABI.cpp.o -lc++ -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/lib/darwin/libclang_rt.osx.a] + arg [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld] ==> ignore + arg [-demangle] ==> ignore + arg [-lto_library] ==> ignore, skip following value + arg [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib] ==> skip value of -lto_library + arg [-dynamic] ==> ignore + arg [-arch] ==> ignore + arg [x86_64] ==> ignore + arg [-platform_version] ==> ignore + arg [macos] ==> ignore + arg [14.7.0] ==> ignore + arg [15.2] ==> ignore + arg [-syslibroot] ==> ignore + arg [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk] ==> ignore + arg [-mllvm] ==> ignore + arg [-enable-linkonceodr-outlining] ==> ignore + arg [-o] ==> ignore + arg [cmTC_8ba91] ==> ignore + arg [-search_paths_first] ==> ignore + arg [-headerpad_max_install_names] ==> ignore + arg [-v] ==> ignore + arg [CMakeFiles/cmTC_8ba91.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lc++] ==> lib [c++] + arg [-lSystem] ==> lib [System] + arg [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/lib/darwin/libclang_rt.osx.a] ==> lib [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/lib/darwin/libclang_rt.osx.a] + linker tool for 'CXX': /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld + Library search paths: [;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib/swift] + Framework search paths: [;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks] + remove lib [System] + remove lib [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/lib/darwin/libclang_rt.osx.a] + collapse library dir [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib] ==> [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib] + collapse library dir [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib/swift] ==> [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib/swift] + collapse framework dir [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks] ==> [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks] + implicit libs: [c++] + implicit objs: [] + implicit dirs: [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib/swift] + implicit fwks: [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks] + + + - + kind: "message-v1" + backtrace: + - "/usr/local/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)" + - "/usr/local/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:255 (cmake_determine_linker_id)" + - "/usr/local/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:26 (PROJECT)" + message: | + Running the CXX compiler's linker: "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" "-v" + @(#)PROGRAM:ld PROJECT:ld-1115.7.3 + BUILD 23:50:35 Dec 5 2024 + configured to support archs: armv6 armv7 armv7s arm64 arm64e arm64_32 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em + will use ld-classic for: armv6 armv7 armv7s i386 armv6m armv7k armv7m armv7em + LTO support using: LLVM version 16.0.0 (static support for 29, runtime is 29) + TAPI support using: Apple TAPI version 16.0.0 (tapi-1600.0.11.9) +... diff --git a/CMakeFiles/cmake.check_cache b/CMakeFiles/cmake.check_cache new file mode 100644 index 00000000000..3dccd731726 --- /dev/null +++ b/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/frameworks/C++/paozhu/paozhu.dockerfile b/frameworks/C++/paozhu/paozhu.dockerfile index 212773c8bea..f71728d65f2 100644 --- a/frameworks/C++/paozhu/paozhu.dockerfile +++ b/frameworks/C++/paozhu/paozhu.dockerfile @@ -24,10 +24,14 @@ RUN rm -Rf ./paozhu/libs RUN rm -Rf ./paozhu/viewsrc RUN rm -Rf ./paozhu/orm RUN rm -Rf ./paozhu/models -RUN rm -Rf ./paozhu/common - - - +#RUN rm -Rf ./paozhu/common +RUN rm -Rf ./paozhu/common/autocontrolmethod.hpp +RUN rm -Rf ./paozhu/common/autorestfulpaths.hpp +RUN rm -Rf ./paozhu/common/json_reflect_headers.h +RUN rm -Rf ./paozhu/common/reghttpmethod_pre.hpp +RUN rm -Rf ./paozhu/common/reghttpmethod.hpp +RUN rm -Rf ./paozhu/common/websockets_method_reg.hpp +RUN rm -Rf ./paozhu/common/httphook.cpp # COPY ./paozhu_benchmark/controller ./paozhu/ # COPY ./paozhu_benchmark/libs ./paozhu/ # COPY ./paozhu_benchmark/view ./paozhu/ @@ -39,7 +43,7 @@ RUN rm -Rf ./paozhu/common # RUN ls -l ./paozhu # RUN pwd -RUN mkdir ./paozhu/common +#RUN mkdir ./paozhu/common RUN mkdir ./paozhu/libs RUN mkdir ./paozhu/libs/types COPY ./paozhu_benchmark/libs/types/techempower_json.h ./paozhu/libs/types/ @@ -58,7 +62,7 @@ COPY ./paozhu_benchmark/common/reghttpmethod_pre.hpp ./paozhu/common/ COPY ./paozhu_benchmark/common/reghttpmethod.hpp ./paozhu/common/ COPY ./paozhu_benchmark/common/json_reflect_headers.h ./paozhu/common/ -COPY ./paozhu_benchmark/common/cost_define.h ./paozhu/common/ +#COPY ./paozhu_benchmark/common/cost_define.h ./paozhu/common/ COPY ./paozhu_benchmark/common/autorestfulpaths.hpp ./paozhu/common/ COPY ./paozhu_benchmark/common/websockets_method_reg.hpp ./paozhu/common/ COPY ./paozhu_benchmark/common/httphook.cpp ./paozhu/common/ diff --git a/frameworks/C++/paozhu/paozhu_benchmark/orm/include/fortune_mysql.h b/frameworks/C++/paozhu/paozhu_benchmark/orm/include/fortune_mysql.h index 8b31ea9a000..2e403808c05 100644 --- a/frameworks/C++/paozhu/paozhu_benchmark/orm/include/fortune_mysql.h +++ b/frameworks/C++/paozhu/paozhu_benchmark/orm/include/fortune_mysql.h @@ -140,21 +140,31 @@ namespace orm { return 0; } - auto conn = conn_obj->get_select_conn(); - - unsigned int querysql_len = countsql.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(countsql); + //auto conn = conn_obj->get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = conn_obj->get_select_conn(); + } + } + else + { + select_conn = conn_obj->get_select_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); + if(select_conn->isdebug) + { + select_conn->begin_time(); + } + std::size_t n = select_conn->write_sql(countsql); + if(n==0) + { + error_msg = select_conn->error_msg; + select_conn.reset(); + return 0; + } - pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; bool is_sql_item = false; @@ -163,29 +173,31 @@ namespace orm unsigned int column_num = 0; unsigned int offset = 0; - querysql_len = 0; + unsigned int querysql_len = 0; for (; is_sql_item == false;) { - n = conn->read_loop(); + n = select_conn->read_loop(); offset = 0; if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -202,7 +214,7 @@ namespace orm else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); column_num--; if (column_num == 0) @@ -214,7 +226,7 @@ namespace orm { unsigned int tempnum = 0; - unsigned int name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + unsigned int name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); querysql_len = 0; for (unsigned int ik = 0; ik < name_length; ik++) @@ -240,7 +252,18 @@ namespace orm } } - conn_obj->back_select_conn(conn); + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(countsql,std::to_string(du_time)); + } + + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { @@ -354,19 +377,31 @@ namespace orm { co_return 0; } - auto conn = co_await conn_obj->async_get_select_conn(); - - unsigned int querysql_len = countsql.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(countsql); + //auto conn = co_await conn_obj->async_get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + } + else + { + select_conn = co_await conn_obj->async_get_select_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); + if(select_conn->isdebug) + { + select_conn->begin_time(); + } + std::size_t n = co_await select_conn->async_write_sql(countsql); + if(n==0) + { + error_msg = select_conn->error_msg; + select_conn.reset(); + co_return 0; + } + //std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); pack_info_t temp_pack_data; @@ -377,28 +412,30 @@ namespace orm unsigned int column_num = 0; unsigned int offset = 0; - querysql_len = 0; + unsigned int querysql_len = 0; for (; is_sql_item == false;) { - n = co_await conn->async_read_loop(); + n = co_await select_conn->async_read_loop(); offset = 0; if (n==0) { + select_conn.reset(); co_return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); co_return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -415,7 +452,7 @@ namespace orm else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); column_num--; if (column_num == 0) @@ -427,7 +464,7 @@ namespace orm { unsigned int tempnum = 0; - unsigned int name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + unsigned int name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); querysql_len = 0; for (unsigned int ik = 0; ik < name_length; ik++) @@ -453,8 +490,17 @@ namespace orm } } - conn_obj->back_select_conn(conn); - + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(countsql,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { if (exptime > 0) @@ -607,32 +653,50 @@ namespace orm { return 0; } - auto conn = conn_obj->get_edit_conn(); + //auto conn = conn_obj->get_edit_conn(); - unsigned int querysql_len = countsql.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(countsql); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(countsql); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + return 0; + } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(countsql,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -642,12 +706,14 @@ namespace orm { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - //insertid = pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + } - - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } catch (const std::exception &e) { @@ -740,31 +806,48 @@ namespace orm { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - - unsigned int querysql_len = countsql.length() + 1; - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(countsql); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(countsql); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } unsigned int offset = 0; - n = co_await conn->async_read_loop(); + n = co_await edit_conn->async_read_loop(); if (n==0) { + edit_conn.reset(); co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(countsql,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -774,12 +857,13 @@ namespace orm { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - //insertid = pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - co_return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return effect_num; } catch (const std::exception &e) { @@ -861,32 +945,51 @@ namespace orm { return 0; } - auto conn = conn_obj->get_edit_conn(); + //auto conn = conn_obj->get_edit_conn(); - unsigned int querysql_len = countsql.length() + 1; + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(countsql); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); + std::size_t n = edit_conn->write_sql(countsql); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + return 0; + } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(countsql,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -896,12 +999,13 @@ namespace orm { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - //insertid = pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } catch (const std::exception &e) { @@ -5064,27 +5168,31 @@ M_MODEL& or_leMessage(T val) { return temprecord; } - auto conn = conn_obj->get_select_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; + //auto conn = conn_obj->get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = conn_obj->get_select_conn(); + } + } + else + { + select_conn = conn_obj->get_select_conn(); + } - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(select_conn->isdebug) + { + select_conn->begin_time(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + std::size_t n = select_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = select_conn->error_msg; + select_conn.reset(); return temprecord; } - pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -5098,25 +5206,27 @@ M_MODEL& or_leMessage(T val) for (; is_sql_item == false;) { - n = conn->read_loop(); + n = select_conn->read_loop(); offset = 0; if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return temprecord; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); return temprecord; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -5133,7 +5243,7 @@ M_MODEL& or_leMessage(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -5155,7 +5265,7 @@ M_MODEL& or_leMessage(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); std::string temp_str; temp_str.resize(name_length); @@ -5186,8 +5296,18 @@ M_MODEL& or_leMessage(T val) } } } + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } - conn_obj->back_select_conn(conn); + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { @@ -5287,28 +5407,32 @@ M_MODEL& or_leMessage(T val) { return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } - auto conn = conn_obj->get_select_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); + //auto conn = conn_obj->get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = conn_obj->get_select_conn(); + } + } + else + { + select_conn = conn_obj->get_select_conn(); + } - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(select_conn->isdebug) + { + select_conn->begin_time(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + std::size_t n = select_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = select_conn->error_msg; + select_conn.reset(); return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } - + pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; bool is_sql_item = false; @@ -5324,25 +5448,27 @@ M_MODEL& or_leMessage(T val) for (; is_sql_item == false;) { - n = conn->read_loop(); + n = select_conn->read_loop(); offset = 0; if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -5359,7 +5485,7 @@ M_MODEL& or_leMessage(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -5383,7 +5509,7 @@ M_MODEL& or_leMessage(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); std::string tempstr; tempstr.resize(name_length); std::memcpy(tempstr.data(), (unsigned char *)&temp_pack_data.data[tempnum], name_length); @@ -5405,9 +5531,18 @@ M_MODEL& or_leMessage(T val) } } } - conn_obj->back_select_conn(conn); + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } - + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { @@ -5509,34 +5644,30 @@ M_MODEL& or_leMessage(T val) { return *mod; } - auto conn = conn_obj->get_select_conn(); - - std::size_t n = conn->write_sql(sqlstring); + //auto conn = conn_obj->get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = conn_obj->get_select_conn(); + } + } + else + { + select_conn = conn_obj->get_select_conn(); + } + if(select_conn->isdebug) + { + select_conn->begin_time(); + } + + std::size_t n = select_conn->write_sql(sqlstring); if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return *mod; } - - //unsigned int querysql_len = sqlstring.length() + 1; - - // conn->send_data.clear(); - - // conn->send_data.push_back((querysql_len & 0xFF)); - // conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - // conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - // conn->send_data.push_back(0x00); - // conn->send_data.push_back(0x03); - // conn->send_data.append(sqlstring); - - // std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - // if(conn->ec) - // { - // error_msg = conn->ec.message(); - // iserror = true; - // return *mod; - // } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -5552,26 +5683,28 @@ M_MODEL& or_leMessage(T val) for (; is_sql_item == false;) { - n = conn->read_loop(); + n = select_conn->read_loop(); offset = 0; if(n==0) { iserror = true; - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return *mod; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); return *mod; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -5588,7 +5721,7 @@ M_MODEL& or_leMessage(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -5610,7 +5743,7 @@ M_MODEL& or_leMessage(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, data_temp); tempnum = tempnum + name_length; @@ -5630,7 +5763,18 @@ M_MODEL& or_leMessage(T val) } } } - conn_obj->back_select_conn(conn); + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { @@ -5718,29 +5862,31 @@ M_MODEL& or_leMessage(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_select_conn(); + //auto conn = co_await conn_obj->async_get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + } + else + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + if(select_conn->isdebug) + { + select_conn->begin_time(); + } - std::size_t n = co_await conn->async_write_sql(sqlstring); + std::size_t n = co_await select_conn->async_write_sql(sqlstring); if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); co_return 0; } - - // unsigned int querysql_len = sqlstring.length() + 1; - - // conn->send_data.clear(); - - // conn->send_data.push_back((querysql_len & 0xFF)); - // conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - // conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - // conn->send_data.push_back(0x00); - // conn->send_data.push_back(0x03); - // conn->send_data.append(sqlstring); - - // std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); - pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -5756,24 +5902,26 @@ M_MODEL& or_leMessage(T val) for (; is_sql_item == false;) { - n = co_await conn->async_read_loop(); + n = co_await select_conn->async_read_loop(); offset = 0; if (n==0) { + select_conn.reset(); co_return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); co_return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -5790,7 +5938,7 @@ M_MODEL& or_leMessage(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -5812,7 +5960,7 @@ M_MODEL& or_leMessage(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, data_temp); tempnum = tempnum + name_length; @@ -5832,8 +5980,17 @@ M_MODEL& or_leMessage(T val) } } } - conn_obj->back_select_conn(conn); - + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { if (exptime > 0) @@ -5919,25 +6076,28 @@ M_MODEL& or_leMessage(T val) { return 0; } - auto conn = conn_obj->get_select_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = conn_obj->get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = conn_obj->get_select_conn(); + } + } + else + { + select_conn = conn_obj->get_select_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(select_conn->isdebug) + { + select_conn->begin_time(); + } + std::size_t n = select_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = select_conn->error_msg; + select_conn.reset(); return 0; } @@ -5955,25 +6115,27 @@ M_MODEL& or_leMessage(T val) for (; is_sql_item == false;) { - n = conn->read_loop(); + n = select_conn->read_loop(); offset = 0; if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -5990,7 +6152,7 @@ M_MODEL& or_leMessage(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -6012,7 +6174,7 @@ M_MODEL& or_leMessage(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, data_temp); tempnum = tempnum + name_length; @@ -6032,7 +6194,18 @@ M_MODEL& or_leMessage(T val) } } } - conn_obj->back_select_conn(conn); + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { @@ -6121,23 +6294,30 @@ M_MODEL& or_leMessage(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_select_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); - - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); - - // asio::error_code ec; + //auto conn = co_await conn_obj->async_get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + } + else + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + if(select_conn->isdebug) + { + select_conn->begin_time(); + } + std::size_t n = co_await select_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = select_conn->error_msg; + select_conn.reset(); + co_return 0; + } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -6155,26 +6335,26 @@ M_MODEL& or_leMessage(T val) for (; is_sql_item == false;) { - // std::memset(result_data, 0x00, 4096); - // n = co_await conn->socket->async_read_some(asio::buffer(result_data), asio::use_awaitable); - n = co_await conn->async_read_loop(); + n = co_await select_conn->async_read_loop(); offset = 0; if (n==0) { + select_conn.reset(); co_return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); co_return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -6191,7 +6371,7 @@ M_MODEL& or_leMessage(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -6213,7 +6393,7 @@ M_MODEL& or_leMessage(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, data_temp); tempnum = tempnum + name_length; @@ -6233,8 +6413,17 @@ M_MODEL& or_leMessage(T val) } } } - conn_obj->back_select_conn(conn); - + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { if (exptime > 0) @@ -6319,34 +6508,31 @@ M_MODEL& or_leMessage(T val) { return 0; } - auto conn = conn_obj->get_select_conn(); + //auto conn = conn_obj->get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = conn_obj->get_select_conn(); + } + } + else + { + select_conn = conn_obj->get_select_conn(); + } + + if(select_conn->isdebug) + { + select_conn->begin_time(); + } - std::size_t n = conn->write_sql(sqlstring); + std::size_t n = select_conn->write_sql(sqlstring); if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return 0; } - - // unsigned int querysql_len = sqlstring.length() + 1; - - // conn->send_data.clear(); - // conn->send_data.push_back((querysql_len & 0xFF)); - // conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - // conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - // conn->send_data.push_back(0x00); - // conn->send_data.push_back(0x03); - // conn->send_data.append(sqlstring); - - // std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - // if(conn->ec) - // { - // error_msg = conn->ec.message(); - // iserror = true; - // return 0; - // } - pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -6360,25 +6546,27 @@ M_MODEL& or_leMessage(T val) for (; is_sql_item == false;) { - n = conn->read_loop(); + n = select_conn->read_loop(); offset = 0; if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -6395,7 +6583,7 @@ M_MODEL& or_leMessage(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -6419,7 +6607,7 @@ M_MODEL& or_leMessage(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, data_temp); tempnum = tempnum + name_length; @@ -6432,7 +6620,7 @@ M_MODEL& or_leMessage(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, B_BASE::data); tempnum = tempnum + name_length; @@ -6452,8 +6640,18 @@ M_MODEL& or_leMessage(T val) } } } + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } - conn_obj->back_select_conn(conn); + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { @@ -6541,34 +6739,36 @@ M_MODEL& or_leMessage(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_select_conn(); + //auto conn = co_await conn_obj->async_get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + } + else + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + if(select_conn->isdebug) + { + select_conn->begin_time(); + } - std::size_t n = co_await conn->async_write_sql(sqlstring); + std::size_t n = co_await select_conn->async_write_sql(sqlstring); if (n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); co_return 0; } - - // unsigned int querysql_len = sqlstring.length() + 1; - - // conn->send_data.clear(); - // conn->send_data.push_back((querysql_len & 0xFF)); - // conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - // conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - // conn->send_data.push_back(0x00); - // conn->send_data.push_back(0x03); - // conn->send_data.append(sqlstring); - - // std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); - pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; bool is_sql_item = false; std::vector field_array; - // std::vector> field_value; unsigned char action_setup = 0; unsigned int column_num = 0; @@ -6576,28 +6776,29 @@ M_MODEL& or_leMessage(T val) unsigned int offset = 0; std::vector field_pos; - // std::map other_col; for (; is_sql_item == false;) { - n = co_await conn->async_read_loop(); + n = co_await select_conn->async_read_loop(); offset = 0; if (n==0) { + select_conn.reset(); co_return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); co_return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -6614,7 +6815,7 @@ M_MODEL& or_leMessage(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -6638,7 +6839,7 @@ M_MODEL& or_leMessage(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, data_temp); tempnum = tempnum + name_length; @@ -6651,7 +6852,7 @@ M_MODEL& or_leMessage(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, B_BASE::data); tempnum = tempnum + name_length; @@ -6671,9 +6872,17 @@ M_MODEL& or_leMessage(T val) } } } - - conn_obj->back_select_conn(conn); - + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { if (exptime > 0) @@ -6865,25 +7074,29 @@ M_MODEL& or_leMessage(T val) { return 0; } - auto conn = conn_obj->get_select_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); + //auto conn = conn_obj->get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = conn_obj->get_select_conn(); + } + } + else + { + select_conn = conn_obj->get_select_conn(); + } - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(select_conn->isdebug) + { + select_conn->begin_time(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + std::size_t n = select_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = select_conn->error_msg; + select_conn.reset(); return 0; } @@ -6900,25 +7113,27 @@ M_MODEL& or_leMessage(T val) for (; is_sql_item == false;) { - n = conn->read_loop(); + n = select_conn->read_loop(); offset = 0; if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -6935,7 +7150,7 @@ M_MODEL& or_leMessage(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -6953,7 +7168,7 @@ M_MODEL& or_leMessage(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); std::string temp_str; temp_str.resize(name_length); @@ -6984,7 +7199,17 @@ M_MODEL& or_leMessage(T val) } } } - conn_obj->back_select_conn(conn); + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } } catch (const std::exception &e) @@ -7053,21 +7278,31 @@ M_MODEL& or_leMessage(T val) { co_return valuetemp; } - auto conn = co_await conn_obj->async_get_select_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - conn->send_data.clear(); - - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = co_await conn_obj->async_get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + } + else + { + select_conn = co_await conn_obj->async_get_select_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); - - + if(select_conn->isdebug) + { + select_conn->begin_time(); + } + std::size_t n = co_await select_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = select_conn->error_msg; + select_conn.reset(); + co_return valuetemp; + } + pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; bool is_sql_item = false; @@ -7081,24 +7316,26 @@ M_MODEL& or_leMessage(T val) for (; is_sql_item == false;) { - n = co_await conn->async_read_loop(); + n = co_await select_conn->async_read_loop(); offset = 0; if (n==0) { + select_conn.reset(); co_return valuetemp; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); co_return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -7115,7 +7352,7 @@ M_MODEL& or_leMessage(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -7133,7 +7370,7 @@ M_MODEL& or_leMessage(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); std::string temp_str; temp_str.resize(name_length); @@ -7164,7 +7401,17 @@ M_MODEL& or_leMessage(T val) } } } - conn_obj->back_select_conn(conn); + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } } catch (const std::exception &e) @@ -7225,25 +7472,30 @@ M_MODEL& or_leMessage(T val) { return 0; } - auto conn = conn_obj->get_select_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; + //auto conn = conn_obj->get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = conn_obj->get_select_conn(); + } + } + else + { + select_conn = conn_obj->get_select_conn(); + } - conn->send_data.clear(); + if(select_conn->isdebug) + { + select_conn->begin_time(); + } - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + std::size_t n = select_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = select_conn->error_msg; + select_conn.reset(); return 0; } @@ -7261,25 +7513,27 @@ M_MODEL& or_leMessage(T val) for (; is_sql_item == false;) { - n = conn->read_loop(); + n = select_conn->read_loop(); offset = 0; if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -7296,7 +7550,7 @@ M_MODEL& or_leMessage(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -7317,7 +7571,7 @@ M_MODEL& or_leMessage(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, B_BASE::data); tempnum = tempnum + name_length; @@ -7337,8 +7591,17 @@ M_MODEL& or_leMessage(T val) } } } - conn_obj->back_select_conn(conn); - + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { if (exptime > 0) @@ -7409,22 +7672,31 @@ M_MODEL& or_leMessage(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_select_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = co_await conn_obj->async_get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + } + else + { + select_conn = co_await conn_obj->async_get_select_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); - - + if(select_conn->isdebug) + { + select_conn->begin_time(); + } + std::size_t n = co_await select_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = select_conn->error_msg; + select_conn.reset(); + co_return 0; + } + pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; bool is_sql_item = false; @@ -7439,24 +7711,26 @@ M_MODEL& or_leMessage(T val) for (; is_sql_item == false;) { - n = co_await conn->async_read_loop(); + n = co_await select_conn->async_read_loop(); offset = 0; if (n==0) { + select_conn.reset(); co_return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); co_return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -7473,7 +7747,7 @@ M_MODEL& or_leMessage(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -7494,7 +7768,7 @@ M_MODEL& or_leMessage(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, B_BASE::data); tempnum = tempnum + name_length; @@ -7514,8 +7788,17 @@ M_MODEL& or_leMessage(T val) } } } - conn_obj->back_select_conn(conn); - + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { if (exptime > 0) @@ -7602,39 +7885,52 @@ M_MODEL& or_leMessage(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); + //auto conn = conn_obj->get_edit_conn(); - unsigned int querysql_len = sqlstring.length() + 1; + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); - conn_obj->back_edit_conn(conn); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -7644,10 +7940,13 @@ M_MODEL& or_leMessage(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } catch (const std::exception &e) { @@ -7726,46 +8025,50 @@ M_MODEL& or_leMessage(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); + //auto conn = conn_obj->get_edit_conn(); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } - std::size_t n = conn->write_sql(sqlstring); + std::size_t n = edit_conn->write_sql(sqlstring); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } - // unsigned int querysql_len = sqlstring.length() + 1; - - // conn->send_data.clear(); - // conn->send_data.push_back((querysql_len & 0xFF)); - // conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - // conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - // conn->send_data.push_back(0x00); - // conn->send_data.push_back(0x03); - // conn->send_data.append(sqlstring); - - // std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - // if(conn->ec) - // { - // error_msg = conn->ec.message(); - // iserror = true; - // return 0; - // } - unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); - conn_obj->back_edit_conn(conn); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -7775,10 +8078,13 @@ M_MODEL& or_leMessage(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } catch (const std::exception &e) { @@ -7858,32 +8164,49 @@ M_MODEL& or_leMessage(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } unsigned int offset = 0; - n = co_await conn->async_read_loop(); + n = co_await edit_conn->async_read_loop(); if (n==0) { + edit_conn.reset(); co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); - + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -7893,11 +8216,13 @@ M_MODEL& or_leMessage(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - co_return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return effect_num; } catch (const std::exception &e) { @@ -7976,31 +8301,48 @@ M_MODEL& or_leMessage(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } unsigned int offset = 0; - n = co_await conn->async_read_loop(); + n = co_await edit_conn->async_read_loop(); if (n==0) { + edit_conn.reset(); co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -8011,11 +8353,13 @@ M_MODEL& or_leMessage(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - co_return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return effect_num; } catch (const std::exception &e) { @@ -8060,39 +8404,50 @@ M_MODEL& or_leMessage(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); + //auto conn = conn_obj->get_edit_conn(); - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -8102,10 +8457,13 @@ M_MODEL& or_leMessage(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } catch (const std::exception &e) { @@ -8185,39 +8543,49 @@ M_MODEL& or_leMessage(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = conn_obj->get_edit_conn(); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -8227,10 +8595,13 @@ M_MODEL& or_leMessage(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } catch (const std::exception &e) { @@ -8311,31 +8682,48 @@ M_MODEL& or_leMessage(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } unsigned int offset = 0; - n = co_await conn->async_read_loop(); + n = co_await edit_conn->async_read_loop(); if (n==0) { + edit_conn.reset(); co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -8345,10 +8733,13 @@ M_MODEL& or_leMessage(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - co_return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return effect_num; } catch (const std::exception &e) { @@ -8394,39 +8785,49 @@ M_MODEL& or_leMessage(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = conn_obj->get_edit_conn(); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -8436,10 +8837,13 @@ M_MODEL& or_leMessage(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } catch (const std::exception &e) { @@ -8485,31 +8889,48 @@ M_MODEL& or_leMessage(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); - - unsigned int offset = 0; - n = co_await conn->async_read_loop(); - if (n==0) + if(edit_conn->isdebug) { - co_return 0; + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } + + unsigned int offset = 0; + n = co_await edit_conn->async_read_loop(); + if (n==0) + { + edit_conn.reset(); + co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -8519,10 +8940,14 @@ M_MODEL& or_leMessage(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - co_return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + } - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return effect_num; } catch (const std::exception &e) { @@ -8606,39 +9031,49 @@ M_MODEL& or_leMessage(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = conn_obj->get_edit_conn(); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -8648,10 +9083,14 @@ M_MODEL& or_leMessage(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } catch (const std::exception &e) { @@ -8742,40 +9181,51 @@ M_MODEL& or_leMessage(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); + //auto conn = conn_obj->get_edit_conn(); - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); - + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -8784,10 +9234,13 @@ M_MODEL& or_leMessage(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } catch (const std::exception &e) { @@ -8825,40 +9278,52 @@ M_MODEL& or_leMessage(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; + //auto conn = conn_obj->get_edit_conn(); - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + long long insert_last_id = 0; if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -8867,12 +9332,14 @@ M_MODEL& or_leMessage(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - long long insert_last_id= conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - return insert_last_id; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return insert_last_id; } catch (const std::exception &e) { @@ -8909,32 +9376,50 @@ M_MODEL& or_leMessage(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } unsigned int offset = 0; - n = co_await conn->async_read_loop(); + n = co_await edit_conn->async_read_loop(); if (n==0) { + edit_conn.reset(); co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + long long insert_last_id = 0; if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -8943,12 +9428,14 @@ M_MODEL& or_leMessage(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - long long insert_last_id= conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - co_return insert_last_id; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return insert_last_id; } catch (const std::exception &e) { @@ -8985,40 +9472,51 @@ M_MODEL& or_leMessage(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = conn_obj->get_edit_conn(); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + long long insert_last_id = 0; if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -9027,12 +9525,14 @@ M_MODEL& or_leMessage(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - long long insert_last_id= conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - return insert_last_id; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return insert_last_id; } catch (const std::exception &e) { @@ -9069,46 +9569,65 @@ M_MODEL& or_leMessage(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } unsigned int offset = 0; - n = co_await conn->async_read_loop(); + n = co_await edit_conn->async_read_loop(); if (n==0) { + edit_conn.reset(); co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + long long insert_last_id = 0; if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); } else if ((unsigned char)temp_pack_data.data[0] == 0x00) { - unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - long long insert_last_id= conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - co_return insert_last_id; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return insert_last_id; } catch (const std::exception &e) { @@ -9145,40 +9664,51 @@ M_MODEL& or_leMessage(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = conn_obj->get_edit_conn(); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) { - error_msg = conn->ec.message(); - iserror = true; + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + long long insert_last_id = 0; if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -9186,12 +9716,14 @@ M_MODEL& or_leMessage(T val) else if ((unsigned char)temp_pack_data.data[0] == 0x00) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - long long insert_last_id= conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - return insert_last_id; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return insert_last_id; } catch (const std::exception &e) { @@ -9228,32 +9760,50 @@ M_MODEL& or_leMessage(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } unsigned int offset = 0; - n = co_await conn->async_read_loop(); + n = co_await edit_conn->async_read_loop(); if (n==0) { + edit_conn.reset(); co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + long long insert_last_id = 0; if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -9262,12 +9812,14 @@ M_MODEL& or_leMessage(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - long long insert_last_id= conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - co_return insert_last_id; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return insert_last_id; } catch (const std::exception &e) { @@ -9335,40 +9887,50 @@ M_MODEL& or_leMessage(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = conn_obj->get_edit_conn(); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); - + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -9377,10 +9939,14 @@ M_MODEL& or_leMessage(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } else { @@ -9389,40 +9955,51 @@ M_MODEL& or_leMessage(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = conn_obj->get_edit_conn(); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); - + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + + long long insert_last_id = 0; if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -9431,12 +10008,14 @@ M_MODEL& or_leMessage(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - long long insert_last_id= conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - return insert_last_id; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return insert_last_id; } return 0; } @@ -9495,31 +10074,48 @@ M_MODEL& or_leMessage(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } unsigned int offset = 0; - n = co_await conn->async_read_loop(); + n = co_await edit_conn->async_read_loop(); if (n==0) { + edit_conn.reset(); co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -9530,11 +10126,13 @@ M_MODEL& or_leMessage(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - co_return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return effect_num; } catch (const std::exception &e) { @@ -9560,32 +10158,49 @@ M_MODEL& or_leMessage(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); - unsigned int offset = 0; - n = co_await conn->async_read_loop(); + n = co_await edit_conn->async_read_loop(); if (n==0) { + edit_conn.reset(); co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + long long insert_last_id = 0; if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -9594,12 +10209,14 @@ M_MODEL& or_leMessage(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - long long insert_last_id= conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - co_return insert_last_id; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return insert_last_id; } catch (const std::exception &e) { @@ -9620,7 +10237,7 @@ M_MODEL& or_leMessage(T val) std::tuple, std::map, std::vector>> query(const std::string &rawsql) { - + effect_num = 0; std::vector> temprecord; std::vector table_fieldname; std::map table_fieldmap; @@ -9664,25 +10281,28 @@ M_MODEL& or_leMessage(T val) { return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } - auto conn = conn_obj->get_select_conn(); - - unsigned int querysql_len = rawsql.length() + 1; - - conn->send_data.clear(); - - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(rawsql); + //auto conn = conn_obj->get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = conn_obj->get_select_conn(); + } + } + else + { + select_conn = conn_obj->get_select_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(select_conn->isdebug) { - error_msg = conn->ec.message(); - iserror = true; + select_conn->begin_time(); + } + std::size_t n = select_conn->write_sql(rawsql); + if(n==0) + { + error_msg = select_conn->error_msg; + select_conn.reset(); return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } @@ -9700,25 +10320,27 @@ M_MODEL& or_leMessage(T val) for (; is_sql_item == false;) { - n = conn->read_loop(); + n = select_conn->read_loop(); offset = 0; if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -9735,7 +10357,7 @@ M_MODEL& or_leMessage(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -9759,7 +10381,7 @@ M_MODEL& or_leMessage(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); std::string tempstr; tempstr.resize(name_length); std::memcpy(tempstr.data(), (unsigned char *)&temp_pack_data.data[tempnum], name_length); @@ -9781,8 +10403,17 @@ M_MODEL& or_leMessage(T val) } } } - conn_obj->back_select_conn(conn); - + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(rawsql,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } return std::make_tuple(std::move(table_fieldname), std::move(table_fieldmap), std::move(temprecord)); } catch (const std::exception &e) @@ -9802,7 +10433,7 @@ M_MODEL& or_leMessage(T val) asio::awaitable, std::map, std::vector>>> async_query(const std::string &rawsql) { - + effect_num = 0; std::vector> temprecord; std::vector table_fieldname; std::map table_fieldmap; @@ -9846,22 +10477,30 @@ M_MODEL& or_leMessage(T val) { co_return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } - auto conn = co_await conn_obj->async_get_select_conn(); - - unsigned int querysql_len = rawsql.length() + 1; - - conn->send_data.clear(); - - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(rawsql); + if(islock_conn) + { + if(!select_conn) + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + } + else + { + select_conn = co_await conn_obj->async_get_select_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); - - + if(select_conn->isdebug) + { + select_conn->begin_time(); + } + std::size_t n = co_await select_conn->async_write_sql(rawsql); + if(n==0) + { + error_msg = select_conn->error_msg; + select_conn.reset(); + co_return std::make_tuple(table_fieldname, table_fieldmap, temprecord); + } + pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; bool is_sql_item = false; @@ -9876,24 +10515,26 @@ M_MODEL& or_leMessage(T val) for (; is_sql_item == false;) { - n = co_await conn->async_read_loop(); + n = co_await select_conn->async_read_loop(); offset = 0; if (n==0) { + select_conn.reset(); co_return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); co_return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -9910,7 +10551,7 @@ M_MODEL& or_leMessage(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -9934,7 +10575,7 @@ M_MODEL& or_leMessage(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); std::string tempstr; tempstr.resize(name_length); std::memcpy(tempstr.data(), (unsigned char *)&temp_pack_data.data[tempnum], name_length); @@ -9956,8 +10597,17 @@ M_MODEL& or_leMessage(T val) } } } - conn_obj->back_select_conn(conn); - + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(rawsql,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } co_return std::make_tuple(std::move(table_fieldname), std::move(table_fieldmap), std::move(temprecord)); } catch (const std::exception &e) @@ -9996,6 +10646,7 @@ M_MODEL& or_leMessage(T val) ishascontent = false; iscommit = false; iscache = false; + iserror = false; effect_num = 0; if (both) { @@ -10017,6 +10668,7 @@ M_MODEL& or_leMessage(T val) ishascontent = false; iscommit = false; iscache = false; + iserror = false; effect_num = 0; return *mod; } @@ -10052,7 +10704,25 @@ M_MODEL& or_leMessage(T val) iserror = true; return true; } - + void lock_conn() + { + islock_conn = true; + } + void unlock_conn() + { + islock_conn = false; + if (conn_obj) + { + if(select_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } + if(edit_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + } + } public: std::string selectsql; std::string wheresql; @@ -10070,6 +10740,7 @@ M_MODEL& or_leMessage(T val) bool ishascontent = false; bool iscache = false; bool iserror = false; + bool islock_conn = false; int exptime = 0; unsigned int effect_num = 0; diff --git a/frameworks/C++/paozhu/paozhu_benchmark/orm/include/fortunebase.h b/frameworks/C++/paozhu/paozhu_benchmark/orm/include/fortunebase.h index 6c04469a720..0c2957cb67b 100644 --- a/frameworks/C++/paozhu/paozhu_benchmark/orm/include/fortunebase.h +++ b/frameworks/C++/paozhu/paozhu_benchmark/orm/include/fortunebase.h @@ -2,7 +2,7 @@ #define ORM_DEFAULT_FORTUNEBASEMATA_H /* *This file is auto create from cli -*本文件为自动生成 Mon, 10 Mar 2025 03:03:50 GMT +*本文件为自动生成 Thu, 13 Mar 2025 08:50:20 GMT ***/ #include #include diff --git a/frameworks/C++/paozhu/paozhu_benchmark/orm/include/world_mysql.h b/frameworks/C++/paozhu/paozhu_benchmark/orm/include/world_mysql.h index 530ab810239..6d4f2b60aec 100644 --- a/frameworks/C++/paozhu/paozhu_benchmark/orm/include/world_mysql.h +++ b/frameworks/C++/paozhu/paozhu_benchmark/orm/include/world_mysql.h @@ -140,21 +140,31 @@ namespace orm { return 0; } - auto conn = conn_obj->get_select_conn(); - - unsigned int querysql_len = countsql.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(countsql); + //auto conn = conn_obj->get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = conn_obj->get_select_conn(); + } + } + else + { + select_conn = conn_obj->get_select_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); + if(select_conn->isdebug) + { + select_conn->begin_time(); + } + std::size_t n = select_conn->write_sql(countsql); + if(n==0) + { + error_msg = select_conn->error_msg; + select_conn.reset(); + return 0; + } - pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; bool is_sql_item = false; @@ -163,29 +173,31 @@ namespace orm unsigned int column_num = 0; unsigned int offset = 0; - querysql_len = 0; + unsigned int querysql_len = 0; for (; is_sql_item == false;) { - n = conn->read_loop(); + n = select_conn->read_loop(); offset = 0; if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -202,7 +214,7 @@ namespace orm else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); column_num--; if (column_num == 0) @@ -214,7 +226,7 @@ namespace orm { unsigned int tempnum = 0; - unsigned int name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + unsigned int name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); querysql_len = 0; for (unsigned int ik = 0; ik < name_length; ik++) @@ -240,7 +252,18 @@ namespace orm } } - conn_obj->back_select_conn(conn); + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(countsql,std::to_string(du_time)); + } + + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { @@ -354,19 +377,31 @@ namespace orm { co_return 0; } - auto conn = co_await conn_obj->async_get_select_conn(); - - unsigned int querysql_len = countsql.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(countsql); + //auto conn = co_await conn_obj->async_get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + } + else + { + select_conn = co_await conn_obj->async_get_select_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); + if(select_conn->isdebug) + { + select_conn->begin_time(); + } + std::size_t n = co_await select_conn->async_write_sql(countsql); + if(n==0) + { + error_msg = select_conn->error_msg; + select_conn.reset(); + co_return 0; + } + //std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); pack_info_t temp_pack_data; @@ -377,28 +412,30 @@ namespace orm unsigned int column_num = 0; unsigned int offset = 0; - querysql_len = 0; + unsigned int querysql_len = 0; for (; is_sql_item == false;) { - n = co_await conn->async_read_loop(); + n = co_await select_conn->async_read_loop(); offset = 0; if (n==0) { + select_conn.reset(); co_return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); co_return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -415,7 +452,7 @@ namespace orm else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); column_num--; if (column_num == 0) @@ -427,7 +464,7 @@ namespace orm { unsigned int tempnum = 0; - unsigned int name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + unsigned int name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); querysql_len = 0; for (unsigned int ik = 0; ik < name_length; ik++) @@ -453,8 +490,17 @@ namespace orm } } - conn_obj->back_select_conn(conn); - + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(countsql,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { if (exptime > 0) @@ -607,32 +653,50 @@ namespace orm { return 0; } - auto conn = conn_obj->get_edit_conn(); + //auto conn = conn_obj->get_edit_conn(); - unsigned int querysql_len = countsql.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(countsql); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(countsql); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + return 0; + } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(countsql,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -642,12 +706,14 @@ namespace orm { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - //insertid = pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + } - - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } catch (const std::exception &e) { @@ -740,31 +806,48 @@ namespace orm { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - - unsigned int querysql_len = countsql.length() + 1; - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(countsql); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(countsql); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } unsigned int offset = 0; - n = co_await conn->async_read_loop(); + n = co_await edit_conn->async_read_loop(); if (n==0) { + edit_conn.reset(); co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(countsql,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -774,12 +857,13 @@ namespace orm { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - //insertid = pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - co_return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return effect_num; } catch (const std::exception &e) { @@ -861,32 +945,51 @@ namespace orm { return 0; } - auto conn = conn_obj->get_edit_conn(); + //auto conn = conn_obj->get_edit_conn(); - unsigned int querysql_len = countsql.length() + 1; + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(countsql); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); + std::size_t n = edit_conn->write_sql(countsql); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + return 0; + } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(countsql,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -896,12 +999,13 @@ namespace orm { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - //insertid = pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } catch (const std::exception &e) { @@ -4904,27 +5008,31 @@ M_MODEL& or_leRandomnumber(T val) { return temprecord; } - auto conn = conn_obj->get_select_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; + //auto conn = conn_obj->get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = conn_obj->get_select_conn(); + } + } + else + { + select_conn = conn_obj->get_select_conn(); + } - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(select_conn->isdebug) + { + select_conn->begin_time(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + std::size_t n = select_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = select_conn->error_msg; + select_conn.reset(); return temprecord; } - pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -4938,25 +5046,27 @@ M_MODEL& or_leRandomnumber(T val) for (; is_sql_item == false;) { - n = conn->read_loop(); + n = select_conn->read_loop(); offset = 0; if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return temprecord; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); return temprecord; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -4973,7 +5083,7 @@ M_MODEL& or_leRandomnumber(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -4995,7 +5105,7 @@ M_MODEL& or_leRandomnumber(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); std::string temp_str; temp_str.resize(name_length); @@ -5026,8 +5136,18 @@ M_MODEL& or_leRandomnumber(T val) } } } + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } - conn_obj->back_select_conn(conn); + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { @@ -5127,28 +5247,32 @@ M_MODEL& or_leRandomnumber(T val) { return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } - auto conn = conn_obj->get_select_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); + //auto conn = conn_obj->get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = conn_obj->get_select_conn(); + } + } + else + { + select_conn = conn_obj->get_select_conn(); + } - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(select_conn->isdebug) + { + select_conn->begin_time(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + std::size_t n = select_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = select_conn->error_msg; + select_conn.reset(); return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } - + pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; bool is_sql_item = false; @@ -5164,25 +5288,27 @@ M_MODEL& or_leRandomnumber(T val) for (; is_sql_item == false;) { - n = conn->read_loop(); + n = select_conn->read_loop(); offset = 0; if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -5199,7 +5325,7 @@ M_MODEL& or_leRandomnumber(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -5223,7 +5349,7 @@ M_MODEL& or_leRandomnumber(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); std::string tempstr; tempstr.resize(name_length); std::memcpy(tempstr.data(), (unsigned char *)&temp_pack_data.data[tempnum], name_length); @@ -5245,9 +5371,18 @@ M_MODEL& or_leRandomnumber(T val) } } } - conn_obj->back_select_conn(conn); + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } - + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { @@ -5349,34 +5484,30 @@ M_MODEL& or_leRandomnumber(T val) { return *mod; } - auto conn = conn_obj->get_select_conn(); - - std::size_t n = conn->write_sql(sqlstring); + //auto conn = conn_obj->get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = conn_obj->get_select_conn(); + } + } + else + { + select_conn = conn_obj->get_select_conn(); + } + if(select_conn->isdebug) + { + select_conn->begin_time(); + } + + std::size_t n = select_conn->write_sql(sqlstring); if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return *mod; } - - //unsigned int querysql_len = sqlstring.length() + 1; - - // conn->send_data.clear(); - - // conn->send_data.push_back((querysql_len & 0xFF)); - // conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - // conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - // conn->send_data.push_back(0x00); - // conn->send_data.push_back(0x03); - // conn->send_data.append(sqlstring); - - // std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - // if(conn->ec) - // { - // error_msg = conn->ec.message(); - // iserror = true; - // return *mod; - // } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -5392,26 +5523,28 @@ M_MODEL& or_leRandomnumber(T val) for (; is_sql_item == false;) { - n = conn->read_loop(); + n = select_conn->read_loop(); offset = 0; if(n==0) { iserror = true; - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return *mod; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); return *mod; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -5428,7 +5561,7 @@ M_MODEL& or_leRandomnumber(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -5450,7 +5583,7 @@ M_MODEL& or_leRandomnumber(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, data_temp); tempnum = tempnum + name_length; @@ -5470,7 +5603,18 @@ M_MODEL& or_leRandomnumber(T val) } } } - conn_obj->back_select_conn(conn); + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { @@ -5558,29 +5702,31 @@ M_MODEL& or_leRandomnumber(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_select_conn(); + //auto conn = co_await conn_obj->async_get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + } + else + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + if(select_conn->isdebug) + { + select_conn->begin_time(); + } - std::size_t n = co_await conn->async_write_sql(sqlstring); + std::size_t n = co_await select_conn->async_write_sql(sqlstring); if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); co_return 0; } - - // unsigned int querysql_len = sqlstring.length() + 1; - - // conn->send_data.clear(); - - // conn->send_data.push_back((querysql_len & 0xFF)); - // conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - // conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - // conn->send_data.push_back(0x00); - // conn->send_data.push_back(0x03); - // conn->send_data.append(sqlstring); - - // std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); - pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -5596,24 +5742,26 @@ M_MODEL& or_leRandomnumber(T val) for (; is_sql_item == false;) { - n = co_await conn->async_read_loop(); + n = co_await select_conn->async_read_loop(); offset = 0; if (n==0) { + select_conn.reset(); co_return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); co_return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -5630,7 +5778,7 @@ M_MODEL& or_leRandomnumber(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -5652,7 +5800,7 @@ M_MODEL& or_leRandomnumber(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, data_temp); tempnum = tempnum + name_length; @@ -5672,8 +5820,17 @@ M_MODEL& or_leRandomnumber(T val) } } } - conn_obj->back_select_conn(conn); - + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { if (exptime > 0) @@ -5759,25 +5916,28 @@ M_MODEL& or_leRandomnumber(T val) { return 0; } - auto conn = conn_obj->get_select_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = conn_obj->get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = conn_obj->get_select_conn(); + } + } + else + { + select_conn = conn_obj->get_select_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(select_conn->isdebug) + { + select_conn->begin_time(); + } + std::size_t n = select_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = select_conn->error_msg; + select_conn.reset(); return 0; } @@ -5795,25 +5955,27 @@ M_MODEL& or_leRandomnumber(T val) for (; is_sql_item == false;) { - n = conn->read_loop(); + n = select_conn->read_loop(); offset = 0; if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -5830,7 +5992,7 @@ M_MODEL& or_leRandomnumber(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -5852,7 +6014,7 @@ M_MODEL& or_leRandomnumber(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, data_temp); tempnum = tempnum + name_length; @@ -5872,7 +6034,18 @@ M_MODEL& or_leRandomnumber(T val) } } } - conn_obj->back_select_conn(conn); + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { @@ -5961,23 +6134,30 @@ M_MODEL& or_leRandomnumber(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_select_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); - - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); - - // asio::error_code ec; + //auto conn = co_await conn_obj->async_get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + } + else + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + if(select_conn->isdebug) + { + select_conn->begin_time(); + } + std::size_t n = co_await select_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = select_conn->error_msg; + select_conn.reset(); + co_return 0; + } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -5995,26 +6175,26 @@ M_MODEL& or_leRandomnumber(T val) for (; is_sql_item == false;) { - // std::memset(result_data, 0x00, 4096); - // n = co_await conn->socket->async_read_some(asio::buffer(result_data), asio::use_awaitable); - n = co_await conn->async_read_loop(); + n = co_await select_conn->async_read_loop(); offset = 0; if (n==0) { + select_conn.reset(); co_return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); co_return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -6031,7 +6211,7 @@ M_MODEL& or_leRandomnumber(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -6053,7 +6233,7 @@ M_MODEL& or_leRandomnumber(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, data_temp); tempnum = tempnum + name_length; @@ -6073,8 +6253,17 @@ M_MODEL& or_leRandomnumber(T val) } } } - conn_obj->back_select_conn(conn); - + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { if (exptime > 0) @@ -6159,34 +6348,31 @@ M_MODEL& or_leRandomnumber(T val) { return 0; } - auto conn = conn_obj->get_select_conn(); + //auto conn = conn_obj->get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = conn_obj->get_select_conn(); + } + } + else + { + select_conn = conn_obj->get_select_conn(); + } + + if(select_conn->isdebug) + { + select_conn->begin_time(); + } - std::size_t n = conn->write_sql(sqlstring); + std::size_t n = select_conn->write_sql(sqlstring); if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return 0; } - - // unsigned int querysql_len = sqlstring.length() + 1; - - // conn->send_data.clear(); - // conn->send_data.push_back((querysql_len & 0xFF)); - // conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - // conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - // conn->send_data.push_back(0x00); - // conn->send_data.push_back(0x03); - // conn->send_data.append(sqlstring); - - // std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - // if(conn->ec) - // { - // error_msg = conn->ec.message(); - // iserror = true; - // return 0; - // } - pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -6200,25 +6386,27 @@ M_MODEL& or_leRandomnumber(T val) for (; is_sql_item == false;) { - n = conn->read_loop(); + n = select_conn->read_loop(); offset = 0; if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -6235,7 +6423,7 @@ M_MODEL& or_leRandomnumber(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -6259,7 +6447,7 @@ M_MODEL& or_leRandomnumber(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, data_temp); tempnum = tempnum + name_length; @@ -6272,7 +6460,7 @@ M_MODEL& or_leRandomnumber(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, B_BASE::data); tempnum = tempnum + name_length; @@ -6292,8 +6480,18 @@ M_MODEL& or_leRandomnumber(T val) } } } + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } - conn_obj->back_select_conn(conn); + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { @@ -6381,34 +6579,36 @@ M_MODEL& or_leRandomnumber(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_select_conn(); + //auto conn = co_await conn_obj->async_get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + } + else + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + if(select_conn->isdebug) + { + select_conn->begin_time(); + } - std::size_t n = co_await conn->async_write_sql(sqlstring); + std::size_t n = co_await select_conn->async_write_sql(sqlstring); if (n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); co_return 0; } - - // unsigned int querysql_len = sqlstring.length() + 1; - - // conn->send_data.clear(); - // conn->send_data.push_back((querysql_len & 0xFF)); - // conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - // conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - // conn->send_data.push_back(0x00); - // conn->send_data.push_back(0x03); - // conn->send_data.append(sqlstring); - - // std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); - pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; bool is_sql_item = false; std::vector field_array; - // std::vector> field_value; unsigned char action_setup = 0; unsigned int column_num = 0; @@ -6416,28 +6616,29 @@ M_MODEL& or_leRandomnumber(T val) unsigned int offset = 0; std::vector field_pos; - // std::map other_col; for (; is_sql_item == false;) { - n = co_await conn->async_read_loop(); + n = co_await select_conn->async_read_loop(); offset = 0; if (n==0) { + select_conn.reset(); co_return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); co_return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -6454,7 +6655,7 @@ M_MODEL& or_leRandomnumber(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -6478,7 +6679,7 @@ M_MODEL& or_leRandomnumber(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, data_temp); tempnum = tempnum + name_length; @@ -6491,7 +6692,7 @@ M_MODEL& or_leRandomnumber(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, B_BASE::data); tempnum = tempnum + name_length; @@ -6511,9 +6712,17 @@ M_MODEL& or_leRandomnumber(T val) } } } - - conn_obj->back_select_conn(conn); - + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { if (exptime > 0) @@ -6705,25 +6914,29 @@ M_MODEL& or_leRandomnumber(T val) { return 0; } - auto conn = conn_obj->get_select_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); + //auto conn = conn_obj->get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = conn_obj->get_select_conn(); + } + } + else + { + select_conn = conn_obj->get_select_conn(); + } - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(select_conn->isdebug) + { + select_conn->begin_time(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + std::size_t n = select_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = select_conn->error_msg; + select_conn.reset(); return 0; } @@ -6740,25 +6953,27 @@ M_MODEL& or_leRandomnumber(T val) for (; is_sql_item == false;) { - n = conn->read_loop(); + n = select_conn->read_loop(); offset = 0; if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -6775,7 +6990,7 @@ M_MODEL& or_leRandomnumber(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -6793,7 +7008,7 @@ M_MODEL& or_leRandomnumber(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); std::string temp_str; temp_str.resize(name_length); @@ -6824,7 +7039,17 @@ M_MODEL& or_leRandomnumber(T val) } } } - conn_obj->back_select_conn(conn); + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } } catch (const std::exception &e) @@ -6893,21 +7118,31 @@ M_MODEL& or_leRandomnumber(T val) { co_return valuetemp; } - auto conn = co_await conn_obj->async_get_select_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - conn->send_data.clear(); - - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = co_await conn_obj->async_get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + } + else + { + select_conn = co_await conn_obj->async_get_select_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); - - + if(select_conn->isdebug) + { + select_conn->begin_time(); + } + std::size_t n = co_await select_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = select_conn->error_msg; + select_conn.reset(); + co_return valuetemp; + } + pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; bool is_sql_item = false; @@ -6921,24 +7156,26 @@ M_MODEL& or_leRandomnumber(T val) for (; is_sql_item == false;) { - n = co_await conn->async_read_loop(); + n = co_await select_conn->async_read_loop(); offset = 0; if (n==0) { + select_conn.reset(); co_return valuetemp; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); co_return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -6955,7 +7192,7 @@ M_MODEL& or_leRandomnumber(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -6973,7 +7210,7 @@ M_MODEL& or_leRandomnumber(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); std::string temp_str; temp_str.resize(name_length); @@ -7004,7 +7241,17 @@ M_MODEL& or_leRandomnumber(T val) } } } - conn_obj->back_select_conn(conn); + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } } catch (const std::exception &e) @@ -7065,25 +7312,30 @@ M_MODEL& or_leRandomnumber(T val) { return 0; } - auto conn = conn_obj->get_select_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; + //auto conn = conn_obj->get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = conn_obj->get_select_conn(); + } + } + else + { + select_conn = conn_obj->get_select_conn(); + } - conn->send_data.clear(); + if(select_conn->isdebug) + { + select_conn->begin_time(); + } - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + std::size_t n = select_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = select_conn->error_msg; + select_conn.reset(); return 0; } @@ -7101,25 +7353,27 @@ M_MODEL& or_leRandomnumber(T val) for (; is_sql_item == false;) { - n = conn->read_loop(); + n = select_conn->read_loop(); offset = 0; if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -7136,7 +7390,7 @@ M_MODEL& or_leRandomnumber(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -7157,7 +7411,7 @@ M_MODEL& or_leRandomnumber(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, B_BASE::data); tempnum = tempnum + name_length; @@ -7177,8 +7431,17 @@ M_MODEL& or_leRandomnumber(T val) } } } - conn_obj->back_select_conn(conn); - + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { if (exptime > 0) @@ -7249,22 +7512,31 @@ M_MODEL& or_leRandomnumber(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_select_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = co_await conn_obj->async_get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + } + else + { + select_conn = co_await conn_obj->async_get_select_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); - - + if(select_conn->isdebug) + { + select_conn->begin_time(); + } + std::size_t n = co_await select_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = select_conn->error_msg; + select_conn.reset(); + co_return 0; + } + pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; bool is_sql_item = false; @@ -7279,24 +7551,26 @@ M_MODEL& or_leRandomnumber(T val) for (; is_sql_item == false;) { - n = co_await conn->async_read_loop(); + n = co_await select_conn->async_read_loop(); offset = 0; if (n==0) { + select_conn.reset(); co_return 0; } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); co_return 0; } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -7313,7 +7587,7 @@ M_MODEL& or_leRandomnumber(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -7334,7 +7608,7 @@ M_MODEL& or_leRandomnumber(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); assign_field_value(field_pos[ij], (unsigned char *)&temp_pack_data.data[tempnum], name_length, B_BASE::data); tempnum = tempnum + name_length; @@ -7354,8 +7628,17 @@ M_MODEL& or_leRandomnumber(T val) } } } - conn_obj->back_select_conn(conn); - + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } if (iscache) { if (exptime > 0) @@ -7442,39 +7725,52 @@ M_MODEL& or_leRandomnumber(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); + //auto conn = conn_obj->get_edit_conn(); - unsigned int querysql_len = sqlstring.length() + 1; + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); - conn_obj->back_edit_conn(conn); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -7484,10 +7780,13 @@ M_MODEL& or_leRandomnumber(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } catch (const std::exception &e) { @@ -7566,46 +7865,50 @@ M_MODEL& or_leRandomnumber(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); + //auto conn = conn_obj->get_edit_conn(); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } - std::size_t n = conn->write_sql(sqlstring); + std::size_t n = edit_conn->write_sql(sqlstring); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } - // unsigned int querysql_len = sqlstring.length() + 1; - - // conn->send_data.clear(); - // conn->send_data.push_back((querysql_len & 0xFF)); - // conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - // conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - // conn->send_data.push_back(0x00); - // conn->send_data.push_back(0x03); - // conn->send_data.append(sqlstring); - - // std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - // if(conn->ec) - // { - // error_msg = conn->ec.message(); - // iserror = true; - // return 0; - // } - unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); - conn_obj->back_edit_conn(conn); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -7615,10 +7918,13 @@ M_MODEL& or_leRandomnumber(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } catch (const std::exception &e) { @@ -7698,32 +8004,49 @@ M_MODEL& or_leRandomnumber(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } unsigned int offset = 0; - n = co_await conn->async_read_loop(); + n = co_await edit_conn->async_read_loop(); if (n==0) { + edit_conn.reset(); co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); - + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -7733,11 +8056,13 @@ M_MODEL& or_leRandomnumber(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - co_return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return effect_num; } catch (const std::exception &e) { @@ -7816,31 +8141,48 @@ M_MODEL& or_leRandomnumber(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } unsigned int offset = 0; - n = co_await conn->async_read_loop(); + n = co_await edit_conn->async_read_loop(); if (n==0) { + edit_conn.reset(); co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -7851,11 +8193,13 @@ M_MODEL& or_leRandomnumber(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - co_return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return effect_num; } catch (const std::exception &e) { @@ -7900,39 +8244,50 @@ M_MODEL& or_leRandomnumber(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); + //auto conn = conn_obj->get_edit_conn(); - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -7942,10 +8297,13 @@ M_MODEL& or_leRandomnumber(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } catch (const std::exception &e) { @@ -8025,39 +8383,49 @@ M_MODEL& or_leRandomnumber(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = conn_obj->get_edit_conn(); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -8067,10 +8435,13 @@ M_MODEL& or_leRandomnumber(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } catch (const std::exception &e) { @@ -8151,31 +8522,48 @@ M_MODEL& or_leRandomnumber(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } unsigned int offset = 0; - n = co_await conn->async_read_loop(); + n = co_await edit_conn->async_read_loop(); if (n==0) { + edit_conn.reset(); co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -8185,10 +8573,13 @@ M_MODEL& or_leRandomnumber(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - co_return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return effect_num; } catch (const std::exception &e) { @@ -8234,39 +8625,49 @@ M_MODEL& or_leRandomnumber(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = conn_obj->get_edit_conn(); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -8276,10 +8677,13 @@ M_MODEL& or_leRandomnumber(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } catch (const std::exception &e) { @@ -8325,31 +8729,48 @@ M_MODEL& or_leRandomnumber(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); - - unsigned int offset = 0; - n = co_await conn->async_read_loop(); - if (n==0) + if(edit_conn->isdebug) { - co_return 0; + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } + + unsigned int offset = 0; + n = co_await edit_conn->async_read_loop(); + if (n==0) + { + edit_conn.reset(); + co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -8359,10 +8780,14 @@ M_MODEL& or_leRandomnumber(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - co_return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + } - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return effect_num; } catch (const std::exception &e) { @@ -8446,39 +8871,49 @@ M_MODEL& or_leRandomnumber(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = conn_obj->get_edit_conn(); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -8488,10 +8923,14 @@ M_MODEL& or_leRandomnumber(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } catch (const std::exception &e) { @@ -8582,40 +9021,51 @@ M_MODEL& or_leRandomnumber(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); + //auto conn = conn_obj->get_edit_conn(); - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); - + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -8624,10 +9074,13 @@ M_MODEL& or_leRandomnumber(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } catch (const std::exception &e) { @@ -8665,40 +9118,52 @@ M_MODEL& or_leRandomnumber(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; + //auto conn = conn_obj->get_edit_conn(); - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + long long insert_last_id = 0; if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -8707,12 +9172,14 @@ M_MODEL& or_leRandomnumber(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - long long insert_last_id= conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - return insert_last_id; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return insert_last_id; } catch (const std::exception &e) { @@ -8749,32 +9216,50 @@ M_MODEL& or_leRandomnumber(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } unsigned int offset = 0; - n = co_await conn->async_read_loop(); + n = co_await edit_conn->async_read_loop(); if (n==0) { + edit_conn.reset(); co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + long long insert_last_id = 0; if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -8783,12 +9268,14 @@ M_MODEL& or_leRandomnumber(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - long long insert_last_id= conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - co_return insert_last_id; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return insert_last_id; } catch (const std::exception &e) { @@ -8825,40 +9312,51 @@ M_MODEL& or_leRandomnumber(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = conn_obj->get_edit_conn(); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + long long insert_last_id = 0; if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -8867,12 +9365,14 @@ M_MODEL& or_leRandomnumber(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - long long insert_last_id= conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - return insert_last_id; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return insert_last_id; } catch (const std::exception &e) { @@ -8909,46 +9409,65 @@ M_MODEL& or_leRandomnumber(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } unsigned int offset = 0; - n = co_await conn->async_read_loop(); + n = co_await edit_conn->async_read_loop(); if (n==0) { + edit_conn.reset(); co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + long long insert_last_id = 0; if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); } else if ((unsigned char)temp_pack_data.data[0] == 0x00) { - unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - long long insert_last_id= conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - co_return insert_last_id; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return insert_last_id; } catch (const std::exception &e) { @@ -8985,40 +9504,51 @@ M_MODEL& or_leRandomnumber(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = conn_obj->get_edit_conn(); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) { - error_msg = conn->ec.message(); - iserror = true; + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + long long insert_last_id = 0; if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -9026,12 +9556,14 @@ M_MODEL& or_leRandomnumber(T val) else if ((unsigned char)temp_pack_data.data[0] == 0x00) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - long long insert_last_id= conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - return insert_last_id; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return insert_last_id; } catch (const std::exception &e) { @@ -9068,32 +9600,50 @@ M_MODEL& or_leRandomnumber(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } unsigned int offset = 0; - n = co_await conn->async_read_loop(); + n = co_await edit_conn->async_read_loop(); if (n==0) { + edit_conn.reset(); co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + long long insert_last_id = 0; if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -9102,12 +9652,14 @@ M_MODEL& or_leRandomnumber(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - long long insert_last_id= conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - co_return insert_last_id; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return insert_last_id; } catch (const std::exception &e) { @@ -9175,40 +9727,50 @@ M_MODEL& or_leRandomnumber(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = conn_obj->get_edit_conn(); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); - + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -9217,10 +9779,14 @@ M_MODEL& or_leRandomnumber(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return effect_num; } else { @@ -9229,40 +9795,51 @@ M_MODEL& or_leRandomnumber(T val) { return 0; } - auto conn = conn_obj->get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + //auto conn = conn_obj->get_edit_conn(); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = edit_conn->write_sql(sqlstring); + if(n==0) { - error_msg = conn->ec.message(); - iserror = true; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } unsigned int offset = 0; - n = conn->read_loop(); + n = edit_conn->read_loop(); if(n==0) { - error_msg = conn->error_msg; + error_msg = edit_conn->error_msg; + edit_conn.reset(); return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); - + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + + long long insert_last_id = 0; if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -9271,12 +9848,14 @@ M_MODEL& or_leRandomnumber(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - long long insert_last_id= conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - return insert_last_id; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + return insert_last_id; } return 0; } @@ -9335,31 +9914,48 @@ M_MODEL& or_leRandomnumber(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } unsigned int offset = 0; - n = co_await conn->async_read_loop(); + n = co_await edit_conn->async_read_loop(); if (n==0) { + edit_conn.reset(); co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } if ((unsigned char)temp_pack_data.data[0] == 0xFF) { @@ -9370,11 +9966,13 @@ M_MODEL& or_leRandomnumber(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - co_return effect_num; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return effect_num; } catch (const std::exception &e) { @@ -9400,32 +9998,49 @@ M_MODEL& or_leRandomnumber(T val) { co_return 0; } - auto conn = co_await conn_obj->async_get_edit_conn(); - - unsigned int querysql_len = sqlstring.length() + 1; + if(islock_conn) + { + if(!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } - conn->send_data.clear(); - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(sqlstring); + if(edit_conn->isdebug) + { + edit_conn->begin_time(); + } + std::size_t n = co_await edit_conn->async_write_sql(sqlstring); + if(n==0) + { + error_msg = edit_conn->error_msg; + edit_conn.reset(); + co_return 0; + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); - unsigned int offset = 0; - n = co_await conn->async_read_loop(); + n = co_await edit_conn->async_read_loop(); if (n==0) { + edit_conn.reset(); co_return 0; } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); - - conn_obj->back_edit_conn(conn); + edit_conn->read_field_pack(edit_conn->_cache_data, n, offset, temp_pack_data); + if(edit_conn->isdebug) + { + edit_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= edit_conn->count_time(); + conn_mar.push_log(sqlstring,std::to_string(du_time)); + } + long long insert_last_id = 0; if ((unsigned char)temp_pack_data.data[0] == 0xFF) { error_msg = temp_pack_data.data.substr(3); @@ -9434,12 +10049,14 @@ M_MODEL& or_leRandomnumber(T val) { unsigned int d_offset = 1; - effect_num = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - long long insert_last_id= conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); - - co_return insert_last_id; + effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); } - co_return 0; + if(!islock_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + co_return insert_last_id; } catch (const std::exception &e) { @@ -9460,7 +10077,7 @@ M_MODEL& or_leRandomnumber(T val) std::tuple, std::map, std::vector>> query(const std::string &rawsql) { - + effect_num = 0; std::vector> temprecord; std::vector table_fieldname; std::map table_fieldmap; @@ -9504,25 +10121,28 @@ M_MODEL& or_leRandomnumber(T val) { return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } - auto conn = conn_obj->get_select_conn(); - - unsigned int querysql_len = rawsql.length() + 1; - - conn->send_data.clear(); - - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(rawsql); + //auto conn = conn_obj->get_select_conn(); + if(islock_conn) + { + if(!select_conn) + { + select_conn = conn_obj->get_select_conn(); + } + } + else + { + select_conn = conn_obj->get_select_conn(); + } - std::size_t n = asio::write(*conn->socket, asio::buffer(conn->send_data), conn->ec); - - if(conn->ec) + if(select_conn->isdebug) { - error_msg = conn->ec.message(); - iserror = true; + select_conn->begin_time(); + } + std::size_t n = select_conn->write_sql(rawsql); + if(n==0) + { + error_msg = select_conn->error_msg; + select_conn.reset(); return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } @@ -9540,25 +10160,27 @@ M_MODEL& or_leRandomnumber(T val) for (; is_sql_item == false;) { - n = conn->read_loop(); + n = select_conn->read_loop(); offset = 0; if(n==0) { - error_msg = conn->error_msg; + error_msg = select_conn->error_msg; + select_conn.reset(); return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -9575,7 +10197,7 @@ M_MODEL& or_leRandomnumber(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -9599,7 +10221,7 @@ M_MODEL& or_leRandomnumber(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); std::string tempstr; tempstr.resize(name_length); std::memcpy(tempstr.data(), (unsigned char *)&temp_pack_data.data[tempnum], name_length); @@ -9621,8 +10243,17 @@ M_MODEL& or_leRandomnumber(T val) } } } - conn_obj->back_select_conn(conn); - + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(rawsql,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } return std::make_tuple(std::move(table_fieldname), std::move(table_fieldmap), std::move(temprecord)); } catch (const std::exception &e) @@ -9642,7 +10273,7 @@ M_MODEL& or_leRandomnumber(T val) asio::awaitable, std::map, std::vector>>> async_query(const std::string &rawsql) { - + effect_num = 0; std::vector> temprecord; std::vector table_fieldname; std::map table_fieldmap; @@ -9686,22 +10317,30 @@ M_MODEL& or_leRandomnumber(T val) { co_return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } - auto conn = co_await conn_obj->async_get_select_conn(); - - unsigned int querysql_len = rawsql.length() + 1; - - conn->send_data.clear(); - - conn->send_data.push_back((querysql_len & 0xFF)); - conn->send_data.push_back((querysql_len >> 8 & 0xFF)); - conn->send_data.push_back((querysql_len >> 16 & 0xFF)); - conn->send_data.push_back(0x00); - conn->send_data.push_back(0x03); - conn->send_data.append(rawsql); + if(islock_conn) + { + if(!select_conn) + { + select_conn = co_await conn_obj->async_get_select_conn(); + } + } + else + { + select_conn = co_await conn_obj->async_get_select_conn(); + } - std::size_t n = co_await asio::async_write(*conn->socket, asio::buffer(conn->send_data), asio::use_awaitable); - - + if(select_conn->isdebug) + { + select_conn->begin_time(); + } + std::size_t n = co_await select_conn->async_write_sql(rawsql); + if(n==0) + { + error_msg = select_conn->error_msg; + select_conn.reset(); + co_return std::make_tuple(table_fieldname, table_fieldmap, temprecord); + } + pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; bool is_sql_item = false; @@ -9716,24 +10355,26 @@ M_MODEL& or_leRandomnumber(T val) for (; is_sql_item == false;) { - n = co_await conn->async_read_loop(); + n = co_await select_conn->async_read_loop(); offset = 0; if (n==0) { + select_conn.reset(); co_return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } for (; offset < n;) { - conn->read_field_pack(conn->_cache_data, n, offset, temp_pack_data); + select_conn->read_field_pack(select_conn->_cache_data, n, offset, temp_pack_data); if(temp_pack_data.error > 0) { iserror = true; error_msg =temp_pack_data.data; + select_conn.reset(); co_return std::make_tuple(table_fieldname, table_fieldmap, temprecord); } if (temp_pack_data.length == temp_pack_data.current_length && temp_pack_data.current_length > 0) { - if (conn->pack_eof_check(temp_pack_data)) + if (select_conn->pack_eof_check(temp_pack_data)) { is_sql_item = true; break; @@ -9750,7 +10391,7 @@ M_MODEL& or_leRandomnumber(T val) else if (action_setup == 1) { field_info_t temp_filed_col; - conn->read_col_info(temp_pack_data.data, temp_filed_col); + select_conn->read_col_info(temp_pack_data.data, temp_filed_col); field_array.emplace_back(std::move(temp_filed_col)); column_num--; @@ -9774,7 +10415,7 @@ M_MODEL& or_leRandomnumber(T val) for (unsigned int ij = 0; ij < column_num; ij++) { unsigned long long name_length = 0; - name_length = conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); + name_length = select_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], tempnum); std::string tempstr; tempstr.resize(name_length); std::memcpy(tempstr.data(), (unsigned char *)&temp_pack_data.data[tempnum], name_length); @@ -9796,8 +10437,17 @@ M_MODEL& or_leRandomnumber(T val) } } } - conn_obj->back_select_conn(conn); - + if(select_conn->isdebug) + { + select_conn->finish_time(); + auto &conn_mar = get_orm_connect_mar(); + long long du_time= select_conn->count_time(); + conn_mar.push_log(rawsql,std::to_string(du_time)); + } + if(!islock_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } co_return std::make_tuple(std::move(table_fieldname), std::move(table_fieldmap), std::move(temprecord)); } catch (const std::exception &e) @@ -9836,6 +10486,7 @@ M_MODEL& or_leRandomnumber(T val) ishascontent = false; iscommit = false; iscache = false; + iserror = false; effect_num = 0; if (both) { @@ -9857,6 +10508,7 @@ M_MODEL& or_leRandomnumber(T val) ishascontent = false; iscommit = false; iscache = false; + iserror = false; effect_num = 0; return *mod; } @@ -9892,7 +10544,25 @@ M_MODEL& or_leRandomnumber(T val) iserror = true; return true; } - + void lock_conn() + { + islock_conn = true; + } + void unlock_conn() + { + islock_conn = false; + if (conn_obj) + { + if(select_conn) + { + conn_obj->back_select_conn(std::move(select_conn)); + } + if(edit_conn) + { + conn_obj->back_edit_conn(std::move(edit_conn)); + } + } + } public: std::string selectsql; std::string wheresql; @@ -9910,6 +10580,7 @@ M_MODEL& or_leRandomnumber(T val) bool ishascontent = false; bool iscache = false; bool iserror = false; + bool islock_conn = false; int exptime = 0; unsigned int effect_num = 0; diff --git a/frameworks/C++/paozhu/paozhu_benchmark/orm/include/worldbase.h b/frameworks/C++/paozhu/paozhu_benchmark/orm/include/worldbase.h index 19775f6117b..0fee4b832c8 100644 --- a/frameworks/C++/paozhu/paozhu_benchmark/orm/include/worldbase.h +++ b/frameworks/C++/paozhu/paozhu_benchmark/orm/include/worldbase.h @@ -2,7 +2,7 @@ #define ORM_DEFAULT_WORLDBASEMATA_H /* *This file is auto create from cli -*本文件为自动生成 Mon, 10 Mar 2025 03:03:50 GMT +*本文件为自动生成 Thu, 13 Mar 2025 08:50:20 GMT ***/ #include #include