You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by db...@apache.org on 2017/11/15 18:03:04 UTC

[07/11] incubator-trafodion git commit: new COMMENT-ON SQL statement: review change - TEXT table modification

new COMMENT-ON SQL statement: review change - TEXT table modification

1. mv storage of COMMENTs in TEXT table


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/a448e8f8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/a448e8f8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/a448e8f8

Branch: refs/heads/master
Commit: a448e8f831f2dd84daf1758c332d074e71075486
Parents: 0b7e3a3
Author: eedy <cq...@gmail.com>
Authored: Thu Nov 9 12:00:29 2017 +0800
Committer: eedy <cq...@gmail.com>
Committed: Thu Nov 9 12:00:29 2017 +0800

----------------------------------------------------------------------
 core/sql/common/ComSmallDefs.h              |  6 +-
 core/sql/optimizer/RelExeUtil.cpp           |  2 +-
 core/sql/parser/BindStmtDDL.cpp             |  4 +-
 core/sql/parser/StmtDDLCommentOn.h          |  2 +
 core/sql/parser/StmtDDLCreate.cpp           |  6 +-
 core/sql/sqlcomp/CmpSeabaseDDLcommentOn.cpp | 90 ++++++++++++++++--------
 core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp    | 13 ++++
 core/sql/sqlcomp/CmpSeabaseDDLmd.h          | 16 +++--
 core/sql/sqlcomp/CmpSeabaseDDLschema.cpp    | 13 +++-
 core/sql/sqlcomp/CmpSeabaseDDLtable.cpp     | 18 ++++-
 core/sql/sqlcomp/CmpSeabaseDDLview.cpp      |  8 +++
 11 files changed, 132 insertions(+), 46 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a448e8f8/core/sql/common/ComSmallDefs.h
----------------------------------------------------------------------
diff --git a/core/sql/common/ComSmallDefs.h b/core/sql/common/ComSmallDefs.h
index 77914e9..1d5a15f 100644
--- a/core/sql/common/ComSmallDefs.h
+++ b/core/sql/common/ComSmallDefs.h
@@ -591,6 +591,8 @@ enum ComClusteringScheme { COM_UNKNOWN_CLUSTERING
 #define COM_MAXIMUM_NUMBER_OF_COLUMNS       20000
 #define COM_DIV_EXPR_BASE_TEXT_SUBID        20000
 
+#define COM_MAXIMUM_LENGTH_OF_COMMENT       1000
+
 enum ComColumnClass { COM_UNKNOWN_CLASS
                     , COM_SYSTEM_COLUMN
                     , COM_USER_COLUMN
@@ -660,7 +662,9 @@ enum ComTextType {COM_VIEW_TEXT = 0,
                   COM_HBASE_COL_FAMILY_TEXT = 5,
                   COM_HBASE_SPLIT_TEXT = 6,
                   COM_STORED_DESC_TEXT = 7,
-                  COM_VIEW_REF_COLS_TEXT = 8
+                  COM_VIEW_REF_COLS_TEXT = 8,
+                  COM_OBJET_COMMENT_TEXT = COM_TABLE_COMMENT_TEXT,
+                  COM_COLUMN_COMMENT_TEXT = 9
 };
 
 enum ComColumnDirection { COM_UNKNOWN_DIRECTION

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a448e8f8/core/sql/optimizer/RelExeUtil.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/RelExeUtil.cpp b/core/sql/optimizer/RelExeUtil.cpp
index 71c0421..5d143a2 100644
--- a/core/sql/optimizer/RelExeUtil.cpp
+++ b/core/sql/optimizer/RelExeUtil.cpp
@@ -4599,7 +4599,7 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA)
 	    return NULL;
 	  }
 
-        if (isRegister)
+        if (isRegister || isCommentOn)
           {
             isHbase_ = TRUE;
           }

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a448e8f8/core/sql/parser/BindStmtDDL.cpp
----------------------------------------------------------------------
diff --git a/core/sql/parser/BindStmtDDL.cpp b/core/sql/parser/BindStmtDDL.cpp
index 2294b45..a58dcd7 100644
--- a/core/sql/parser/BindStmtDDL.cpp
+++ b/core/sql/parser/BindStmtDDL.cpp
@@ -2611,8 +2611,6 @@ StmtDDLCommentOn::bindNode(BindWA * pBindWA)
               return this;
             }
 
