mirror of
https://github.com/silverqx/TinyORM.git
synced 2025-12-20 09:59:53 -06:00
The MySQL >=8.0.19 supports aliases in the VALUES and SET clauses of INSERT INTO ... ON DUPLICATE KEY UPDATE statement for the row to be inserted and its columns. It also generates warning from >=8.0.20 if an old style used. This enhancement detects the MySQL version and on the base of it uses alias during the upsert call. Also a user can override the version through the MySQL database configuration. It helps to save/avoid one database query (select version()) during the upsert method call or during connecting to the MySQL database (version is needed if strict mode is enabled). - added unit and functional tests - updated number of unit tests to 1402 - updated upsert docs - added ConfigUtils to avoid duplicates Others: - added the version database configuration everywhere - docs added few lines about MySQL version configuration option - docs updated database configurations, added a new missing options
51 lines
1.5 KiB
Plaintext
51 lines
1.5 KiB
Plaintext
---
|
|
sidebar_position: 2
|
|
sidebar_label: 🚀 Supported Compilers
|
|
hide_table_of_contents: true
|
|
description: Platform requirements, supported compilers and build systems for TinyORM c++ library.
|
|
keywords: [c++ orm, supported compilers, supported build systems, tinyorm]
|
|
---
|
|
|
|
# Supported Compilers
|
|
|
|
Following compilers are backed up by the GitHub Action [workflows](https://github.com/silverqx/TinyORM/tree/main/.github/workflows) (CI pipelines), these workflows also include more then __1402 unit tests__ 😮💥.
|
|
|
|
<div id="supported-compilers">
|
|
|
|
#### `Windows >=10` {#windows-10}
|
|
|
|
- MSVC 2019 >=16.9
|
|
- MSVC 2022 >=17
|
|
- MSYS2 UCRT64 GCC 10.2 - 12.1
|
|
- MSYS2 UCRT64 Clang 12 - 14
|
|
- clang-cl >=14 with MSVC 2019/2022
|
|
|
|
#### `Linux`
|
|
|
|
- GCC 10.2 - 12.1
|
|
- Clang 11 - 14
|
|
|
|
</div>
|
|
|
|
:::tip
|
|
You can compile TinyORM with the MSVC 2022 even if Qt doesn't provide binaries for the MSVC 2022, you can link against Qt MSVC 2019 binaries without any limitations.
|
|
:::
|
|
|
|
## Supported build systems
|
|
|
|
- `CMake` >=3.20 <small className='darker'>(policies <= CMP0120 default to NEW)</small>
|
|
- `qmake` distributed by the Qt Framework
|
|
|
|
##### Make tools
|
|
|
|
- `jom` - highly recommended with the `qmake` build system on Windows <small className='darker'>(replacement for nmake)</small>
|
|
- `ninja` - recommended for `CMake` as the make file generator
|
|
|
|
##### Parallel building
|
|
|
|
You can control parallel building using the following environment variables.
|
|
|
|
- CMake - `CMAKE_BUILD_PARALLEL_LEVEL` eg. to `10`
|
|
- jom - `JOMFLAGS` eg. to `j11`
|
|
- vcpkg - `VCPKG_MAX_CONCURRENCY` eg. to `10`
|