0
0
mirror of https://github.com/rbock/sqlpp11.git synced 2024-11-16 12:51:13 +08:00
Commit Graph

1554 Commits

Author SHA1 Message Date
Roland Bock
87f4c348e9 Added more tests and cleaned up type traits a bit 2024-07-13 21:04:06 +02:00
Roland Bock
c2c5f15690 Add basic serialize functions and start documenting differences 2024-07-13 13:39:36 +02:00
Roland Bock
2b7e0ee6a5 Give operators a value 2024-07-11 20:46:30 +02:00
Roland Bock
08f643460c No more type traits in generated code 2024-07-09 08:08:53 +02:00
Roland Bock
4baede7434 Started to remove operand wrapping 2024-07-08 21:08:16 +02:00
Roland Bock
6eb791430a More testing 2024-06-30 10:31:41 +02:00
Roland Bock
c70ceaceb0 Introduce optional select columns
Basic functionality seems to work, more tests needed.
2024-06-25 07:33:53 +02:00
Roland Bock
b869cbe5b2 Synchronize sql and generated code for connector tests 2024-06-22 16:27:10 +02:00
Roland Bock
d7c54c949f Replace test column names with clearer names 2024-06-14 22:01:30 +02:00
Roland Bock
0eac55c377 Move optional, string_view, and span into sqlpp::compat 2024-06-12 21:31:18 +02:00
Roland Bock
8d0f3b3739 Clean up superfluous classes and functions
And remove some remaining dynamic parts which were overlooked before.
2024-06-12 20:33:35 +02:00
Roland Bock
c347b5d11c Remove dynamic query components 2024-06-12 20:31:06 +02:00
Roland Bock
bda77c620b Introduce optional, string_view, and span
sqlpp::optional is an alias for std::optional for C++17 and beyond.
Otherwise, it is a simple and incomplete backport.
For older versions of C++, the library offers simple back

Similar for string_view and span.
2024-06-12 20:29:10 +02:00
MeanSquaredError
f6cb4d311a ddl2cpp: Add tests for the column isPrimaryKey property. 2024-06-12 20:22:06 +02:00
MeanSquaredError
ffd6618e58 Treat "PRIMARY KEY" columns as not nullable. 2024-06-12 20:22:06 +02:00
MeanSquaredError
3497e5891d Improve the tests for invalid data types. 2024-06-12 07:25:19 +02:00
MeanSquaredError
43fa5c445c ddl2cpp: Require word breaks when parsing SQL keywords. 2024-06-12 07:25:19 +02:00
MeanSquaredError
8797dfd79e Recognize serial2, serial4 and serial8 types when parsing SQL definitions in the ddl2cpp script. 2024-06-11 06:36:13 +02:00
Roland Bock
b92a9a7656 Fix require_insert generation in sqlite2cpp.py #569 2024-04-25 06:58:57 +02:00
Roland Bock
ac9d0b4417 Update the documentation for NULL #568 2024-04-13 08:56:57 +02:00
JoyBinY
637afd05ae Update FindMariaDB.cmake
Users can use -DCMAKE_LIBRARY_PATH=${INSTALL}/lib without needing to specify mariadb separately like -DCMAKE_LIBRARY_PATH=${INSTALL}/lib/mariadb
2024-04-10 06:27:41 +02:00
Roland Bock
75ce4f7b35
Update Select.md
Added missing where conditions and documented `.unconditionally`
2024-04-07 10:10:05 +02:00
Roland Bock
eb2e569c2b Add time of day paramter for mysql #565 2024-04-05 07:35:13 +02:00
Roland Bock
ce13f2a783 Add time of day support for mysql connector #563 2024-03-29 10:55:56 +01:00
Roland Bock
fdbe08946b Add size() function to mysql::char_result_t #562 2024-03-24 09:20:54 +01:00
Roland Bock
93ab3fef86 Throw exception for multi-statements in sqlite3 execute #558
Before this change, sqlite3::connection::execute silently
ignores statements after the first one (separated by semicolon).

After this change, trailing statements are detected and an
sqlpp::exception is thrown.

