mysql icon indicating copy to clipboard operation
mysql copied to clipboard

Roadmap Godot Mysql C++ Connector.

Open Malkverbena opened this issue 1 year ago • 3 comments

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

Malkverbena avatar Dec 01 '22 15:12 Malkverbena

Capabilities:

Connection:

  • [x] Map of properties
  • [x] Set/Get Properties
  • [x] TCP connection.
  • [x] SSL/TLS connections
  • [x] Async connection.
  • [x] Unix connection(sockets)
  • [x] Multi-Querties

Simple text queries:

  • [x] Query
  • [x] Execute
  • [x] Update
  • [x] Transactions & Save Points

Prepared Statement for:

  • [x] Query
  • [x] Execute
  • [x] Update
  • [x] Transactions & Save Points

Extra Functions:

  • [x] Transaction (Savepoint and rollback to savepoint)
  • [x] Errors.

Support platforms:

  • [x] X11
  • [x] 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, Allocator> (including std::string), string_view, std::string_view, const char* 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

Malkverbena avatar Dec 01 '22 15:12 Malkverbena

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.

Malkverbena avatar Dec 27 '22 11:12 Malkverbena

Beta!

Malkverbena avatar Oct 11 '23 21:10 Malkverbena