This is an automated email from the ASF dual-hosted git repository.

lauraxia pushed a commit to branch antdUI-gravitino-base1.1.0
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/antdUI-gravitino-base1.1.0 by 
this push:
     new 38f9b74435 [#9619][#9620] fix create table issue
38f9b74435 is described below

commit 38f9b74435cae5888c64c0381d9718bddf0d1699
Author: Qian Xia <[email protected]>
AuthorDate: Mon Jan 5 17:22:02 2026 +0800

    [#9619][#9620] fix create table issue
---
 .../app/catalogs/rightContent/CreateTableDialog.js | 24 ++++++++++++++--------
 .../src/components/SecurableObjectFormFields.js    | 12 +++++------
 .../src/components/SpecialColumnTypeComponent.js   | 18 ++++++++--------
 3 files changed, 31 insertions(+), 23 deletions(-)

diff --git a/web/web/src/app/catalogs/rightContent/CreateTableDialog.js 
b/web/web/src/app/catalogs/rightContent/CreateTableDialog.js
index 5453c8a804..525d9497bc 100644
--- a/web/web/src/app/catalogs/rightContent/CreateTableDialog.js
+++ b/web/web/src/app/catalogs/rightContent/CreateTableDialog.js
@@ -482,13 +482,19 @@ export default function CreateTableDialog({ ...props }) {
         case 'struct':
           return {
             type: 'struct',
-            fields: typeObj?.fieldColumns.map(item => ({
-              uniqueId: item.uniqueId || item.name,
-              name: item.name,
-              type: getColumnType(item.typeObj),
-              nullable: !item.required,
-              comment: item.comment || ''
-            }))
+            fields: typeObj?.fieldColumns.map(item => {
+              const f = {
+                uniqueId: item.uniqueId || item.name,
+                name: item.name,
+                type: getColumnType(item.typeObj),
+                nullable: !item.required
+              }
+              if (item.comment) {
+                f.comment = item.comment
+              }
+              
+return f
+            })
           }
         case 'union':
           return {
@@ -1080,10 +1086,10 @@ export default function CreateTableDialog({ ...props }) 
{
                 <Form.Item noStyle name={[subField.name, 'direction']} 
label='Direction'>
                   <Select size='small' className='w-full' 
placeholder='Direction' disabled={!!editTable}>
                     <Select.Option key='asc' value='asc'>
-                      {t('table.asc')}
+                      Ascending
                     </Select.Option>
                     <Select.Option key='desc' value='desc'>
-                      {t('table.desc')}
+                      Descending
                     </Select.Option>
                   </Select>
                 </Form.Item>
diff --git a/web/web/src/components/SecurableObjectFormFields.js 
b/web/web/src/components/SecurableObjectFormFields.js
index e54ef241c6..a98f8eb5f1 100644
--- a/web/web/src/components/SecurableObjectFormFields.js
+++ b/web/web/src/components/SecurableObjectFormFields.js
@@ -440,8 +440,8 @@ export default function SecurableObjectFormFields({ 
fieldName, fieldKey, metalak
 
   const getAllOptionValues = item => {
     const groups = item === 'allowPrivileges' ? allowFilteredGroups : 
denyFilteredGroups
-    
-return (groups || []).flatMap(g => (g.options || []).map(o => o.value))
+
+    return (groups || []).flatMap(g => (g.options || []).map(o => o.value))
   }
 
   const handleSelectAll = (checked, item) => {
@@ -452,16 +452,16 @@ return (groups || []).flatMap(g => (g.options || 
[]).map(o => o.value))
   const handleSelectAllChecked = item => {
     const allValues = getAllOptionValues(item)
     const selectedItems = getFieldValue(['securableObjects', fieldName, item]) 
|| []
-    
-return allValues.length > 0 && allValues.every(v => selectedItems?.includes(v))
+
+    return allValues.length > 0 && allValues.every(v => 
selectedItems?.includes(v))
   }
 
   const handleSelectAllIndeterminate = item => {
     const allValues = getAllOptionValues(item)
     const selectedItems = getFieldValue(['securableObjects', fieldName, item]) 
|| []
     const selectedInAll = (selectedItems || []).filter(v => 
allValues.includes(v))
-    
-return selectedInAll.length > 0 && selectedInAll.length < allValues.length
+
+    return selectedInAll.length > 0 && selectedInAll.length < allValues.length
   }
 
   const allowSelected = getFieldValue(['securableObjects', fieldName, 
'allowPrivileges']) || []
diff --git a/web/web/src/components/SpecialColumnTypeComponent.js 
b/web/web/src/components/SpecialColumnTypeComponent.js
index 0fe15cd267..e81db03ff0 100644
--- a/web/web/src/components/SpecialColumnTypeComponent.js
+++ b/web/web/src/components/SpecialColumnTypeComponent.js
@@ -64,17 +64,17 @@ export default function SpecialColumnTypeComponent({ 
...props }) {
 
     return (
       <div className='flex flex-col divide-y divide-solid border-b 
border-solid'>
-        <div className='grid grid-cols-10 divide-x divide-solid'>
+        <div className={cn('grid divide-x divide-solid', provider !== 'hive' ? 
'grid-cols-10' : 'grid-cols-7')}>
           <div className='col-span-2 bg-gray-100 p-1 text-center'>Field 
Name</div>
           <div className='col-span-3 bg-gray-100 p-1 text-center'>Data 
Type</div>
           <div className='bg-gray-100 p-1 text-center'>Not Null</div>
-          <div className='col-span-3 bg-gray-100 p-1 text-center'>Comment</div>
+          {provider !== 'hive' && <div className='col-span-3 bg-gray-100 p-1 
text-center'>Comment</div>}
           <div className='bg-gray-100 p-1 text-center'>Action</div>
         </div>
         {fields.slice((pageOffset - 1) * pageSize, pageOffset * 
pageSize).map(field => {
           return (
             <div key={field.key}>
-              <div className='grid grid-cols-10'>
+              <div className={cn('grid', provider !== 'hive' ? 'grid-cols-10' 
: 'grid-cols-7')}>
                 <div className='col-span-2 px-2 py-1'>
                   <Form.Item
                     noStyle
@@ -153,11 +153,13 @@ export default function SpecialColumnTypeComponent({ 
...props }) {
                     <Switch size='small' disabled={provider === 'hive' || 
disabled} />
                   </Form.Item>
                 </div>
-                <div className='col-span-3 px-2 py-1'>
-                  <Form.Item noStyle name={[field.name, 'comment']} label=''>
-                    <Input size='small' disabled={disabled} />
-                  </Form.Item>
-                </div>
+                {provider !== 'hive' && (
+                  <div className='col-span-3 px-2 py-1'>
+                    <Form.Item noStyle name={[field.name, 'comment']} label=''>
+                      <Input size='small' disabled={disabled} />
+                    </Form.Item>
+                  </div>
+                )}
                 <div className='px-2 py-1'>
                   <Icons.Minus
                     className={cn('size-4 cursor-pointer text-gray-400 
hover:text-defaultPrimary', {

Reply via email to