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

Fix the vertical alignment of 2WaySQL #89

Merged
merged 3 commits into from
Aug 28, 2024

Conversation

lemonadern
Copy link
Collaborator

@lemonadern lemonadern commented Aug 28, 2024

概要

2WaySQLで条件分岐をまたぐ縦ぞろえが崩れる問題(#86)を部分的に修正

  • 2WaySQLモードでフォーマットされる条件を変更しました
    • 変更前: フォーマット前テキストに/*IF*/を含む 場合
    • 変更後: フォーマット前テキストに/*IF*/を含み、かつ SQLの構文として不正 な場合
  • これにより、通常のSQLとしてパースできる2WaySQLについては縦ぞろえの問題が解消されます
    • 通常のSQLとして不正な構文を含む2WaySQLの場合は、依然として同様の問題が発生し得ます

フォーマット前:

select
'' as a
/*IF true*/
,'b' as b
/*ELSE*/
,'ccccccccccccccc' as c
/*END*/
;

フォーマット後:

select
	''					as	a
/*IF true*/
,	'b'					as	b
/*ELSE*/
,	'ccccccccccccccc'	as	c
/*END*/
;

Changed conditions for 2WaySQL mode
@lemonadern lemonadern marked this pull request as ready for review August 28, 2024 06:47
@tanzaku
Copy link
Collaborator

tanzaku commented Aug 28, 2024

validate_format_result の中の処理で /*IFがあったら format_two_way_sql を呼び出すようになっているのですが、こちらも フォーマット前テキストに/*IF*/を含み、かつ SQLの構文として不正 な場合 のみ2Way SQL用の分割処理を行うようにしたいです。

あと、これは完全な対応ではなく元のissueはcloseしたくないので Fixes #86 は削除しておいてください 🙏

@tanzaku tanzaku merged commit 5af6fe3 into main Aug 28, 2024
8 checks passed
@tanzaku tanzaku deleted the incorrect-2waysql-fromatting-issue86 branch August 28, 2024 10:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants