Skip to content

Commit 8fe57d9

Browse files
authored
Merge pull request #570 from tapdata/TAP-11636
fix: TAP-11636 add treat empty string as null config in inspect task
2 parents 465f602 + a397a6b commit 8fe57d9

4 files changed

Lines changed: 30 additions & 0 deletions

File tree

packages/business/src/locale/lang/en.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1679,6 +1679,9 @@ export default {
16791679
'Click variable name to insert into template',
16801680
packages_business_ignoreTimePrecision_round: 'Round',
16811681
packages_business_ignoreTimePrecision_truncate: 'Truncate',
1682+
packages_business_treatEmptyStringAsNull: 'Treat empty string as NULL',
1683+
packages_business_treatEmptyStringAsNull_tip: `<p>When enabled, an empty string ("") on either side is considered equal to NULL during field comparison.</p>
1684+
<p>Useful when the target is a database that automatically converts empty strings to NULL (e.g. Oracle), to avoid false-positive field inconsistencies caused by such semantic differences.</p>`,
16821685
packages_business_validation_task_type: 'Validation Task Type',
16831686
packages_business_select_task_to_be_verified: 'Select Task to be Verified',
16841687
packages_business_drag_file_here:

packages/business/src/locale/lang/zh-CN.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1504,6 +1504,9 @@ export default {
15041504
'点击变量名称插入到模板中',
15051505
packages_business_ignoreTimePrecision_round: '四舍五入',
15061506
packages_business_ignoreTimePrecision_truncate: '截断',
1507+
packages_business_treatEmptyStringAsNull: '空字符串视为 NULL',
1508+
packages_business_treatEmptyStringAsNull_tip: `<p>开启后,源端和目标端在字段校验时,空字符串("")将被视为与 NULL 相等。</p>
1509+
<p>适用于目标端为 Oracle 等会自动把空字符串转换为 NULL 的数据库,避免因数据库语义差异导致的字段不一致误报。</p>`,
15071510
packages_business_validation_task_type: '校验任务类型',
15081511
packages_business_select_task_to_be_verified: '选择被校验的任务',
15091512
packages_business_drag_file_here:

packages/business/src/locale/lang/zh-TW.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1490,6 +1490,9 @@ export default {
14901490
'點擊變量名稱插入到模板中',
14911491
packages_business_ignoreTimePrecision_round: '四捨五入',
14921492
packages_business_ignoreTimePrecision_truncate: '截斷',
1493+
packages_business_treatEmptyStringAsNull: '空字符串視為 NULL',
1494+
packages_business_treatEmptyStringAsNull_tip: `<p>開啓後,源端和目標端在字段校驗時,空字符串("")將被視為與 NULL 相等。</p>
1495+
<p>適用於目標端為 Oracle 等會自動把空字符串轉換為 NULL 的數據庫,避免因數據庫語義差異導致的字段不一致誤報。</p>`,
14931496
packages_business_validation_task_type: '校驗任務類型',
14941497
packages_business_select_task_to_be_verified: '選擇被校驗的任務',
14951498
packages_business_drag_file_here:

packages/business/src/views/verification/Form.vue

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ interface FormData {
7070
checkTableThreadNum: number
7171
alarmSettings: AlarmSetting[]
7272
ignoreTimePrecision?: boolean
73+
treatEmptyStringAsNull?: boolean
7374
}
7475
7576
interface Task {
@@ -184,6 +185,7 @@ const form = reactive({
184185
inconsistentNotifys: ['SYSTEM', 'EMAIL'],
185186
checkTableThreadNum: 10,
186187
roundingMode: 'HALF_UP',
188+
treatEmptyStringAsNull: true,
187189
alarmSettings: [
188190
{
189191
type: 'INSPECT',
@@ -1090,6 +1092,25 @@ provide('ConnectorMap', ConnectorMap)
10901092
</div>
10911093
</ElFormItem>
10921094

1095+
<ElFormItem v-if="!isCountOrHash" class="form-item">
1096+
<template #label>
1097+
<span class="align-middle mr-1">{{
1098+
$t('packages_business_treatEmptyStringAsNull')
1099+
}}</span>
1100+
<el-tooltip placement="top">
1101+
<template #content>
1102+
<div
1103+
v-html="$t('packages_business_treatEmptyStringAsNull_tip')"
1104+
/>
1105+
</template>
1106+
<VIcon class="align-self-center" color="#909399" size="14"
1107+
>info</VIcon
1108+
>
1109+
</el-tooltip>
1110+
</template>
1111+
<ElSwitch v-model="form.treatEmptyStringAsNull" />
1112+
</ElFormItem>
1113+
10931114
<ElFormItem v-if="!isCountOrHash" class="form-item">
10941115
<template #label>
10951116
<span class="align-middle mr-1">{{

0 commit comments

Comments
 (0)