Skip to content

Conversation

@BillyYccc
Copy link
Member

Motivation:

This PR reworks the MySQL client data type mapping part, with fixes to #1239

Modifications:

  1. move checking unsigned & binary flags from data type codec to column definition parsing phase which can avoid checking those flags at row value decoding phase for each prepared statement executing and improve some performance
  2. add dedicated unsigned
    numeric & binary datatypes to the DataType enum so that the data type codec can use them to decode row values
  3. make some changes to the MySQL JDBCType mapping
    FLOAT: JDBCType.REAL-> JDBCType.FLOAT
    CHAR,ENUM: JDBCType.VARCHAR -> JDBCType.CHAR
    BINARY: JDBCType.VARCHAR -> JDBCType.BINARY
    VARBINARY: JDBCType.VARCHAR -> JDBCType.VARBINARY
    TINY_TEXT: JDBCType.BLOB -> JDBCType.CLOB
    TEXT: JDBCType.BLOB -> JDBCType.CLOB
    MEDIUM_TEXT: JDBCType.BLOB -> JDBCType.CLOB
    LONG_TEXT: JDBCType.BLOB -> JDBCType.CLOB

@BillyYccc BillyYccc added module:mysql backport required This issue has not been backported yet but needs to be labels Jul 22, 2023
@vietj vietj added this to the 5.0.0 milestone Jul 22, 2023
@vietj vietj merged commit fffcad4 into eclipse-vertx:master Jul 22, 2023
@vietj
Copy link
Member

vietj commented Jul 22, 2023

thanks @BillyYccc !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport required This issue has not been backported yet but needs to be module:mysql

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants