Commit Graph

263 Commits

Author SHA1 Message Date
Philip Kovacs
a70a2844b1
Fix compiler warnings (#886)
Co-authored-by: an-tao <antao2002@gmail.com>
Co-authored-by: Martin Chang <marty1885@users.noreply.github.com>
2021-06-09 19:14:15 +08:00
Martin Chang
ffc410a66e
Improve WebSocket mask handling (#875) 2021-05-29 15:11:41 +08:00
Philip Kovacs
802e2ae87a
change some #ifdef's to #if in db_test (#873) 2021-05-28 08:21:09 +08:00
Martin Chang
0b5075bfa9
Drogon test framework (#869) 2021-05-27 20:09:57 +08:00
An Tao
afb7e853ec
Add the int type for the Row index parameter (#872) 2021-05-27 10:10:23 +08:00
An Tao
65a7dadbfb
Modify the way to create sqlite3 client (#867) 2021-05-25 00:21:11 +08:00
An Tao
dc732fc954
Add l-reference version of optional<T> and r-reference version of Json::Value to SqlBinder operator '<<' (#863) 2021-05-22 16:10:39 +08:00
An Tao
8052c38f49
Make Json::Value as a SQL parameters type (#861) 2021-05-22 13:08:17 +08:00
An Tao
cd093fc97e
Add the PreSendingAdvice to AOP (#853) 2021-05-16 19:38:16 +08:00
Philip Kovacs
2c53cf086a
Add missing mutex include (#845) 2021-05-11 09:24:14 +08:00
An Tao
471488eef1
Use two-phase construction for the DbClientImpl and the RedisClientImpl (#844) 2021-05-10 08:31:21 +08:00
An Tao
51814b76da
Add the setTimeout() method to the ReidsClient class (#830) 2021-04-30 08:00:11 +08:00
Martin Chang
60c877f920
Use make_exception_ptr instead of throw/catch when possible (#828) 2021-04-29 17:01:18 +08:00
An Tao
685aaaa3da
Add the setTimeout() method to the DbClient class (#823) 2021-04-29 10:13:34 +08:00
Martin Chang
1eea826a52
Fix ORM with SQLite3 not compiling on Arch Linux (#822) 2021-04-27 16:41:16 +08:00
An Tao
b2c1c8de9e
Fix an unused-parameter warning when no sqlite library (#811) 2021-04-19 13:27:11 +08:00
Bertrand Darbon
44a8a2d5f7
Add GNU -Werror & fix warnings (#801) 2021-04-15 19:27:15 +08:00
An Tao
8f2609d1bd
Fix a bug of the Transaction class (#798) 2021-04-13 15:54:50 +08:00
An Tao
4b8d08f20f
Add CoroMapper to models friends (#790) 2021-04-09 16:54:40 +08:00
Bertrand Darbon
54727a5dbe
Add exports macro to allow Shared Library with hidden symbols by default (e.g. Windows) (#745)
Co-authored-by: an-tao <antao2002@gmail.com>
2021-04-09 10:17:28 +08:00
An Tao
6d9aa3b44c
Add redis support (#719) 2021-03-13 19:13:54 +08:00
双草酸酯
1901801d59
Fix compile warnings in SQL client (#741) 2021-03-11 18:43:56 +08:00
an-tao
e28b9aa59c Fix the same bug in the DbClientLockFree class 2021-03-07 20:40:35 +08:00
An Tao
b30c92a9a2
Fix a bug of DbClientImpl class (#735) 2021-03-07 01:28:49 +08:00
Martin Chang
98da3490e7
return awaiter from coroutine instead of resumable (#733) 2021-03-05 22:21:02 +08:00
An Tao
ffda84627b
Modify Mapper and CoroMapper templates (#722) 2021-02-20 10:00:28 +08:00
An Tao
3b8b63d17d
Add drogon::orm::CoroMapper<T> template (#712)
Co-authored-by: marty1885 <marty188586@gmail.com>
2021-02-13 18:22:17 +08:00
An Tao
cfb71cc619
Add transactions test of coroutines (#711) 2021-02-10 23:24:15 +08:00
interfector18
6542236b20
Add default value interface to sqlbinder for mysql and postgresql (#704) 2021-02-07 10:34:49 +08:00
Martin Chang
a2142dd93e
Coroutine support (#693)
* app().registerHttpHandler() accepts coroutine as handlers
* HttpController can use coroutine as handlers'
* Http request handlers with coroutine catches exception instead of crashing the entire app
* DbClient now has execSqlCoro that is awaitable
* DbClient now has newTransactionCoro that is awaitable
* HttpClient have awaitable sendRequestCoro
* WebSocketClient have awaitable connectToServerCoro
* WebSocketClient have setAsyncMessageHandler and setAsyncConnectionClosedHandler
* drogon::AsyncTask and drogon::Task<T> as our corutine types
* Related tests
* Misc

Future work
* Coroutine for WebSocket server
* Known issues

co_future() and sync_wait may crash. It looks like GCC bug but I'm not sure.
Workarround: Make an coroutine of AsyncTask. Then launch said coroutine.
Not sure why wrapping the exact same thing in function crashes things.

Co-authored-by: an-tao <antao2002@gmail.com>
2021-02-06 17:05:58 +08:00
Joakim L. Gilje
f9d714ab74
sqlite3: Insert into stmtsMap_ as string_view (#657) 2020-12-14 08:50:58 +08:00
An Tao
ce704aff5b
Update trantor (#656)
* Update trantor
* Make some minor modifications.
2020-12-14 08:49:33 +08:00
An Tao
566297d4df
Create cmake.yml (#653) 2020-12-13 18:12:30 +08:00
ivanka2012
292894c426
Fix MinGW ORM building by enabling htonll and ntohll (#650) 2020-12-11 16:13:00 +08:00
An Tao
8b7ffb28d7
Add support in the SqlBinder class and the Session class (#644) 2020-12-06 11:41:06 +08:00
An Tao
69d687dbcb
Fix a stack-overflow error when high concurrency happening on sqlite3 (#633) 2020-11-22 20:47:38 +08:00
Joakim L. Gilje
886dfc3648
Support OpenBSD (#626)
Co-authored-by: an-tao <antao2002@gmail.com>
2020-11-15 12:18:01 +08:00
An Tao
594911b7a2
Fix a bug in the Mapper::insertFuture() (#620) 2020-10-29 20:09:16 +08:00
An Tao
0fe3f6fd8f
Use explicit lambda capture lists (#590) 2020-10-02 11:45:07 +08:00
An Tao
465d2ebfe8
Disable TLS1.0/1.1 on HTTPS by default (#588) 2020-10-01 23:40:46 +08:00
Martin Chang
ada35c43fa
Fix failing to connect to DB if parameters contains spaces (#589) 2020-10-01 19:47:51 +08:00
An Tao
bbb338bf12
Bump version to 1.0.0 (#584) 2020-09-27 22:51:09 +08:00
An Tao
4a9ba2088c
Remove the expired std::iterator template (#554) 2020-08-26 20:53:04 +08:00
An Tao
4d8707df4b
Fix a bug when losting connection to MySQL server during query (#550) 2020-08-25 23:35:07 +08:00
An Tao
f1a7462c4c
Modify the Result class in orm (#541) 2020-08-16 20:00:14 +08:00
An Tao
857cacfda7
Fix boost::string_view compilation error of MysqlConnection class (#530) 2020-08-10 09:53:45 +08:00
An Tao
dddc62a9fe
Fix a mysql issue when connections are lost (#525) 2020-08-04 20:04:43 +08:00
An Tao
9c54fb8c69
Modify generation of models and the DbClient class (#498)
* Add setter method for automatical fields of models

* Put SQL queries into buffer before any connection being established

* Update trantor
2020-07-03 12:19:40 +08:00
Rick Zhuang
630beed867
Add the header <cctype> to resolve build errors in VS2017 (#495) 2020-06-27 11:43:49 +08:00
An Tao
3424d3f2c4
Add a way to set the character set when creating DbClient objects (#486) 2020-06-20 20:21:14 +08:00