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

BUG: TINYINT(1) fields in MYSQL are parsed as BIT, resulting in the value in UNDO_LOG is not equals the value in db. #6064

Open
1 task
wangliang181230 opened this issue Nov 20, 2023 · 0 comments · May be fixed by #6070
Assignees
Labels
type: bug Category issues or prs related to bug.

Comments

@wangliang181230
Copy link
Contributor

wangliang181230 commented Nov 20, 2023

  • I have searched the issues of this repository and believe that this is not a duplicate.

Ⅰ. Issue Description

TINYINT(1) fields in MYSQL are parsed as BIT, resulting in the value in UNDO_LOG is not equals the value in db.
在MYSQL中类型为 TINYINT(1) 的字段,被解析为 BIT 类型,导致保存进 UNDO_LOG 中的值为布尔型不等于数据库中的值,最终,导致回滚后的值,要么是0,要么是1。

表结构截图:
8176bd1e3fe398df9b3c852475204122

DEBUG字段类型截图:
b8b10718b22d37f5d723e6de07b60bd1

DEBUG获取到的字段值截图:
图片

Ⅱ. Describe what happened

If there is an exception, please attach the exception trace:

Just paste your stack trace here!

Ⅲ. Describe what you expected to happen

Ⅳ. How to reproduce it (as minimally and precisely as possible)

  1. xxx
  2. xxx
  3. xxx

Minimal yet complete reproducer code (or URL to code):

Ⅴ. Anything else we need to know?

Ⅵ. Environment:

  • JDK version(e.g. java -version):
  • Seata client/server version: 1.8.0
  • Database version: MYSQL
  • OS(e.g. uname -a):
  • Others:
@wangliang181230 wangliang181230 changed the title Fields of type 'TINYINT(1) in MYSQL are recognized as BIT, resulting in the value in UNDO_LOG` is not equals the value in db. Fields of type TINYINT(1) in MYSQL are recognized as BIT, resulting in the value in UNDO_LOG is not equals the value in db. Nov 20, 2023
@wangliang181230 wangliang181230 changed the title Fields of type TINYINT(1) in MYSQL are recognized as BIT, resulting in the value in UNDO_LOG is not equals the value in db. Fields of type 'TINYINT(1) in MYSQL are parsed as BIT or Boolean, resulting in the value in UNDO_LOG` is not equals the value in db. Nov 20, 2023
@wangliang181230 wangliang181230 self-assigned this Nov 21, 2023
@wangliang181230 wangliang181230 modified the milestone: 1.8.1 Nov 21, 2023
@wangliang181230 wangliang181230 changed the title Fields of type 'TINYINT(1) in MYSQL are parsed as BIT or Boolean, resulting in the value in UNDO_LOG` is not equals the value in db. TINYINT(1) fields in MYSQL are parsed as BIT, resulting in the value in UNDO_LOG is not equals the value in db. Nov 21, 2023
@wangliang181230 wangliang181230 changed the title TINYINT(1) fields in MYSQL are parsed as BIT, resulting in the value in UNDO_LOG is not equals the value in db. BUG: TINYINT(1) fields in MYSQL are parsed as BIT, resulting in the value in UNDO_LOG is not equals the value in db. Nov 21, 2023
@wangliang181230 wangliang181230 added the type: bug Category issues or prs related to bug. label Nov 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug Category issues or prs related to bug.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant