Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap Godot Mysql C++ Connector. #13

Open
Malkverbena opened this issue Dec 1, 2022 · 3 comments
Open

Roadmap Godot Mysql C++ Connector. #13

Malkverbena opened this issue Dec 1, 2022 · 3 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@Malkverbena
Copy link
Owner

Malkverbena commented Dec 1, 2022

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
Copy link
Owner Author

Malkverbena commented Dec 1, 2022

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, 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
Copy link
Owner Author

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 Malkverbena changed the title Study the possibility of switching to the MariaDB C++ connector Study the possibility of switching to another C++ connector Dec 27, 2022
@Malkverbena Malkverbena changed the title Study the possibility of switching to another C++ connector Roadmap Godot Mysql C++ Connector. May 8, 2023
@Malkverbena Malkverbena self-assigned this Jun 12, 2023
@Malkverbena Malkverbena added the enhancement New feature or request label Jul 26, 2023
@Malkverbena Malkverbena added this to the 3.0 milestone Jul 26, 2023
@Malkverbena
Copy link
Owner Author

Beta!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Working on it
Development

No branches or pull requests

1 participant