From ddf928e6f3f27ede49aeaeee560ff49db7de06a8 Mon Sep 17 00:00:00 2001 From: Mo Sureerat Date: Thu, 3 Nov 2022 05:11:19 +0700 Subject: [PATCH] [ISSUE-17793] Revert previous change + Fix default selection of uuid in alter table Signed-off-by: Mo Sureerat --- libraries/classes/InsertEdit.php | 9 +----- libraries/classes/Table/ColumnsDefinition.php | 7 +++++ test/classes/InsertEditTest.php | 28 ------------------- 3 files changed, 8 insertions(+), 36 deletions(-) diff --git a/libraries/classes/InsertEdit.php b/libraries/classes/InsertEdit.php index c8843d4fe7..d4696751f1 100644 --- a/libraries/classes/InsertEdit.php +++ b/libraries/classes/InsertEdit.php @@ -1109,14 +1109,7 @@ class InsertEdit private function getSpecialCharsAndBackupFieldForInsertingMode( array $column ) { - $isNullableUUID = ! empty($column['True_Type']) - && ! empty($column['Default']) - && ! empty($column['Null']) - && $column['True_Type'] === 'uuid' - && $column['Default'] === 'uuid()' - && $column['Null'] === 'YES'; - - if ($isNullableUUID || (! isset($column['Default']))) { + if (! isset($column['Default'])) { $column['Default'] = ''; $realNullValue = true; $data = ''; diff --git a/libraries/classes/Table/ColumnsDefinition.php b/libraries/classes/Table/ColumnsDefinition.php index 371fdb2f8d..c21f43df3c 100644 --- a/libraries/classes/Table/ColumnsDefinition.php +++ b/libraries/classes/Table/ColumnsDefinition.php @@ -243,6 +243,8 @@ final class ColumnsDefinition case 'NULL': case 'CURRENT_TIMESTAMP': case 'current_timestamp()': + case 'UUID': + case 'uuid()': $columnMeta['Default'] = $columnMeta['DefaultType']; break; } @@ -300,6 +302,11 @@ final class ColumnsDefinition $columnMeta['DefaultType'] = 'CURRENT_TIMESTAMP'; $columnMeta['DefaultValue'] = ''; break; + case 'UUID': + case 'uuid()': + $columnMeta['DefaultType'] = 'UUID'; + $columnMeta['DefaultValue'] = ''; + break; default: $columnMeta['DefaultType'] = 'USER_DEFINED'; $columnMeta['DefaultValue'] = $columnMeta['Default']; diff --git a/test/classes/InsertEditTest.php b/test/classes/InsertEditTest.php index 7aa2aeda7c..03620f1b2d 100644 --- a/test/classes/InsertEditTest.php +++ b/test/classes/InsertEditTest.php @@ -1801,34 +1801,6 @@ class InsertEditTest extends AbstractTestCase 'hello world<br><b>lorem</b> ipsem', ], ], - 'uuid with nullable' => [ - [ - 'True_Type' => 'uuid', - 'Default' => 'uuid()', - 'Null' => 'YES', - ], - [ - true, - '', - '', - '', - '', - ], - ], - 'uuid with not nullable' => [ - [ - 'True_Type' => 'uuid', - 'Default' => 'uuid()', - 'Null' => 'NO', - ], - [ - false, - 'uuid()', - 'uuid()', - '', - 'uuid()', - ], - ], ]; }