Commit Graph

242 Commits

Author SHA1 Message Date
双草酸酯
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
antao
be6f0966d5 Fix a compilation issue on windows 2020-06-09 10:09:17 +08:00
An Tao
b3d1f151b5
Fix the count() method of Mysql ORM (#468) 2020-06-09 00:54:12 +08:00
An Tao
adab48e187
Fix a Mysql connection error on Windows (#449) 2020-06-02 22:05:03 +08:00
Vedran Miletić
e286fe869a
Fix building of ORM on FreeBSD (#444) 2020-05-25 00:00:00 +08:00
antao
84e503a948 Bump version to 1.0.0-beta17 2020-05-23 10:47:24 +08:00
An Tao
4423d836f4
Add methods to get DbClient connection status (#436) 2020-05-18 08:31:18 +08:00
An Tao
26dca0a910
Fix a connection bug of mariadb clients (#438) 2020-05-17 21:08:12 +08:00
An Tao
cddd17eb55
Fix some compilation warnings (#432) 2020-05-16 10:11:50 +08:00
An Tao
4f8290b589
Remove non standard macros (#415) 2020-04-25 02:12:44 +08:00
interfector18
17b8c337f9
Standardize Row and Result api (#409)
* Standardize Row and Result api, throw specific exceptions

* Fix drogon_ctl for sqlite3 models

* Add mysql and sqlite3 tests, add exception throwing tests

* configure mysql in travis-ci

Co-authored-by: antao <antao2002@gmail.com>
2020-04-11 11:46:47 +08:00
An Tao
06bf158676
Fix issues in the MysqlConnection class (#394) 2020-03-20 23:12:05 +08:00
An Tao
bb8b5ded79
Fix a fatal bug in the MysqlConnection class (#379) 2020-03-11 12:41:20 +08:00
An Tao
77063e28d0
Optimize the rendering of HTTP responses (#371) 2020-03-07 20:49:05 +08:00
An Tao
810896c94c
Fix warnings on Windows (#368) 2020-03-01 11:50:47 +08:00
Wang Gao
d5cd882248
Add support for MSVC 2015 (#365)
Co-authored-by: An Tao <antao2002@gmail.com>
2020-02-26 12:36:46 +08:00
An Tao
58702dc41e
Port drogon to Windows (#335)
Co-authored-by: mcirsta <mforce2@gmail.com>
2020-01-25 11:58:20 +08:00
An Tao
f07d9e03e1
Use shorter stmt names in postgresql connections(#326) 2020-01-04 09:36:14 +08:00
An Tao
bc7ec6975a
Modify the SqlBinder class (#324) 2020-01-03 10:29:06 +08:00
An Tao
53e9dcca08
Optimize database connections (#323) 2020-01-02 17:09:10 +08:00
An Tao
fd6df92bbc
Fix an error in the batch mode of libpq. (#317) 2019-12-11 14:23:52 +08:00
An Tao
40ffb2d2af
Modify some code styles (#298) 2019-11-21 11:27:47 +08:00