mysql
mysql copied to clipboard
Roadmap Godot Mysql C++ Connector.
Dependencies:
- All requirements to compile Godot to your targetplatform.
- A C++20 capable compiler as GCC, Visual C++ (Windows) or Apple Clang (Apple).
- Git
- Perl
Capabilities:
Connection:
- [ ] Map of properties
- [ ] Set/Get Properties
- [ ] TCP connection.
- [ ] SSL/TLS connections
- [ ] Async connection.
- [ ] Unix connection(sockets)
- [ ] Multi-Querties
Simple text queries:
- [ ] Query
- [ ] Execute
- [ ] Update
- [ ] Transactions & Save Points
Prepared Statement for:
- [ ] Query
- [ ] Execute
- [ ] Update
- [ ] Transactions & Save Points
Extra Functions:
- [ ] Transaction (Savepoint and rollback to savepoint)
- [ ] Errors.
Support platforms:
- [ ] X11
- [ ] Windows
- [ ] MacOS
- [ ] Web
- [ ] I̶O̶S̶
- [ ] A̶n̶d̶r̶o̶i̶d̶
Supported Godot & SQL data types:
| TYPE | GODOT | C++ | SQL |
|---|---|---|---|
| NULL | null | std::nullptr_t | NILL |
| BOOL | bool | bool | TINYINT |
| INT32 | integer 32 | signed char, short, int, long, long long | SIGNED TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT |
| INT64 | integer 64 | unsigned char, unsigned short, unsigned, int, unsigned long, unsigned long long | UNSIGNED BIGINT, UNSIGNED TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, YEAR, BIT |
| FLOAT | float | float | FLOAT |
| DOUBLE | float | double | DOUBLE |
| BINARY | PackedByteArray | std::basic_vector<unsigned char, Allocator> | BINARY, VARBINARY, BLOB (all sizes), GEOMETRY |
| CHAR | String | std::basic_string<char, std::char_traits |
CHAR, VARCHAR, TEXT (all sizes), ENUM, JSON, DECIMAL, NUMERIC |
| DATE | Dictionary | boost::mysql::date AKA std::chrono::time_point<std::chrono::system_clock, days> | DATE |
| TIME | Dictionary | boost::mysql::time AKA std::chrono::microseconds | TIME |
| DATETIME | Dictionary | boost::mysql::datetime AKA std::chrono::time_point<std::chrono::system_clock, std::chrono::duration<std::int64_t, std::micro>> | DATETIME, TIMESTAMP |
| CHAR | PackedStringArray | std::basic_string<char, std::char_traits, Allocator> (including std::string), string_view, std::string_view, const char* | SET |
This third option, mysql, proved to be more promising. Not only is it easier to port to mobile platforms, but it's also easier to handle.
Beta!