-          isViewCol_ = (naTable->getViewText() ? TRUE : FALSE);
-
           const NAColumnArray &nacolArr = naTable->getNAColumnArray();
           const NAColumn * nacol = nacolArr.getColumn(getColName());
           if (! nacol)
@@ -2624,6 +2622,8 @@ StmtDDLCommentOn::bindNode(BindWA * pBindWA)
               return this;
             }
 
+          isViewCol_ = (naTable->getViewText() ? TRUE : FALSE);
+          colNum_ = nacol->getPosition();
         }
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a448e8f8/core/sql/parser/StmtDDLCommentOn.h
----------------------------------------------------------------------
diff --git a/core/sql/parser/StmtDDLCommentOn.h b/core/sql/parser/StmtDDLCommentOn.h
index 57b3542..9b31b26 100644
--- a/core/sql/parser/StmtDDLCommentOn.h
+++ b/core/sql/parser/StmtDDLCommentOn.h
@@ -102,6 +102,7 @@ public:
   inline const NAString &getComment() const { return comment_; }
   inline const NAString &getColName() const { return colRef_->getColRefNameObj().getColName(); }
   inline NABoolean getIsViewCol() { return isViewCol_; }
+  inline Lng32 getColNum() { return colNum_; }
 
 
   inline Int32 getVersion() {return 1;}
@@ -120,6 +121,7 @@ private:
   QualifiedName          objectName_;
   ColReference         * colRef_;
   NABoolean              isViewCol_;
+  Lng32                  colNum_;
 
   const NAString       & comment_;
 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a448e8f8/core/sql/parser/StmtDDLCreate.cpp
