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

Creating a MySQL connector project written in pure Scala3. #153

Open
57 of 63 tasks
takapi327 opened this issue Mar 3, 2024 · 0 comments
Open
57 of 63 tasks

Creating a MySQL connector project written in pure Scala3. #153

takapi327 opened this issue Mar 3, 2024 · 0 comments
Assignees
Labels
🚀 feature New feature
Milestone

Comments

@takapi327
Copy link
Owner

takapi327 commented Mar 3, 2024

Implementation Details

Creating a MySQL connector project written in pure Scala3.

JVM, JS and Native platforms are all supported.

Related pull requests

Supported Platforms

Module / Platform JVM Scala Native Scala.js
ldbc-connector

Function Development

  • Implementation of Authentication Function
    • mysql_native_password support
    • sha256_password support
    • caching_sha2_password support
  • SSL/TLS support
  • RSA authentication method support
  • Establish connection specifying database
  • Codec
    • Encoder
    • Decoder
  • Execute query
    • Statement
      • Read query execution
      • Execute write query
      • Decode acquisition records
    • PreparedStatement in Client
      • Building a query
      • Encoding of sent values
      • Read query execution
      • Execute write query
      • Decode acquisition records
    • PreparedStatement in Server
      • Encoding of sent values
      • Read query execution
      • Execute write query
      • Decode acquisition records
  • Transaction function implementation
    • Read Only setting function
    • Auto Commit setting function
    • Transaction isolation level setting function
    • Commit function
    • Rollback function
    • Savepoint function
  • Utility Commands
  • Batch commands
  • Connection pooling implementation

Supported DetaType

DataType Support
BIT
TINYINT
SMALLINT
MEDIUMINT
INT
BIGINT
DECIMAL
FLOAT
DOUBLE
CHAR
VARCHAR
BINARY
VARBINARY
TINYBLOB
BLOB
MEDIUMBLOB
LONGBLOB
TINYTEXT
TEXT
MEDIUMTEXT
LONGTEXT
ENUM
SET
JSON
DATE
DATETIME
TIMESTAMP
TIME
YEAR
BOOLEAN
GEOMETRY
POINT
LINESTRING
POLYGON
MULTIPOINT
MULTILINESTRING
MULTIPOLYGON
GEOMETRYCOLLECTION

Other

  • Documentation Creation
  • Performance Verification
    • Comparison with JDBC
    • Comparison with other MySQL Scala libraries
    • Verification of operation in AWS and other infrastructure environments

References

Porting of the following repository functions.
https://github.com/takapi327/scala-jvm-js-native-example

@takapi327 takapi327 added the 🚀 feature New feature label Mar 3, 2024
@takapi327 takapi327 added this to the 0.3.0 milestone Mar 3, 2024
@takapi327 takapi327 self-assigned this Mar 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🚀 feature New feature
Projects
None yet
Development

No branches or pull requests

1 participant