This change also adds documentation to other connectors indicating
that execute is supposed to be used with single statements only,
even though it is possible to do otherwise.
2024-03-09 10:54:16 +01:00
MeanSquaredError
dccf3438d3
Add a missing break to the switch case that handles PostgreSQL errors 40XXX. (#552) 2024-01-06 08:41:48 +01:00
MeanSquaredError
0cc45bd790
PostgreSQL exceptions for serialization_failure and deadlock_detected (#551)
* Add the exception sqlpp::postgresql::serialization_failure
* Add the exception sqlpp::postgresql::deadlock_detected
2024-01-05 09:02:32 +01:00
MeanSquaredError
9b49afa306
Add is_transaction_active() to all connectors (#550)
* Document the connector API method is_transaction_active()
* Move mysql::connection_base::is_transaction_active() to the other transaction-handling methods.
* Add more tests for mysql::connection::is_transaction_active()
* Add postgresql::connection_base::is_transaction_active()
* Add tests for postgresql::connection_base::is_transaction_active()
* Change the type of the SQLite3 transaction status from transaction_status_type to a boolean flag.
* Add sqlite3::connection_base::is_transaction_active()
* Add tests for sqlite3::connection_base::is_transaction_active()
* When closing a transaction do it in the following order: report (if any), execute SQL command, set transaction active flag to false.
2024-01-05 08:59:42 +01:00
Roland Bock
3474a4fa5d Add missing includes, #548 2023-12-26 08:30:24 +01:00
Roland Bock
6cc2067ef5 Allow alias of single-column select to be used as select column (#542) 2023-11-19 12:57:54 +01:00
Roland Bock
5c673603c3 Showcase alias of column name in sub-select, see #542 2023-11-18 12:46:13 +01:00
MeanSquaredError
a1baba0ab7 Fix warnings in Python regexes by adding missing backslashes. 2023-11-17 08:52:00 +00:00
fed
7a21ab63ee Fix build on x86 2023-11-16 17:41:39 +00:00
Roland Bock
c1992535de Demonstrate insert with select (#539) 2023-11-03 07:23:34 +01:00
Roland Bock
451e337979 Introduce postgresql::remove_from with optional returning clause (#538) 2023-11-02 07:02:07 +01:00
Roland Bock
9e19911ada Fix compile issue for VS2015.3 (#536) 2023-10-21 09:20:07 +02:00
Roland Bock
96fb4d7894 Add comparison operator serialization tests 2023-10-14 09:03:46 +02:00
Stanislav Korolev
7b755b68ad Fix warning for greater_equal operator. 2023-10-14 07:02:10 +00:00
Roland Bock
50aa733fec [mysql] Remove (auto-)reconnect
MySQL 8.0.34 deprecates `MYSQL_OPT_RECONNECT`. As discussed in #530,
this commit is removing library support for (auto-)reconnect.

It is of course still possible to reconnect directly using the native
handle.
2023-10-08 11:34:59 +02:00
MeanSquaredError
7f04435576
Connection pools documentation and example (#533)
* Add an example of using a connection pool.

* Add documentation about the connection pools. Expand the documentation about multi-threading issues.
2023-10-03 09:45:21 +02:00
Roland Bock
a2d884dab6 Maybe fix compile error on AppVeyor 2023-10-01 20:11:57 +02:00
Roland Bock
a0a4f19c4b (Maybe) fix test compilation error on AppVeyor 2023-10-01 19:56:28 +02:00
Roland Bock
1d4641ff05 Fix use-after-scope-exit in connection pool tests
A lambda catch-all caught a temporary variable that went out of
scope before the lambda. This was detected by an address sanitizer.
2023-10-01 19:31:19 +02:00
Roland Bock
0bddd3c739 Rename head/tail to back/front
_head used to represent the position of the next push_back()
and _tail used to represent the position of front().

This CL renames them to avoid confusion.
2023-10-01 18:35:08 +02:00
Roland Bock
4616450af1 Simplify logic for circular_buffer<T>::set_capacity 2023-10-01 15:10:15 +02:00
Roland Bock
ea9bd9ee32 Add tests for circular buffer 2023-10-01 15:09:53 +02:00
Roland Bock
1b074b7f62 clang-format circular_buffer.h 2023-10-01 10:00:29 +02:00
MeanSquaredError
623b5154d0
Add connection methods is_connected() and ping_server() (#528)
* Replace connection handle method check_connection() with is_connected() and ping_server()

* When a connections is fetched from a pool perform a validity check which can be one of none, passive or ping.

* Add the methods is_connected() and ping_server() to the connection template class.

* Remove unused #include and add mising #include.

* Add tests for the connection methods is_connected() and ping_server().
2023-09-20 06:38:16 +02:00
MeanSquaredError
8d92e7bb81
Add sqlpp::compat::make_unique (#527)
* Add sqlpp::compat::make_unique which calls std::make_unique in C++14 or newer and falls back to a custom implementation in C++11 mode.

* Add tests for sqlpp::compat::make_unique
2023-09-16 09:21:05 +02:00