----------------------------------------------------------------------
diff --git a/core/sql/parser/StmtDDLCreate.cpp b/core/sql/parser/StmtDDLCreate.cpp
index ff39634..72d014e 100644
--- a/core/sql/parser/StmtDDLCreate.cpp
+++ b/core/sql/parser/StmtDDLCreate.cpp
@@ -7180,7 +7180,8 @@ StmtDDLCommentOn::StmtDDLCommentOn(COMMENT_ON_TYPES objType, const QualifiedName
     objectName_(objName, heap),
     comment_(commentStr),
     colRef_(NULL),
-    isViewCol_(FALSE)
+    isViewCol_(FALSE),
+    colNum_(0)
 {
       
 }
@@ -7192,7 +7193,8 @@ StmtDDLCommentOn::StmtDDLCommentOn(COMMENT_ON_TYPES objType, const QualifiedName
     objectName_(objName, heap),
     colRef_(colRef),
     comment_(commentStr),
-    isViewCol_(FALSE)
+    isViewCol_(FALSE),
+    colNum_(0)
 {
       
 }

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a448e8f8/core/sql/sqlcomp/CmpSeabaseDDLcommentOn.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLcommentOn.cpp b/core/sql/sqlcomp/CmpSeabaseDDLcommentOn.cpp
index 1e5e294..f9197e3 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLcommentOn.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLcommentOn.cpp
@@ -87,9 +87,9 @@ short CmpSeabaseDDL::getSeabaseObjectComment(Int64 object_uid,
                                CmpCommon::context()->sqlSession()->getParentQid());
 
   //get object comment
-  sprintf(query, "select comment from %s.\"%s\".%s where object_uid = %ld and object_type = '%s' and comment <> '' ;",
-              getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_OBJECTS,
-              object_uid, comObjectTypeLit(object_type));
+  sprintf(query, "select TEXT from %s.\"%s\".%s where TEXT_UID = %ld and TEXT_TYPE = %d and SUB_ID = %d ; ",
+                 getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_TEXT,
+                 object_uid, COM_OBJET_COMMENT_TEXT, 0);
 
   Queue * objQueue = NULL;
   cliRC = cliInterface.fetchAllRows(objQueue, query, 0, FALSE, FALSE, TRUE);
@@ -111,12 +111,15 @@ short CmpSeabaseDDL::getSeabaseObjectComment(Int64 object_uid,
   //get index comments of table
   if (COM_BASE_TABLE_OBJECT == object_type)
     {
-      sprintf(query, "select CATALOG_NAME||'.'||SCHEMA_NAME||'.'||OBJECT_NAME, COMMENT "
-                         "from %s.\"%s\".%s as O, %s.\"%s\".%s as I "
-                         "where I.BASE_TABLE_UID = %ld and O.OBJECT_UID = I.INDEX_UID and O.comment <> '' ;",
-                  getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_OBJECTS,
-                  getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_INDEXES,
-                  object_uid);
+      sprintf(query, "select O.CATALOG_NAME||'.'||O.SCHEMA_NAME||'.'||O.OBJECT_NAME as INDEX_QUAL, T.TEXT "
+                        "from %s.\"%s\".%s as O, %s.\"%s\".%s as T, %s.\"%s\".%s as I "
+                        "where I.BASE_TABLE_UID = %ld and O.OBJECT_UID = I.INDEX_UID and T.TEXT_UID = O.OBJECT_UID "
+                        "  and T.TEXT_TYPE = %d and SUB_ID = %d "
+                        "order by INDEX_QUAL ; ",
+                     getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_OBJECTS,
+                     getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_TEXT,
+                     getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_INDEXES,
+                     object_uid, COM_OBJET_COMMENT_TEXT, 0);
 
       Queue * indexQueue = NULL;
       cliRC = cliInterface.fetchAllRows(indexQueue, query, 0, FALSE, FALSE, TRUE);
@@ -148,8 +151,12 @@ short CmpSeabaseDDL::getSeabaseObjectComment(Int64 object_uid,
   //get column comments of table and view
   if (COM_BASE_TABLE_OBJECT == object_type || COM_VIEW_OBJECT == object_type)
     {
-      sprintf(query, "select COLUMN_NAME, COMMENT from %s.\"%s\".%s where OBJECT_UID = %ld and comment <> '' order by COLUMN_NUMBER ;",
-              getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_COLUMNS, object_uid);
+      sprintf(query, "select C.COLUMN_NAME, T.TEXT from %s.\"%s\".%s as C, %s.\"%s\".%s as T "
+                     "where C.OBJECT_UID = %ld and T.TEXT_UID = C.OBJECT_UID and T.TEXT_TYPE = %d and C.COLUMN_NUMBER = T.SUB_ID "
+                     "order by C.COLUMN_NUMBER ; ",
+                     getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_COLUMNS,
+                     getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_TEXT,
+                     object_uid, COM_COLUMN_COMMENT_TEXT);
 
       Queue * colQueue = NULL;
       cliRC = cliInterface.fetchAllRows(colQueue, query, 0, FALSE, FALSE, TRUE);
@@ -281,33 +288,32 @@ void  CmpSeabaseDDL::doSeabaseCommentOn(StmtDDLCommentOn   *commentOnNode,
       return;
     }
 
-  //check for overflow, but how i can get type size of COMMENT column?
+
+  //check for overflow
+  NAString & comment = (NAString &) commentOnNode->getComment();
+  if (comment.length() > COM_MAXIMUM_LENGTH_OF_COMMENT)
+    {
+      *CmpCommon::diags() << DgSqlCode(-8402);
+      processReturn ();
+      return;
+    }
 
   // add, remove, change comment of object/column
-  const NAString & comment = commentOnNode->getComment();
-  char * query = new(STMTHEAP) char[comment.length()+1024];
+  enum ComTextType textType = COM_OBJET_COMMENT_TEXT;
+  Lng32 subID = 0;
 
   if (StmtDDLCommentOn::COMMENT_ON_TYPE_COLUMN == commentObjectType)
     {
-      sprintf(query, "update %s.\"%s\".%s set comment = '%s' where object_uid = %ld and column_name = '%s' ",
-                     getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_COLUMNS,
-                     comment.data(),
-                     objUID,
-                     commentOnNode->getColName().data()
-                     );
-      cliRC = cliInterface.executeImmediate(query);
-    }
-  else
-    {
-      sprintf(query, "update %s.\"%s\".%s set comment = '%s' where catalog_name = '%s' and schema_name = '%s' and object_name = '%s' and object_type = '%s' ",
-                  getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_OBJECTS,
-                  comment.data(),
-                  catalogNamePart.data(), schemaNamePart.data(), objNamePart.data(),
-                  comObjectTypeLit(enMDObjType));
-      cliRC = cliInterface.executeImmediate(query);
+      textType = COM_COLUMN_COMMENT_TEXT;
+      subID = commentOnNode->getColNum();
     }
 
-  NADELETEBASIC(query, STMTHEAP);
+  /* Not using function updateTextTable(), because can not insert Chinese properly by function updateTextTable().
+     * For storing COMMENT in TEXT table is a temp solution, so updating TEXT table directly here.
+     * Will change this implementation until next upgrade of MD.
+     */
+  //like function updateTextTable(), delete entry first
+  cliRC = deleteFromTextTable(&cliInterface, objUID, textType, subID);
   if (cliRC < 0)
     {
       cliInterface.retrieveSQLDiagnostics(CmpCommon::diags());
@@ -315,6 +321,28 @@ void  CmpSeabaseDDL::doSeabaseCommentOn(StmtDDLCommentOn   *commentOnNode,
       return;
     }
 
+  if (comment.length() > 0)
+    {
+      //add or modify comment
+      char query[2048];
+
+      str_sprintf(query, "insert into %s.\"%s\".%s values (%ld, %d, %d, %d, 0, '%s') ; ",
+              getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_TEXT,
+              objUID, 
+              textType, 
+              subID, 
+              0,
+              comment.data());
+      cliRC = cliInterface.executeImmediate(query);
+      
+      if (cliRC < 0)
+        {
+          cliInterface.retrieveSQLDiagnostics(CmpCommon::diags());
+          processReturn();
+          return;
+        }
+    }
+
   processReturn();
   return;
 }

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a448e8f8/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp b/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
index c23a180..299b6c2 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
@@ -5277,6 +5277,19 @@ short CmpSeabaseDDL::deleteFromSeabaseMDTable(
           cliInterface->retrieveSQLDiagnostics(CmpCommon::diags());
           return -1;
         }
+
+      // delete comment from TEXT table for library
+      str_sprintf(buf, "delete from %s.\"%s\".%s where text_uid = %ld",
+                  getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_TEXT,
+                  objUID);
+      cliRC = cliInterface->executeImmediate(buf);
+      if (cliRC < 0)
+        {
+          cliInterface->retrieveSQLDiagnostics(CmpCommon::diags());
+        
+          return -1;
+        }
+
       return 0; // nothing else to do for libraries
     }
   

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a448e8f8/core/sql/sqlcomp/CmpSeabaseDDLmd.h
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLmd.h b/core/sql/sqlcomp/CmpSeabaseDDLmd.h
index fdaa99b..49a5246 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLmd.h
+++ b/core/sql/sqlcomp/CmpSeabaseDDLmd.h
@@ -1698,24 +1698,28 @@ static const QString createTrafViewsViewQuery[] =
   {"  ; "}
 };
 
+
 static const QString createTrafObjectCommentViewQuery[] =
 {
   {" create view %s.\"%s\"."TRAF_OBJECT_COMMENT_VIEW" as "},
-  {" select catalog_name, schema_name, object_name, comment "},
-  {"   from %s.\"%s\".\"%s\" "},
-  {"   where COMMENT <> '' "},
+  {" select O.catalog_name, O.schema_name, O.object_name, T.text as comment "},
+  {"   from %s.\"%s\".\"%s\" as O, %s.\"%s\".\"%s\" as T "},
+  {"  where O.object_uid = T.text_uid and T.text_type = %s "},
+  {"  order by O.OBJECT_UID "},
   {" ; "}
 };
 
 static const QString createTrafColumnCommentViewQuery[] =
 {
   {" create view %s.\"%s\"."TRAF_COLUMN_COMMENT_VIEW" as "},
-  {" select O.CATALOG_NAME, O.SCHEMA_NAME, O.OBJECT_NAME, C.COLUMN_NAME, C.COMMENT "},
-  {"  from %s.\"%s\".\"%s\" as O, %s.\"%s\".\"%s\" as C "},
-  {"  where O.OBJECT_UID = C.OBJECT_UID and C.COMMENT <> '' "},
+  {" select O.CATALOG_NAME, O.SCHEMA_NAME, O.OBJECT_NAME, C.COLUMN_NAME, T.TEXT as COMMENT "},
+  {"   from %s.\"%s\".\"%s\" as O, %s.\"%s\".\"%s\" as C, %s.\"%s\".\"%s\" as T "},
+  {"  where O.OBJECT_UID = C.OBJECT_UID and T.TEXT_UID = O.OBJECT_UID and T.TEXT_TYPE = %s "},
+  {"  order by O.OBJECT_UID, C.COLUMN_NUMBER "},
   {" ; "}
 };
 
+
 struct MDViewInfo
 {
   const char * viewName;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a448e8f8/core/sql/sqlcomp/CmpSeabaseDDLschema.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLschema.cpp b/core/sql/sqlcomp/CmpSeabaseDDLschema.cpp
index 45736b0..27d2840 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLschema.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLschema.cpp
@@ -1015,7 +1015,18 @@ void CmpSeabaseDDL::dropSeabaseSchema(StmtDDLDropSchema * dropSchemaNode)
                           << DgString0(reason);
       goto label_error;
    }
-  
+
+   //Drop comment in TEXT table for schema
+   str_sprintf(buf, "delete from %s.\"%s\".%s where text_uid = %ld",
+               getSystemCatalog(),SEABASE_MD_SCHEMA,SEABASE_TEXT,
+               schemaUID);
+   cliRC = cliInterface.executeImmediate(buf);
+   if (cliRC < 0)
+     {
+       cliInterface.retrieveSQLDiagnostics(CmpCommon::diags());
+       goto label_error;
+     }
+
   // Everything succeeded, return
   return;
     

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a448e8f8/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp b/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
index 83abc38..ee20ae2 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
@@ -5840,11 +5840,25 @@ short CmpSeabaseDDL::updateMDforDropCol(ExeCliInterface &cliInterface,
       cliInterface.retrieveSQLDiagnostics(CmpCommon::diags());
       return -1;
     }
-  
-  str_sprintf(buf, "update %s.\"%s\".%s set sub_id = sub_id - 1 where text_uid = %ld and text_type = %d and sub_id > %d",
+
+  //delete comment in TEXT table for column
+  str_sprintf(buf, "delete from %s.\"%s\".%s where text_uid = %ld and text_type = %d and sub_id = %d ",
+              getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_TEXT,
+              objUID,
+              COM_COLUMN_COMMENT_TEXT,
+              dropColNum);
+  cliRC = cliInterface.executeImmediate(buf);
+  if (cliRC < 0)
+    {
+      cliInterface.retrieveSQLDiagnostics(CmpCommon::diags());
+      return -1;
+    }
+
+  str_sprintf(buf, "update %s.\"%s\".%s set sub_id = sub_id - 1 where text_uid = %ld and ( text_type = %d or text_type = %d ) and sub_id > %d",
               getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_TEXT,
               objUID,
               COM_COMPUTED_COL_TEXT,
+              COM_COLUMN_COMMENT_TEXT,
               dropColNum);
   
   cliRC = cliInterface.executeImmediate(buf);

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a448e8f8/core/sql/sqlcomp/CmpSeabaseDDLview.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLview.cpp b/core/sql/sqlcomp/CmpSeabaseDDLview.cpp
index 587c666..a9f353c 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLview.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLview.cpp
@@ -1499,6 +1499,10 @@ short CmpSeabaseDDL::createMetadataViews(ExeCliInterface * cliInterface)
       param_[2] = getSystemCatalog();
       param_[3] = SEABASE_MD_SCHEMA;
       param_[4] = SEABASE_OBJECTS;
+      param_[5] = getSystemCatalog();
+      param_[6] = SEABASE_MD_SCHEMA;
+      param_[7] = SEABASE_TEXT;
+      param_[8] = "3";//COM_OBJET_COMMENT_TEXT
     }
       else if (strcmp(mdi.viewName, TRAF_COLUMN_COMMENT_VIEW) == 0)
     {
@@ -1510,6 +1514,10 @@ short CmpSeabaseDDL::createMetadataViews(ExeCliInterface * cliInterface)
       param_[5] = getSystemCatalog();
       param_[6] = SEABASE_MD_SCHEMA;
       param_[7] = SEABASE_COLUMNS;
+      param_[8] = getSystemCatalog();
+      param_[9] = SEABASE_MD_SCHEMA;
+      param_[10] = SEABASE_TEXT;
+      param_[11] = "9";//COM_COLUMN_COMMENT_TEXT
     }
       else
 	{