You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by rm...@apache.org on 2016/02/16 23:11:20 UTC

[1/5] incubator-trafodion git commit: TRAFODION-1789 & TRAFODION-1812

Repository: incubator-trafodion
Updated Branches:
  refs/heads/master 6f26a0a03 -> 83c66bfb1


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/regress/seabase/EXPECTED002
----------------------------------------------------------------------
diff --git a/core/sql/regress/seabase/EXPECTED002 b/core/sql/regress/seabase/EXPECTED002
index f77a008..83a8bb5 100644
--- a/core/sql/regress/seabase/EXPECTED002
+++ b/core/sql/regress/seabase/EXPECTED002
@@ -62,7 +62,7 @@ A            B
 >>invoke table(region stats ());
 
 -- Definition of Trafodion table TRAFODION.T002SCH.EXE_UTIL_REGION_STATS__
--- Definition current  Tue Dec  1 20:28:59 2015
+-- Definition current  Thu Feb  4 19:52:31 2016
 
   (
     CATALOG_NAME                     CHAR(256 BYTES) CHARACTER SET UTF8 COLLATE
@@ -87,7 +87,7 @@ A            B
 >>invoke table(region stats (t002t1));
 
 -- Definition of Trafodion table TRAFODION.T002SCH.EXE_UTIL_REGION_STATS__
--- Definition current  Tue Dec  1 20:29:01 2015
+-- Definition current  Thu Feb  4 19:52:33 2016
 
   (
     CATALOG_NAME                     CHAR(256 BYTES) CHARACTER SET UTF8 COLLATE
@@ -120,7 +120,7 @@ A            B
 (EXPR)                                                    REGION_NUM            REGION_NAME                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       NUM_STORES   NUM_STORE_FILES  STORE_FILE_UNCOMP_SIZE  STORE_FILE_SIZE       MEM_STORE_SIZE        (EXPR)                         (EXPR)
 --------------------------------------------------------  --------------------  --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  -----------  ---------------  ----------------------  --------------------  --------------------  -----------------------------  ------------------------------
 
-T002SCH.T002T1                                                               1  TRAFODION.T002SCH.T002T1/d8e501bc4b1e00c4a363ddbfddb73ce6                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   2                0                       0                     0                     0  ReadRequestsCount: 2           WriteRequestsCount: 1         
+T002SCH.T002T1                                                               1  TRAFODION.T002SCH.T002T1/d522d6121fbfa207bd9c28442738415e                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   2                0                       0                     0                     0  ReadRequestsCount: 2           WriteRequestsCount: 1         
 
 --- 1 row(s) selected.
 >>
@@ -134,7 +134,7 @@ T002SCH.T002T1                                                               1
 (EXPR)                                                    REGION_NUM            REGION_NAME                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       NUM_STORES   NUM_STORE_FILES  STORE_FILE_UNCOMP_SIZE  STORE_FILE_SIZE       MEM_STORE_SIZE        (EXPR)                         (EXPR)
 --------------------------------------------------------  --------------------  --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  -----------  ---------------  ----------------------  --------------------  --------------------  -----------------------------  ------------------------------
 
-T002SCH.T002T1                                                               1  TRAFODION.T002SCH.T002T1I1/6ecaf721eab09f276a465486204b9224                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 2                0                       0                     0                     0  ReadRequestsCount: 0           WriteRequestsCount: 1         
+T002SCH.T002T1                                                               1  TRAFODION.T002SCH.T002T1I1/df8c7764dba0c8c2a12fa21a751519c8                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 2                0                       0                     0                     0  ReadRequestsCount: 0           WriteRequestsCount: 1         
 
 --- 1 row(s) selected.
 >>
@@ -148,10 +148,10 @@ T002SCH.T002T1                                                               1
 (EXPR)                                                    REGION_NUM            REGION_NAME                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       NUM_STORES   NUM_STORE_FILES  STORE_FILE_UNCOMP_SIZE  STORE_FILE_SIZE       MEM_STORE_SIZE        (EXPR)                         (EXPR)
 --------------------------------------------------------  --------------------  --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  -----------  ---------------  ----------------------  --------------------  --------------------  -----------------------------  ------------------------------
 
-T002SCH.T002T2                                                               1  TRAFODION.T002SCH.T002T2/08950a2e799b5158e7bc01f7d381da15                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   2                0                       0                     0                     0  ReadRequestsCount: 0           WriteRequestsCount: 0         
-T002SCH.T002T2                                                               2  TRAFODION.T002SCH.T002T2/8f5f1f95e9f83eb80059038985b55e56                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   2                0                       0                     0                     0  ReadRequestsCount: 1           WriteRequestsCount: 1         
-T002SCH.T002T2                                                               3  TRAFODION.T002SCH.T002T2/74c3d257b6633eeb7097c587dadd2e1e                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   2                0                       0                     0                     0  ReadRequestsCount: 0           WriteRequestsCount: 0         
-T002SCH.T002T2                                                               4  TRAFODION.T002SCH.T002T2/eb2ed476df0e857b6a8eaa9618b1923b                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   2                0                       0                     0                     0  ReadRequestsCount: 0           WriteRequestsCount: 0         
+T002SCH.T002T2                                                               1  TRAFODION.T002SCH.T002T2/9b49ca8c556929d29bc8ddb78ff25440                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   2                0                       0                     0                     0  ReadRequestsCount: 0           WriteRequestsCount: 0         
+T002SCH.T002T2                                                               2  TRAFODION.T002SCH.T002T2/6ab09339afe346a5ff0f44e490f2aca9                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   2                0                       0                     0                     0  ReadRequestsCount: 1           WriteRequestsCount: 1         
+T002SCH.T002T2                                                               3  TRAFODION.T002SCH.T002T2/f4019a144619415f704e8649c3129bfb                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   2                0                       0                     0                     0  ReadRequestsCount: 0           WriteRequestsCount: 0         
+T002SCH.T002T2                                                               4  TRAFODION.T002SCH.T002T2/68b4bbc50fad222c73ccd471fae3f3a8                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   2                0                       0                     0                     0  ReadRequestsCount: 0           WriteRequestsCount: 0         
 
 --- 4 row(s) selected.
 >>
@@ -165,7 +165,7 @@ T002SCH.T002T2                                                               4
 (EXPR)                                                    REGION_NUM            REGION_NAME                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       NUM_STORES   NUM_STORE_FILES  STORE_FILE_UNCOMP_SIZE  STORE_FILE_SIZE       MEM_STORE_SIZE        (EXPR)                         (EXPR)
 --------------------------------------------------------  --------------------  --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  -----------  ---------------  ----------------------  --------------------  --------------------  -----------------------------  ------------------------------
 
-T002SCH.T002T2                                                               1  TRAFODION.T002SCH.T002T2I1/94aaac02a94952f6bd9b33f408f8c0dc                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 2                0                       0                     0                     0  ReadRequestsCount: 0           WriteRequestsCount: 1         
+T002SCH.T002T2                                                               1  TRAFODION.T002SCH.T002T2I1/7ff66f4b5dae3ef6d951d5cfc904248f                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 2                0                       0                     0                     0  ReadRequestsCount: 0           WriteRequestsCount: 1         
 
 --- 1 row(s) selected.
 >>
@@ -181,9 +181,10 @@ T002SCH.T002T2                                                               1
 --------------------------------------------------------  --------------------  -----------------------------  ------------------------------
 
 T002SCH.T002T2                                                               0  ReadRequestsCount: 1           WriteRequestsCount: 1         
+T002SCH.SB_HIS                                                               0  ReadRequestsCount: 0           WriteRequestsCount: 0         
 T002SCH.T002T1                                                               0  ReadRequestsCount: 2           WriteRequestsCount: 1         
 
---- 2 row(s) selected.
+--- 3 row(s) selected.
 >>
 >>select left(trim(schema_name) || '.' || trim(object_name), 14),
 +> sum(store_file_size), 
@@ -197,9 +198,10 @@ T002SCH.T002T1                                                               0
 --------------------------------------------------------  --------------------  -----------------------------  ------------------------------
 
 T002SCH.T002T2                                                               0  ReadRequestsCount: 1           WriteRequestsCount: 1         
+T002SCH.SB_HIS                                                               0  ReadRequestsCount: 0           WriteRequestsCount: 0         
 T002SCH.T002T1                                                               0  ReadRequestsCount: 2           WriteRequestsCount: 1         
 
---- 2 row(s) selected.
+--- 3 row(s) selected.
 >>
 >>get region stats for table t002t1;
 
@@ -222,7 +224,7 @@ Stats Details
 =============
 
   RegionNum:          1
-  RegionName:         TRAFODION.T002SCH.T002T1/d8e501bc4b1e00c4a363ddbfddb73ce6
+  RegionName:         TRAFODION.T002SCH.T002T1/d522d6121fbfa207bd9c28442738415e
   NumStores:          2
   NumStoreFiles:      0
   UncompressedSize:   0 (less than 1MB)
@@ -254,7 +256,7 @@ Stats Details
 =============
 
   RegionNum:          1
-  RegionName:         TRAFODION.T002SCH.T002T1I1/6ecaf721eab09f276a465486204b9224
+  RegionName:         TRAFODION.T002SCH.T002T1I1/df8c7764dba0c8c2a12fa21a751519c8
   NumStores:          2
   NumStoreFiles:      0
   UncompressedSize:   0 (less than 1MB)
@@ -286,7 +288,7 @@ Stats Details
 =============
 
   RegionNum:          1
-  RegionName:         TRAFODION.T002SCH.T002T2/08950a2e799b5158e7bc01f7d381da15
+  RegionName:         TRAFODION.T002SCH.T002T2/9b49ca8c556929d29bc8ddb78ff25440
   NumStores:          2
   NumStoreFiles:      0
   UncompressedSize:   0 (less than 1MB)
@@ -296,7 +298,7 @@ Stats Details
   WriteRequestsCount: 0
 
   RegionNum:          2
-  RegionName:         TRAFODION.T002SCH.T002T2/8f5f1f95e9f83eb80059038985b55e56
+  RegionName:         TRAFODION.T002SCH.T002T2/6ab09339afe346a5ff0f44e490f2aca9
   NumStores:          2
   NumStoreFiles:      0
   UncompressedSize:   0 (less than 1MB)
@@ -306,7 +308,7 @@ Stats Details
   WriteRequestsCount: 1
 
   RegionNum:          3
-  RegionName:         TRAFODION.T002SCH.T002T2/74c3d257b6633eeb7097c587dadd2e1e
+  RegionName:         TRAFODION.T002SCH.T002T2/f4019a144619415f704e8649c3129bfb
   NumStores:          2
   NumStoreFiles:      0
   UncompressedSize:   0 (less than 1MB)
@@ -316,7 +318,7 @@ Stats Details
   WriteRequestsCount: 0
 
   RegionNum:          4
-  RegionName:         TRAFODION.T002SCH.T002T2/eb2ed476df0e857b6a8eaa9618b1923b
+  RegionName:         TRAFODION.T002SCH.T002T2/68b4bbc50fad222c73ccd471fae3f3a8
   NumStores:          2
   NumStoreFiles:      0
   UncompressedSize:   0 (less than 1MB)
@@ -341,20 +343,20 @@ Stats Summary
   TotalUncompressedSize:   0
   TotalStoreFileSize:      0
   TotalMemStoreSize:       0
-  TotalReadRequestsCount:  0
+  TotalReadRequestsCount:  1
   TotalWriteRequestsCount: 1
 
 Stats Details
 =============
 
   RegionNum:          1
-  RegionName:         TRAFODION.T002SCH.T002T2I1/94aaac02a94952f6bd9b33f408f8c0dc
+  RegionName:         TRAFODION.T002SCH.T002T2I1/7ff66f4b5dae3ef6d951d5cfc904248f
   NumStores:          2
   NumStoreFiles:      0
   UncompressedSize:   0 (less than 1MB)
   StoreFileSize:      0 (less than 1MB)
   MemStoreSize:       0 (less than 1MB)
-  ReadRequestsCount:  0
+  ReadRequestsCount:  1
   WriteRequestsCount: 1
 
 
@@ -381,7 +383,7 @@ Stats Details
 =============
 
   RegionNum:          1
-  RegionName:         TRAFODION.T002SCH.T002T1/d8e501bc4b1e00c4a363ddbfddb73ce6
+  RegionName:         TRAFODION.T002SCH.T002T1/d522d6121fbfa207bd9c28442738415e
   NumStores:          2
   NumStoreFiles:      0
   UncompressedSize:   0 (less than 1MB)
@@ -401,6 +403,62 @@ Stats Details
 Stats Summary
 =============
 
+  ObjectName:              TRAFODION.T002SCH.SB_HISTOGRAMS
+  NumRegions:              1
+  RegionsLocation:         /hbase/data/default
+  TotalNumStores:          2
+  TotalNumStoreFiles:      0
+  TotalUncompressedSize:   0
+  TotalStoreFileSize:      0
+  TotalMemStoreSize:       0
+  TotalReadRequestsCount:  0
+  TotalWriteRequestsCount: 0
+
+Stats Details
+=============
+
+  RegionNum:          1
+  RegionName:         TRAFODION.T002SCH.SB_HISTOGRAMS/594c70b4a5fbe31a1100dd1bda47da5c
+  NumStores:          2
+  NumStoreFiles:      0
+  UncompressedSize:   0 (less than 1MB)
+  StoreFileSize:      0 (less than 1MB)
+  MemStoreSize:       0 (less than 1MB)
+  ReadRequestsCount:  0
+  WriteRequestsCount: 0
+
+
+Stats Summary
+=============
+
+  ObjectName:              TRAFODION.T002SCH.SB_HISTOGRAM_INTERVALS
+  NumRegions:              1
+  RegionsLocation:         /hbase/data/default
+  TotalNumStores:          2
+  TotalNumStoreFiles:      0
+  TotalUncompressedSize:   0
+  TotalStoreFileSize:      0
+  TotalMemStoreSize:       0
+  TotalReadRequestsCount:  0
+  TotalWriteRequestsCount: 0
+
+Stats Details
+=============
+
+  RegionNum:          1
+  RegionName:         TRAFODION.T002SCH.SB_HISTOGRAM_INTERVALS/94b6ffefc5df9a62180e5a2401e18d9e
+  NumStores:          2
+  NumStoreFiles:      0
+  UncompressedSize:   0 (less than 1MB)
+  StoreFileSize:      0 (less than 1MB)
+  MemStoreSize:       0 (less than 1MB)
+  ReadRequestsCount:  0
+  WriteRequestsCount: 0
+
+
+Stats Summary
+=============
+
   ObjectName:              TRAFODION.T002SCH.T002T1
   NumRegions:              1
   RegionsLocation:         /hbase/data/default
@@ -416,7 +474,7 @@ Stats Details
 =============
 
   RegionNum:          1
-  RegionName:         TRAFODION.T002SCH.T002T1/d8e501bc4b1e00c4a363ddbfddb73ce6
+  RegionName:         TRAFODION.T002SCH.T002T1/d522d6121fbfa207bd9c28442738415e
   NumStores:          2
   NumStoreFiles:      0
   UncompressedSize:   0 (less than 1MB)
@@ -444,7 +502,7 @@ Stats Details
 =============
 
   RegionNum:          1
-  RegionName:         TRAFODION.T002SCH.T002T2/08950a2e799b5158e7bc01f7d381da15
+  RegionName:         TRAFODION.T002SCH.T002T2/9b49ca8c556929d29bc8ddb78ff25440
   NumStores:          2
   NumStoreFiles:      0
   UncompressedSize:   0 (less than 1MB)
@@ -454,7 +512,7 @@ Stats Details
   WriteRequestsCount: 0
 
   RegionNum:          2
-  RegionName:         TRAFODION.T002SCH.T002T2/8f5f1f95e9f83eb80059038985b55e56
+  RegionName:         TRAFODION.T002SCH.T002T2/6ab09339afe346a5ff0f44e490f2aca9
   NumStores:          2
   NumStoreFiles:      0
   UncompressedSize:   0 (less than 1MB)
@@ -464,7 +522,7 @@ Stats Details
   WriteRequestsCount: 1
 
   RegionNum:          3
-  RegionName:         TRAFODION.T002SCH.T002T2/74c3d257b6633eeb7097c587dadd2e1e
+  RegionName:         TRAFODION.T002SCH.T002T2/f4019a144619415f704e8649c3129bfb
   NumStores:          2
   NumStoreFiles:      0
   UncompressedSize:   0 (less than 1MB)
@@ -474,7 +532,7 @@ Stats Details
   WriteRequestsCount: 0
 
   RegionNum:          4
-  RegionName:         TRAFODION.T002SCH.T002T2/eb2ed476df0e857b6a8eaa9618b1923b
+  RegionName:         TRAFODION.T002SCH.T002T2/68b4bbc50fad222c73ccd471fae3f3a8
   NumStores:          2
   NumStoreFiles:      0
   UncompressedSize:   0 (less than 1MB)
@@ -498,8 +556,8 @@ Stats Details
 (EXPR)                                                    REGION_NUM            REGION_NAME                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       NUM_STORES   NUM_STORE_FILES  STORE_FILE_UNCOMP_SIZE  STORE_FILE_SIZE       MEM_STORE_SIZE        (EXPR)                         (EXPR)
 --------------------------------------------------------  --------------------  --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  -----------  ---------------  ----------------------  --------------------  --------------------  -----------------------------  ------------------------------
 
-T002SCH.T002T1                                                               1  TRAFODION.T002SCH.T002T1I1/6ecaf721eab09f276a465486204b9224                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 2                0                       0                     0                     0  ReadRequestsCount: 0           WriteRequestsCount: 1         
-T002SCH.T002T1                                                               1  TRAFODION.T002SCH.T002T1I2/b36b08f5d1152de7006cc11bc2c07e26                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 2                0                       0                     0                     0  ReadRequestsCount: 0           WriteRequestsCount: 1         
+T002SCH.T002T1                                                               1  TRAFODION.T002SCH.T002T1I1/df8c7764dba0c8c2a12fa21a751519c8                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 2                0                       0                     0                     0  ReadRequestsCount: 0           WriteRequestsCount: 1         
+T002SCH.T002T1                                                               1  TRAFODION.T002SCH.T002T1I2/75b6084d412d14874f15e83cda7ae6ce                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 2                0                       0                     0                     0  ReadRequestsCount: 0           WriteRequestsCount: 1         
 
 --- 2 row(s) selected.
 >>get region stats for 
@@ -525,7 +583,7 @@ Stats Details
 =============
 
   RegionNum:          1
-  RegionName:         TRAFODION.T002SCH.T002T1I1/6ecaf721eab09f276a465486204b9224
+  RegionName:         TRAFODION.T002SCH.T002T1I1/df8c7764dba0c8c2a12fa21a751519c8
   NumStores:          2
   NumStoreFiles:      0
   UncompressedSize:   0 (less than 1MB)
@@ -553,7 +611,7 @@ Stats Details
 =============
 
   RegionNum:          1
-  RegionName:         TRAFODION.T002SCH.T002T1I2/b36b08f5d1152de7006cc11bc2c07e26
+  RegionName:         TRAFODION.T002SCH.T002T1I2/75b6084d412d14874f15e83cda7ae6ce
   NumStores:          2
   NumStoreFiles:      0
   UncompressedSize:   0 (less than 1MB)
@@ -647,6 +705,34 @@ Stats Summary
 Stats Summary
 =============
 
+  ObjectName:              TRAFODION.T002SCH.SB_HISTOGRAMS
+  NumRegions:              1
+  RegionsLocation:         /hbase/data/default
+  TotalNumStores:          2
+  TotalNumStoreFiles:      0
+  TotalUncompressedSize:   0
+  TotalStoreFileSize:      0
+  TotalMemStoreSize:       0
+  TotalReadRequestsCount:  0
+  TotalWriteRequestsCount: 0
+
+Stats Summary
+=============
+
+  ObjectName:              TRAFODION.T002SCH.SB_HISTOGRAM_INTERVALS
+  NumRegions:              1
+  RegionsLocation:         /hbase/data/default
+  TotalNumStores:          2
+  TotalNumStoreFiles:      0
+  TotalUncompressedSize:   0
+  TotalStoreFileSize:      0
+  TotalMemStoreSize:       0
+  TotalReadRequestsCount:  0
+  TotalWriteRequestsCount: 0
+
+Stats Summary
+=============
+
   ObjectName:              TRAFODION.T002SCH.T002T1
   NumRegions:              1
   RegionsLocation:         /hbase/data/default

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/regress/seabase/EXPECTED026
----------------------------------------------------------------------
diff --git a/core/sql/regress/seabase/EXPECTED026 b/core/sql/regress/seabase/EXPECTED026
index 871ab05..d7b96bc 100644
--- a/core/sql/regress/seabase/EXPECTED026
+++ b/core/sql/regress/seabase/EXPECTED026
@@ -221,7 +221,7 @@
 >>delete from "_MD_".objects where catalog_name = 'TRAFODION' and
 +>     schema_name = 'SCH026' and object_type = 'PK';
 
---- 4 row(s) deleted.
+--- 6 row(s) deleted.
 >>cqd hide_indexes reset;
 
 --- SQL operation complete.
@@ -292,7 +292,7 @@ Metadata Cleanup: started, check only
   End:   Cleanup Orphan Hbase Entries (0 entries found)
 
   Start: Cleanup Inconsistent Objects Entries
-  End:   Cleanup Inconsistent Objects Entries (4 entries found)
+  End:   Cleanup Inconsistent Objects Entries (6 entries found)
 
   Start: Cleanup Inconsistent Views Entries
   End:   Cleanup Inconsistent Views Entries (0 entries found)
@@ -327,7 +327,7 @@ Metadata Cleanup: started, check only
   End:   Cleanup Orphan Hbase Entries (1 entry found)
 
   Start: Cleanup Inconsistent Objects Entries
-  End:   Cleanup Inconsistent Objects Entries (6 entries found)
+  End:   Cleanup Inconsistent Objects Entries (8 entries found)
 
   Start: Cleanup Inconsistent Views Entries
   End:   Cleanup Inconsistent Views Entries (0 entries found)
@@ -349,12 +349,14 @@ Metadata Cleanup: started, check only
 
   Start: Cleanup Inconsistent Objects Entries
     Entry #1(OBJECT): TRAFODION.SCH026.T026T12
-    Entry #2(OBJECT): TRAFODION.SCH026.T026T20_438438241_2142
-    Entry #3(OBJECT): TRAFODION.SCH026.T026T2_651538241_2142
-    Entry #4(OBJECT): TRAFODION.SCH026.LOBMD_00043972113939_998563911_1731
-    Entry #5(OBJECT): TRAFODION.SCH026.LOBDescChunks_000439_186663911_1731
-    Entry #6(UID):    43972113939719235
-  End:   Cleanup Inconsistent Objects Entries (6 entries found)
+    Entry #2(OBJECT): TRAFODION.SCH026.T026T20_128588266_9589
+    Entry #3(OBJECT): TRAFODION.SCH026.T026T2_498588266_9589
+    Entry #4(OBJECT): TRAFODION.SCH026.SB_HISTOGRAMS_PK
+    Entry #5(OBJECT): TRAFODION.SCH026.SB_HISTOGRAM_INTERVALS_PK
+    Entry #6(OBJECT): TRAFODION.SCH026.LOBMD_00958229992622_255194156_9672
+    Entry #7(OBJECT): TRAFODION.SCH026.LOBDescChunks_009582_898194156_9672
+    Entry #8(UID):    958229992622171473
+  End:   Cleanup Inconsistent Objects Entries (8 entries found)
 
   Start: Cleanup Inconsistent Views Entries
   End:   Cleanup Inconsistent Views Entries (0 entries found)
@@ -376,12 +378,14 @@ Metadata Cleanup: started
 
   Start: Cleanup Inconsistent Objects Entries
     Entry #1(OBJECT): TRAFODION.SCH026.T026T12
-    Entry #2(OBJECT): TRAFODION.SCH026.T026T20_438438241_2142
-    Entry #3(OBJECT): TRAFODION.SCH026.T026T2_651538241_2142
-    Entry #4(OBJECT): TRAFODION.SCH026.LOBMD_00043972113939_998563911_1731
-    Entry #5(OBJECT): TRAFODION.SCH026.LOBDescChunks_000439_186663911_1731
-    Entry #6(UID):    43972113939719235
-  End:   Cleanup Inconsistent Objects Entries (6 entries cleaned up)
+    Entry #2(OBJECT): TRAFODION.SCH026.T026T20_128588266_9589
+    Entry #3(OBJECT): TRAFODION.SCH026.T026T2_498588266_9589
+    Entry #4(OBJECT): TRAFODION.SCH026.SB_HISTOGRAMS_PK
+    Entry #5(OBJECT): TRAFODION.SCH026.SB_HISTOGRAM_INTERVALS_PK
+    Entry #6(OBJECT): TRAFODION.SCH026.LOBMD_00958229992622_255194156_9672
+    Entry #7(OBJECT): TRAFODION.SCH026.LOBDescChunks_009582_898194156_9672
+    Entry #8(UID):    958229992622171473
+  End:   Cleanup Inconsistent Objects Entries (8 entries cleaned up)
 
   Start: Cleanup Inconsistent Views Entries
   End:   Cleanup Inconsistent Views Entries (0 entries cleaned up)

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/regress/seabase/FILTER002
----------------------------------------------------------------------
diff --git a/core/sql/regress/seabase/FILTER002 b/core/sql/regress/seabase/FILTER002
index 56e5269..28e1a95 100755
--- a/core/sql/regress/seabase/FILTER002
+++ b/core/sql/regress/seabase/FILTER002
@@ -25,6 +25,7 @@
 
 fil=$1
 sed "
+s/\(RegionName:[ ]*TRAFODION.[A-Z0-9._]*\/\)[A-Za-z0-9]*/\1REGION-NAME/g
 s/TRAFODION\.T002SCH\.T002[A-Z0-9]*\/[A-Za-z0-9]*/REGION_NAME /g
 s/ReadRequestsCount: [ ]*[0-9]*/READ_REQUESTS_COUNT /g
 s/WriteRequestsCount: [ ]*[0-9]*/WRITE_REQUESTS_COUNT /g

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/sqlcomp/CmpDDLCatErrorCodes.h
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpDDLCatErrorCodes.h b/core/sql/sqlcomp/CmpDDLCatErrorCodes.h
index b76810c..27acc68 100644
--- a/core/sql/sqlcomp/CmpDDLCatErrorCodes.h
+++ b/core/sql/sqlcomp/CmpDDLCatErrorCodes.h
@@ -89,7 +89,7 @@ enum CatErrorCode { CAT_FIRST_ERROR = 1000
                   , CAT_TABLE_ALREADY_EXISTS                      = 1055
                   , CAT_UNABLE_TO_ALTER_VIEW                      = 1056
                   , CAT_LOCATION_NO_GOOD                          = 1057
-                  , CAT_LOCK_ALREADY_EXISTS                       = 1058
+                  , CAT_HISTOGRAM_TABLE_NOT_CREATED               = 1058
                   , CAT_DEPENDENT_CONSTRAINT_EXISTS               = 1059
                   , CAT_VIEW_INVALID                              = 1060
                   , CAT_USER_CANNOT_DROP_SMD_CATALOG              = 1061
@@ -104,7 +104,7 @@ enum CatErrorCode { CAT_FIRST_ERROR = 1000
                   , CAT_CREATE_OBJECT_ERROR                       = 1070
                   , CAT_UNABLE_TO_ACCESS_OBJECT                   = 1071
                   , CAT_REFERENCED_UNIQUE_CONSTRAINT_IS_DISABLED  = 1072
-                  , CAT_ONLY_SUPER_ID_CAN_INITIALIZE_SQL          = 1073
+                  , CAT_ATTEMPT_CLEANUP_SCHEMA                    = 1073
                   , CAT_UNABLE_TO_CREATE_SYNONYM                  = 1074
                   , CAT_CATALOG_IS_NOT_EMPTY                      = 1075
                   , CAT_UNABLE_TO_GRANT                           = 1076

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/sqlcomp/CmpSeabaseDDL.h
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDL.h b/core/sql/sqlcomp/CmpSeabaseDDL.h
index 93a68cf..9a10fae 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDL.h
+++ b/core/sql/sqlcomp/CmpSeabaseDDL.h
@@ -190,6 +190,12 @@ class CmpSeabaseDDL
        Lng32 textSubID,
        NAString &constrText);
   
+  static short createHistogramTables(
+    ExeCliInterface *cliInterface,
+    const NAString &schemaName,
+    const NABoolean ignoreIfExists,
+    NAString &tableNotCreated);
+
   NABoolean isAuthorizationEnabled();
 
   short existsInHbase(const NAString &objName,
@@ -882,6 +888,7 @@ class CmpSeabaseDDL
      StmtDDLCreateSchema  * createSchemaNode,
      NAString             & currCatName);
 
+
   void cleanupObjectAfterError(
                                ExeCliInterface &cliInterface,
                                const NAString &catName, 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/sqlcomp/CmpSeabaseDDLcleanup.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLcleanup.cpp b/core/sql/sqlcomp/CmpSeabaseDDLcleanup.cpp
index 28cd8d7..3fa0b16 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLcleanup.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLcleanup.cpp
@@ -720,6 +720,9 @@ short CmpSeabaseMDcleanup::deleteMDViewEntries(ExeCliInterface *cliInterface)
 
 short CmpSeabaseMDcleanup::deleteHistogramEntries(ExeCliInterface *cliInterface)
 {
+  if (isHistogramTable(objName_))
+    return 0;
+
   Lng32 cliRC = 0;
   char query[1000];
 
@@ -893,7 +896,7 @@ void CmpSeabaseMDcleanup::cleanupSchemaObjects(ExeCliInterface *cliInterface)
     }
 
   Queue *schObjList = NULL;
-  str_sprintf(query, "select object_uid, object_type from %s.\"%s\".%s where catalog_name = '%s' and schema_name = '%s' ",
+  str_sprintf(query, "select object_uid, object_type, object_name from %s.\"%s\".%s where catalog_name = '%s' and schema_name = '%s' ",
               getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_OBJECTS,
               catName_.data(), schName_.data());
   
@@ -907,6 +910,32 @@ void CmpSeabaseMDcleanup::cleanupSchemaObjects(ExeCliInterface *cliInterface)
   
   stopOnError_ = FALSE;
   NABoolean cannotDropSchema = FALSE;
+ 
+  // Drop histogram tables first
+  schObjList->position();
+  for (size_t i = 0; i < schObjList->numEntries(); i++)
+    {
+      OutputInfo * oi = (OutputInfo*)schObjList->getCurr(); 
+      Int64 uid = *(Int64*)oi->get(0);
+      NAString obj_name((char*)oi->get(2));
+      if (isHistogramTable(obj_name))
+      {
+        str_sprintf(query, "cleanup uid %Ld", uid);
+        cliRC = cliInterface->executeImmediate(query);
+        if (cliRC < 0)
+          {
+            if (processCleanupErrors(NULL, errorSeen))
+              return;
+          }      
+        CorrName cn(objName_, STMTHEAP, schName_, catName_);
+        ActiveSchemaDB()->getNATableDB()->removeNATable(
+                                                        cn,
+                                                        NATableDB::REMOVE_FROM_ALL_USERS,
+                                                        COM_BASE_TABLE_OBJECT);
+      }
+   }
+
+  // Now drop remaining objects
   schObjList->position();
   for (size_t i = 0; i < schObjList->numEntries(); i++)
     {
@@ -919,6 +948,7 @@ void CmpSeabaseMDcleanup::cleanupSchemaObjects(ExeCliInterface *cliInterface)
           (obj_type == COM_STORED_PROCEDURE_OBJECT_LIT) ||
           (obj_type == COM_USER_DEFINED_ROUTINE_OBJECT))
         {
+          schObjList->advance();
           cannotDropSchema = TRUE;
           continue;
         }
@@ -928,6 +958,7 @@ void CmpSeabaseMDcleanup::cleanupSchemaObjects(ExeCliInterface *cliInterface)
                (obj_type == COM_VIEW_OBJECT_LIT) ||
                (obj_type == COM_SEQUENCE_GENERATOR_OBJECT_LIT)))
         {
+          schObjList->advance();
           continue;
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/sqlcomp/CmpSeabaseDDLmd.h
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLmd.h b/core/sql/sqlcomp/CmpSeabaseDDLmd.h
index 006bdcb..6f12ac9 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLmd.h
+++ b/core/sql/sqlcomp/CmpSeabaseDDLmd.h
@@ -597,6 +597,17 @@ static const MDTableInfo allMDtablesInfo[] = {
    NULL, 0, FALSE}
 };
 
+static const MDTableInfo allMDHistInfo[] = {
+  {HBASE_HIST_NAME,
+   seabaseHistogramsDDL, sizeof(seabaseHistogramsDDL),
+   NULL, 0, FALSE},
+
+  {HBASE_HISTINT_NAME,
+   seabaseHistogramIntervalsDDL, sizeof(seabaseHistogramIntervalsDDL),
+   NULL, 0, FALSE}
+};
+
+
 /////////////////////////////////////////////////////////////////////
 //
 // Information about changed old metadata tables from which upgrade

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/sqlcomp/CmpSeabaseDDLroutine.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLroutine.cpp b/core/sql/sqlcomp/CmpSeabaseDDLroutine.cpp
index 726156f..975375e 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLroutine.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLroutine.cpp
@@ -610,8 +610,9 @@ void CmpSeabaseDDL::createSeabaseRoutine(
 
   if (retcode == 1) // already exists
     {
-      *CmpCommon::diags() << DgSqlCode(-1390)
-			  << DgString0(extRoutineName);
+      if (! createRoutineNode->createIfNotExists())
+        *CmpCommon::diags() << DgSqlCode(-1390)
+  			    << DgString0(extRoutineName);
       deallocEHI(ehi); 
       processReturn();
       return;
@@ -1181,8 +1182,9 @@ void CmpSeabaseDDL::dropSeabaseRoutine(StmtDDLDropRoutine * dropRoutineNode,
 
   if (retcode == 0) // does not exist
     {
-      *CmpCommon::diags() << DgSqlCode(-1389)
-			  << DgString0(extRoutineName);
+      if (NOT dropRoutineNode->dropIfExists())
+        *CmpCommon::diags() << DgSqlCode(-1389)
+	      		    << DgString0(extRoutineName);
       deallocEHI(ehi); 
       processReturn();
       return;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/sqlcomp/CmpSeabaseDDLschema.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLschema.cpp b/core/sql/sqlcomp/CmpSeabaseDDLschema.cpp
index fc615cb..0e0bf64 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLschema.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLschema.cpp
@@ -96,9 +96,9 @@ static bool transferObjectPrivs(
 // *    do not return an error is schema already exists                        *
 // *****************************************************************************
 // *                                                                           *
-// * Returns: PrivStatus                                                       *
+// * Returns: status
 // *                                                                           *
-// *   0: Schema as added                                                      *
+// *   0: Schema was added                                                      *
 // *  -1: Schema was not added.  A CLI error is put into the diags area.       *
 // *                                                                           *
 // *****************************************************************************
@@ -207,7 +207,6 @@ Int32 cliRC = cliInterface.executeImmediate(buf);
 }
 //******************* End of CmpSeabaseDDL::addSchemaObject ********************
 
-
 // *****************************************************************************
 // *                                                                           *
 // * Function: CmpSeabaseDDL::createSeabaseSchema                              *
@@ -230,39 +229,38 @@ void CmpSeabaseDDL::createSeabaseSchema(
    NAString             & currentCatalogName)
    
 {
-
-ComSchemaName schemaName (createSchemaNode->getSchemaName());
+   ComSchemaName schemaName (createSchemaNode->getSchemaName());
   
    if (schemaName.getCatalogNamePart().isEmpty())
       schemaName.setCatalogNamePart(currentCatalogName);  
   
-NAString catName = schemaName.getCatalogNamePartAsAnsiString();
-ComAnsiNamePart schNameAsComAnsi = schemaName.getSchemaNamePart();
-NAString schName = schNameAsComAnsi.getInternalName();
-
-ExeCliInterface cliInterface(STMTHEAP, NULL, NULL,
-CmpCommon::context()->sqlSession()->getParentQid());
-ComSchemaClass schemaClass;
-Int32 objectOwner = NA_UserIdDefault;
-Int32 schemaOwner = NA_UserIdDefault;
-
-int32_t retCode = verifyDDLCreateOperationAuthorized(&cliInterface,
-                                                     SQLOperation::CREATE_SCHEMA,
-                                                     catName,
-                                                     schName,
-                                                     schemaClass,
-                                                     objectOwner,
-                                                     schemaOwner);
+   NAString catName = schemaName.getCatalogNamePartAsAnsiString();
+   ComAnsiNamePart schNameAsComAnsi = schemaName.getSchemaNamePart();
+   NAString schName = schNameAsComAnsi.getInternalName();
+
+   ExeCliInterface cliInterface(STMTHEAP, NULL, NULL,
+   CmpCommon::context()->sqlSession()->getParentQid());
+   ComSchemaClass schemaClass;
+   Int32 objectOwner = NA_UserIdDefault;
+   Int32 schemaOwner = NA_UserIdDefault;
+
+   int32_t retCode = verifyDDLCreateOperationAuthorized(&cliInterface,
+                                                        SQLOperation::CREATE_SCHEMA,
+                                                        catName,
+                                                        schName,
+                                                        schemaClass,
+                                                        objectOwner,
+                                                        schemaOwner);
    if (retCode != 0)
    {
       handleDDLCreateAuthorizationError(retCode,catName,schName);
       return;
    }
    
-Int32 schemaOwnerID = NA_UserIdDefault; 
+   Int32 schemaOwnerID = NA_UserIdDefault; 
 
-// If the AUTHORIZATION clause was not specified, the current user becomes
-// the schema owner. 
+   // If the AUTHORIZATION clause was not specified, the current user becomes
+   // the schema owner. 
 
    if (createSchemaNode->getAuthorizationID().isNull())
       schemaOwnerID = ComUser::getCurrentUser();
@@ -275,11 +273,27 @@ Int32 schemaOwnerID = NA_UserIdDefault;
          return;
       }
    
-   addSchemaObject(cliInterface,
-                   schemaName,
-                   createSchemaNode->getSchemaClass(),
-                   schemaOwnerID,
-                   createSchemaNode->createIfNotExists());
+   if (addSchemaObject(cliInterface,
+                       schemaName,
+                       createSchemaNode->getSchemaClass(),
+                       schemaOwnerID,
+                       createSchemaNode->createIfNotExists()))
+     return;
+
+   // Create histogram tables for schema, if the schema is not volatile and 
+   // not reserved
+   NAString tableNotCreated;
+
+   if (!createSchemaNode->isVolatile() && !ComIsTrafodionReservedSchemaName(schName))
+   {
+      if (createHistogramTables(&cliInterface, schemaName.getExternalName(), 
+                                FALSE, tableNotCreated))
+      {
+         *CmpCommon::diags() << DgSqlCode(-CAT_HISTOGRAM_TABLE_NOT_CREATED)
+                             << DgTableName(tableNotCreated.data());
+         return;
+      }
+   }
 
 }
 //***************** End of CmpSeabaseDDL::createSeabaseSchema ******************
@@ -408,49 +422,56 @@ Int16 status = ComUser::getAuthNameFromAuthID(objectOwner,username,
 void CmpSeabaseDDL::dropSeabaseSchema(StmtDDLDropSchema * dropSchemaNode)
    
 {
+   Lng32 cliRC = 0;
 
-Lng32 cliRC = 0;
+   ComSchemaName schemaName(dropSchemaNode->getSchemaName());
+   NAString catName = schemaName.getCatalogNamePartAsAnsiString();
+   ComAnsiNamePart schNameAsComAnsi = schemaName.getSchemaNamePart();
+   NAString schName = schNameAsComAnsi.getInternalName();
+   ComObjectName objName(catName,schName,NAString("dummy"),COM_TABLE_NAME,TRUE);
 
-ComSchemaName schemaName(dropSchemaNode->getSchemaName());
-NAString catName = schemaName.getCatalogNamePartAsAnsiString();
-ComAnsiNamePart schNameAsComAnsi = schemaName.getSchemaNamePart();
-NAString schName = schNameAsComAnsi.getInternalName();
+   ExeCliInterface cliInterface(STMTHEAP, NULL, NULL, 
+                                CmpCommon::context()->sqlSession()->getParentQid());
+   Int32 objectOwnerID = 0;
+   Int32 schemaOwnerID = 0;
+   ComObjectType objectType;
 
-ExeCliInterface cliInterface(STMTHEAP, NULL, NULL, 
-CmpCommon::context()->sqlSession()->getParentQid());
-Int32 objectOwnerID = 0;
-Int32 schemaOwnerID = 0;
-ComObjectType objectType;
+   bool isVolatile = (memcmp(schName.data(),"VOLATILE_SCHEMA",strlen("VOLATILE_SCHEMA")) == 0);
+   int32_t length = 0;
+   int32_t rowCount = 0;
+   bool someObjectsCouldNotBeDropped = false;
+   Queue * objectsQueue = NULL;
+
+   NABoolean dirtiedMetadata = FALSE;
 
    Int64 schemaUID = getObjectTypeandOwner(&cliInterface,catName.data(),schName.data(),
-                             SEABASE_SCHEMA_OBJECTNAME,objectType,schemaOwnerID);
+                               SEABASE_SCHEMA_OBJECTNAME,objectType,schemaOwnerID);
    
    // if schemaUID == -1, then either the schema does not exist or an unexpected error occurred
    if (schemaUID == -1)
    {
       // If an error occurred, return
       if (CmpCommon::diags()->getNumber(DgSqlCode::ERROR_) > 0)
-        return;
+          goto label_error;
  
       // schema does not exist and IF EXISTS specified, then ignore and continue
       if (dropSchemaNode->dropIfExists())
-        return;
+        goto label_error;
 
       // A Trafodion schema does not exist if the schema object row is not
       // present: CATALOG-NAME.SCHEMA-NAME.__SCHEMA__.
       *CmpCommon::diags() << DgSqlCode(-CAT_SCHEMA_DOES_NOT_EXIST_ERROR)
                           << DgSchemaName(schemaName.getExternalName().data());
-      return;
+      goto label_error;
    }
 
    if (!isDDLOperationAuthorized(SQLOperation::DROP_SCHEMA,
                                  schemaOwnerID,schemaOwnerID))
    {
       *CmpCommon::diags() << DgSqlCode(-CAT_NOT_AUTHORIZED);
-      return;
+      goto label_error;
    }
  
-ComObjectName objName(catName,schName,NAString("dummy"),COM_TABLE_NAME,TRUE);
 
    if ((isSeabaseReservedSchema(objName) ||
         (schName == SEABASE_SYSTEM_SCHEMA)) &&
@@ -458,132 +479,159 @@ ComObjectName objName(catName,schName,NAString("dummy"),COM_TABLE_NAME,TRUE);
    {
       *CmpCommon::diags() << DgSqlCode(-CAT_USER_CANNOT_DROP_SMD_SCHEMA)
                           << DgSchemaName(schemaName.getExternalName().data());
-      return;
+      goto label_error;
    }
-   
-bool isVolatile = (memcmp(schName.data(),"VOLATILE_SCHEMA",strlen("VOLATILE_SCHEMA")) == 0);
 
-// Can't drop a schema whose name begins with VOLATILE_SCHEMA unless the 
-// keyword VOLATILE was specified in the DROP SCHEMA command. 
+   // Can't drop a schema whose name begins with VOLATILE_SCHEMA unless the 
+   // keyword VOLATILE was specified in the DROP SCHEMA command. 
    if (isVolatile && !dropSchemaNode->isVolatile())
    {
       *CmpCommon::diags() << DgSqlCode(-CAT_RESERVED_METADATA_SCHEMA_NAME)
                           << DgTableName(schName);
-      return;
+      goto label_error;
    }
 
-// Get a list of all objects in the schema, excluding the schema object itself.
-char query[4000];
+   // Get a list of all objects in the schema, excluding the schema object itself.
+   char query[4000];
 
+   // select objects in the schema to drop, don't return PRIMARY_KEY_CONSTRAINTS,
+   // they always get removed when the parent table is dropped.
    str_sprintf(query,"SELECT TRIM(object_name), TRIM(object_type) "
                      "FROM %s.\"%s\".%s "
                      "WHERE catalog_name = '%s' AND schema_name = '%s' AND "
-                     "object_name <> '"SEABASE_SCHEMA_OBJECTNAME"'" 
+                     "object_name <> '"SEABASE_SCHEMA_OBJECTNAME"' AND "
+                     "object_type <> 'PK' "
                      "FOR READ COMMITTED ACCESS",
                getSystemCatalog(),SEABASE_MD_SCHEMA,SEABASE_OBJECTS,
                (char*)catName.data(),(char*)schName.data());
   
-Queue * objectsQueue = NULL;
-
    cliRC = cliInterface.fetchAllRows(objectsQueue, query, 0, FALSE, FALSE, TRUE);
    if (cliRC < 0)
    {
       cliInterface.retrieveSQLDiagnostics(CmpCommon::diags());
-      return;
+      goto label_error;
    }
 
-   objectsQueue->position();
-   if ((dropSchemaNode->getDropBehavior() == COM_RESTRICT_DROP_BEHAVIOR) &&
-       (objectsQueue->numEntries() > 0))
+   // Check to see if non histogram objects exist in schema, if so, then 
+   // cascade is required
+   if (dropSchemaNode->getDropBehavior() == COM_RESTRICT_DROP_BEHAVIOR)
    {
-      OutputInfo * oi = (OutputInfo*)objectsQueue->getCurr(); 
+     objectsQueue->position();
+     for (size_t i = 0; i < objectsQueue->numEntries(); i++)
+     {
+       OutputInfo * vi = (OutputInfo*)objectsQueue->getNext(); 
+       NAString objName = vi->get(0);
+
+       if (!isHistogramTable(objName))
+       {
+          OutputInfo * oi = (OutputInfo*)objectsQueue->getCurr(); 
       
-      *CmpCommon::diags() << DgSqlCode(-CAT_SCHEMA_IS_NOT_EMPTY)
-                          << DgTableName(oi->get(0));
-      return;
+          *CmpCommon::diags() << DgSqlCode(-CAT_SCHEMA_IS_NOT_EMPTY)
+                              << DgTableName(objName.data());
+          goto label_error;
+       }
+     }
    }
 
-bool someObjectsCouldNotBeDropped = false;
-
-// Drop libraries, procedures (SPJs), UDFs (functions), and views 
+   // Drop histogram tables first
    objectsQueue->position();
-   for (int idx = 0; idx < objectsQueue->numEntries(); idx++)
+   for (size_t i = 0; i < objectsQueue->numEntries(); i++)
    {
-      OutputInfo * vi = (OutputInfo*)objectsQueue->getNext(); 
+     OutputInfo * vi = (OutputInfo*)objectsQueue->getNext(); 
+     NAString objName = vi->get(0);
+
+     if (isHistogramTable(objName))
+     {
+       dirtiedMetadata = TRUE;
+       if (dropOneTable(cliInterface,(char*)catName.data(),
+                        (char*)schName.data(),(char*)objName.data(),
+                         isVolatile))
+          someObjectsCouldNotBeDropped = true;
+     }
+   }
 
-      char * objName = vi->get(0);
-      NAString objectTypeLit = vi->get(1);
-      ComObjectType objectType = PrivMgr::ObjectLitToEnum(objectTypeLit.data());
-      char buf[1000];
-      NAString objectTypeString;
-      NAString cascade = " ";
+   // Drop libraries, procedures (SPJs), UDFs (functions), and views 
+    objectsQueue->position();
+    for (int idx = 0; idx < objectsQueue->numEntries(); idx++)
+    {
+       OutputInfo * vi = (OutputInfo*)objectsQueue->getNext(); 
+
+       char * objName = vi->get(0);
+       NAString objectTypeLit = vi->get(1);
+       ComObjectType objectType = PrivMgr::ObjectLitToEnum(objectTypeLit.data());
+       char buf[1000];
+       NAString objectTypeString;
+       NAString cascade = " ";
       
-      switch (objectType)
-      {
-         // These object types are handled later and can be ignored for now.
-         case COM_BASE_TABLE_OBJECT:
-         case COM_INDEX_OBJECT:
-         case COM_CHECK_CONSTRAINT_OBJECT:
-         case COM_NOT_NULL_CONSTRAINT_OBJECT:
-         case COM_PRIMARY_KEY_CONSTRAINT_OBJECT:
-         case COM_REFERENTIAL_CONSTRAINT_OBJECT:
-         case COM_SEQUENCE_GENERATOR_OBJECT:
-         case COM_UNIQUE_CONSTRAINT_OBJECT:
-         {
-            continue;
-         }
-         case COM_LIBRARY_OBJECT:
-         {
-            objectTypeString = "LIBRARY";
-            cascade = "CASCADE";
-            break;
-         }
-         case COM_STORED_PROCEDURE_OBJECT:
-         {
-            objectTypeString = "PROCEDURE";
-            break;
-         }
-         case COM_USER_DEFINED_ROUTINE_OBJECT:
-         {
-            objectTypeString = "FUNCTION";
-            cascade = "CASCADE";
-            break;
-         }
-         case COM_VIEW_OBJECT:
-         {
-            objectTypeString = "VIEW";
-            cascade = "CASCADE";
-            break;
-         }
-         // These object types should not be seen.
-         case COM_MV_OBJECT: 
-         case COM_MVRG_OBJECT:    
-         case COM_TRIGGER_OBJECT:
-         case COM_LOB_TABLE_OBJECT:
-         case COM_TRIGGER_TABLE_OBJECT:
-         case COM_SYNONYM_OBJECT:
-         case COM_PRIVATE_SCHEMA_OBJECT:
-         case COM_SHARED_SCHEMA_OBJECT:
-         case COM_EXCEPTION_TABLE_OBJECT:
-         case COM_LOCK_OBJECT:
-         case COM_MODULE_OBJECT:
-         default:
-            SEABASEDDL_INTERNAL_ERROR("Unrecognized object type in schema");
-            return;
-      }
+       switch (objectType)
+       {
+          // These object types are handled later and can be ignored for now.
+          case COM_BASE_TABLE_OBJECT:
+          case COM_INDEX_OBJECT:
+          case COM_CHECK_CONSTRAINT_OBJECT:
+          case COM_NOT_NULL_CONSTRAINT_OBJECT:
+          case COM_REFERENTIAL_CONSTRAINT_OBJECT:
+          case COM_SEQUENCE_GENERATOR_OBJECT:
+          case COM_UNIQUE_CONSTRAINT_OBJECT:
+          {
+             continue;
+          }
+          case COM_LIBRARY_OBJECT:
+          {
+             objectTypeString = "LIBRARY";
+             cascade = "CASCADE";
+             break;
+          }
+
+          // If the library where procedures and functions reside is dropped
+          // before its procedures and routines, then these objects may
+          // not exist anymore, use the IF EXISTS to prevent the drop from
+          // incurring errors.
+          case COM_STORED_PROCEDURE_OBJECT:
+          {
+             objectTypeString = "PROCEDURE IF EXISTS ";
+             break;
+          }
+          case COM_USER_DEFINED_ROUTINE_OBJECT:
+          {
+             objectTypeString = "FUNCTION IF EXISTS ";
+             cascade = "CASCADE";
+             break;
+          }
+          case COM_VIEW_OBJECT:
+          {
+             objectTypeString = "VIEW";
+             cascade = "CASCADE";
+             break;
+          }
+          // These object types should not be seen.
+          case COM_MV_OBJECT: 
+          case COM_MVRG_OBJECT:    
+          case COM_TRIGGER_OBJECT:
+          case COM_LOB_TABLE_OBJECT:
+          case COM_TRIGGER_TABLE_OBJECT:
+          case COM_SYNONYM_OBJECT:
+          case COM_PRIVATE_SCHEMA_OBJECT:
+          case COM_SHARED_SCHEMA_OBJECT:
+          case COM_EXCEPTION_TABLE_OBJECT:
+          case COM_LOCK_OBJECT:
+          case COM_MODULE_OBJECT:
+          default:
+             SEABASEDDL_INTERNAL_ERROR("Unrecognized object type in schema");
+             goto label_error;
+       }
          
-      str_sprintf(buf, "drop %s \"%s\".\"%s\".\"%s\" %s",
-                  objectTypeString.data(),(char*)catName.data(),(char*)schName.data(), 
-                  objName,cascade.data());
+       dirtiedMetadata =  TRUE;
+       str_sprintf(buf, "drop %s \"%s\".\"%s\".\"%s\" %s",
+                   objectTypeString.data(),(char*)catName.data(),(char*)schName.data(), 
+                   objName,cascade.data());
          
-      cliRC = cliInterface.executeImmediate(buf);
-      if (cliRC < 0 && cliRC != -CAT_OBJECT_DOES_NOT_EXIST_IN_TRAFODION)
-         someObjectsCouldNotBeDropped = true;
+       cliRC = cliInterface.executeImmediate(buf);
+       if (cliRC < 0 && cliRC != -CAT_OBJECT_DOES_NOT_EXIST_IN_TRAFODION)
+          someObjectsCouldNotBeDropped = true;
    } 
 
-// Drop all tables in the schema.  This will also drop any associated constraints. 
-// Drop of histogram tables is deferred.
-bool histExists = false;
+   // Drop all tables in the schema.  This will also drop any associated constraints. 
 
    objectsQueue->position();
    for (int idx = 0; idx < objectsQueue->numEntries(); idx++)
@@ -596,35 +644,35 @@ bool histExists = false;
       // drop user objects first
       if (objType == COM_BASE_TABLE_OBJECT_LIT)
       {
-         if (!(objName == HBASE_HIST_NAME || objName == HBASE_HISTINT_NAME))
+         // histogram tables have already been dropped
+         if (!isHistogramTable(objName))
          {
+            dirtiedMetadata = TRUE;
             if (dropOneTable(cliInterface,(char*)catName.data(), 
                              (char*)schName.data(),(char*)objName.data(),
                              isVolatile))
                someObjectsCouldNotBeDropped = true;
          }
-         else
-            histExists = true;
       } 
    } 
-
-// Drop any remaining indexes.
+ 
+   // Drop any remaining indexes.
 
    str_sprintf(query,"SELECT TRIM(object_name), TRIM(object_type) "
-                     "FROM %s.\"%s\".%s "
-                     "WHERE catalog_name = '%s' AND "
-                     "      schema_name = '%s' AND "
-                     "      object_type = '%s' "
-                     "FOR READ COMMITTED ACCESS ",
-               getSystemCatalog(),SEABASE_MD_SCHEMA,SEABASE_OBJECTS,
-               (char*)catName.data(),(char*)schName.data(), 
-               COM_INDEX_OBJECT_LIT);
+                       "FROM %s.\"%s\".%s "
+                       "WHERE catalog_name = '%s' AND "
+                       "      schema_name = '%s' AND "
+                       "      object_type = '%s' "
+                       "FOR READ COMMITTED ACCESS ",
+                 getSystemCatalog(),SEABASE_MD_SCHEMA,SEABASE_OBJECTS,
+                 (char*)catName.data(),(char*)schName.data(), 
+                 COM_INDEX_OBJECT_LIT);
    
    cliRC = cliInterface.fetchAllRows(objectsQueue,query,0,FALSE,FALSE,TRUE);
    if (cliRC < 0)
    {
       cliInterface.retrieveSQLDiagnostics(CmpCommon::diags());
-      return;
+      goto label_error;
    }
 
    objectsQueue->position();
@@ -634,11 +682,12 @@ bool histExists = false;
 
       char * objName = vi->get(0);
       NAString objType = vi->get(1);
-    
+   
       if (objType == COM_INDEX_OBJECT_LIT)
       {
          char buf [1000];
 
+         dirtiedMetadata = TRUE;
          str_sprintf(buf, "DROP INDEX \"%s\".\"%s\".\"%s\" CASCADE",
                      (char*)catName.data(), (char*)schName.data(), objName);
          cliRC = cliInterface.executeImmediate(buf);
@@ -648,7 +697,7 @@ bool histExists = false;
       }  
    }  
 
-// Drop any remaining sequences.
+   // Drop any remaining sequences.
 
    str_sprintf(query,"SELECT TRIM(object_name), TRIM(object_type) "
                      "FROM %s.\"%s\".%s "
@@ -659,12 +708,12 @@ bool histExists = false;
                getSystemCatalog(),SEABASE_MD_SCHEMA,SEABASE_OBJECTS,
                (char*)catName.data(),(char*)schName.data(), 
                COM_SEQUENCE_GENERATOR_OBJECT_LIT);
-   
+  
    cliRC = cliInterface.fetchAllRows(objectsQueue,query,0,FALSE,FALSE,TRUE);
    if (cliRC < 0)
    {
       cliInterface.retrieveSQLDiagnostics(CmpCommon::diags());
-      return;
+      goto label_error;
    }
 
    objectsQueue->position();
@@ -679,6 +728,7 @@ bool histExists = false;
       {
          char buf [1000];
 
+         dirtiedMetadata = TRUE;
          str_sprintf(buf, "DROP SEQUENCE \"%s\".\"%s\".\"%s\"",
                      (char*)catName.data(), (char*)schName.data(), objName);
          cliRC = cliInterface.executeImmediate(buf);
@@ -688,33 +738,12 @@ bool histExists = false;
       }  
    }  
 
-// For volatile schemas, sometimes only the objects get dropped.    
-// If the dropObjectsOnly flag is set, just exit now, we are done.
+   // For volatile schemas, sometimes only the objects get dropped.    
+   // If the dropObjectsOnly flag is set, just exit now, we are done.
    if (dropSchemaNode->dropObjectsOnly())
       return;
 
-// Now drop any histogram objects
-   if (histExists)
-   {
-      if (dropOneTable(cliInterface,(char*)catName.data(),(char*)schName.data(), 
-                      (char*)HBASE_HISTINT_NAME,false))
-         someObjectsCouldNotBeDropped = true;
-      
-      if (dropOneTable(cliInterface,(char*)catName.data(),(char*)schName.data(), 
-                       (char*)HBASE_HIST_NAME,false))
-         someObjectsCouldNotBeDropped = true;
-   }
-
-   if (someObjectsCouldNotBeDropped)
-   {
-      CmpCommon::diags()->clear();
-      
-      *CmpCommon::diags() << DgSqlCode(-CAT_UNABLE_TO_DROP_SCHEMA)
-                          << DgSchemaName(catName + "." + schName);
-      return;
-   }
-   
-// Verify all objects in the schema have been dropped.   
+   // Verify all objects in the schema have been dropped.   
    str_sprintf(query,"SELECT COUNT(*) "
                      "FROM %s.\"%s\".%s "
                      "WHERE catalog_name = '%s' AND schema_name = '%s' AND "
@@ -723,15 +752,12 @@ bool histExists = false;
                getSystemCatalog(),SEABASE_MD_SCHEMA,SEABASE_OBJECTS,
                (char*)catName.data(),(char*)schName.data());
                
-int32_t length = 0;
-int32_t rowCount = 0;
-
    cliRC = cliInterface.executeImmediate(query,(char*)&rowCount,&length,NULL);
   
    if (cliRC < 0)
    {
       cliInterface.retrieveSQLDiagnostics(CmpCommon::diags());
-      return;
+      goto label_error;
    }
    
    if (rowCount > 0)
@@ -740,23 +766,42 @@ int32_t rowCount = 0;
       
       *CmpCommon::diags() << DgSqlCode(-CAT_UNABLE_TO_DROP_SCHEMA)
                           << DgSchemaName(catName + "." + schName);
-      return;
+      goto label_error;
    }
-   
-// After all objects in the schema have been dropped, drop the schema object itself.
+ 
+   // After all objects in the schema have been dropped, drop the schema object itself.
     
-char buf [1000];
+   char buf [1000];
 
+   dirtiedMetadata = TRUE;
    str_sprintf(buf,"DELETE FROM %s.\"%s\".%s "
                    "WHERE CATALOG_NAME = '%s' AND SCHEMA_NAME = '%s' AND " 
                    "OBJECT_NAME = '"SEABASE_SCHEMA_OBJECTNAME"'",
                getSystemCatalog(),SEABASE_MD_SCHEMA,SEABASE_OBJECTS,
                (char*)catName.data(),(char*)schName.data());
    cliRC = cliInterface.executeImmediate(buf);
-   if (cliRC < 0) 
+   if (cliRC < 0 && cliRC != -CAT_OBJECT_DOES_NOT_EXIST_IN_TRAFODION) 
+   {
       *CmpCommon::diags() << DgSqlCode(-CAT_UNABLE_TO_DROP_SCHEMA)
                           << DgSchemaName(catName + "." + schName);
+      goto label_error;
+   }
+  
+  // Everything succeeded, return
+  return;
     
+label_error:
+  // If metadata has not been changed, just return
+  if (!dirtiedMetadata)
+  {
+    return;
+  }
+   
+  // Add an error asking for user to cleanup schema
+  *CmpCommon::diags() << DgSqlCode(-CAT_ATTEMPT_CLEANUP_SCHEMA)
+                      << DgSchemaName(catName + "." + schName);
+
+  return;
 }
 //****************** End of CmpSeabaseDDL::dropSeabaseSchema *******************
 
@@ -968,6 +1013,104 @@ int32_t rowCount = 0;
 
 // *****************************************************************************
 // *                                                                           *
+// * Function: createHistogramTables                                           *
+// *                                                                           *
+// *    Creates all the histogram tables                                       *
+// *                                                                           *
+// *****************************************************************************
+// *                                                                           *
+// *  Parameters:                                                              *
+// *                                                                           *
+// *  <cliInterface>                  ExeCliInterface *               In       *
+// *    is a reference to an Executor CLI interface handle.                    *
+// *                                                                           *
+// *  <schemaName>                    NAString &                      In       *
+// *    is the catalog.schema of the histogram table to create.                *
+// *                                                                           *
+// *  <ignoreIfExists>                NABoolean                       In       *
+// *    do not return an error if table already exists                         *
+// *                                                                           *
+// *  <tableNotCreeated>              NAString &                      Out      *
+// *    returns the name of first histogram table that could not be created    *
+// *                                                                           *
+// *****************************************************************************
+// *                                                                           *
+// * Returns: Int32                                                            *
+// *                                                                           *
+// * -mainSQLCODE: Could not create histogram tables.                          *
+// *            0: Create was successful.                                      *
+// *                                                                           *
+// *****************************************************************************
+short CmpSeabaseDDL::createHistogramTables(
+  ExeCliInterface *cliInterface,
+  const NAString &schemaName,
+  const NABoolean ignoreIfExists,
+  NAString &tableNotCreated)
+{
+   Int32 cliRC = 0;
+   tableNotCreated = "";
+
+   // allMDHistInfo (CmpSeabaseDDLmd.h) is the list of all histogram tables,
+   // MDTableInfo describes the table attributes,
+   // create each table found in the list
+   Int32 numHistTables = sizeof(allMDHistInfo) / sizeof(MDTableInfo);
+   NAString prefixText = ignoreIfExists ? "IF NOT EXISTS " : "";
+   for (Int32 i = 0; i < numHistTables; i++)
+   {
+      const MDTableInfo &mdh = allMDHistInfo[i];
+      Int32 qryArraySize = mdh.sizeOfnewDDL / sizeof(QString);
+
+      // Concatenate the create table text into a single string
+      NAString concatenatedQuery;
+      for (Int32 j = 0; j < qryArraySize; j++)
+      {
+         NAString tempStr = mdh.newDDL[j].str;
+         concatenatedQuery += tempStr.strip(NAString::leading, ' ');
+      }
+
+      // qualify create table text with (optional) "IF NOT EXISTS" & schema name
+      // and place in front of the table name:
+      //     "create table <textInsertion> hist-table ..."
+      std::string tableDDL (concatenatedQuery.data());
+      NAString textInsertion = prefixText + schemaName + ".";
+      size_t pos = tableDDL.find_first_of(mdh.newName);
+      if (pos == string::npos)
+      {
+        NAString errorText ("Unexpected error occurred while parsing create text for histogram table ");
+        errorText += mdh.newName;
+        SEABASEDDL_INTERNAL_ERROR(errorText.data());
+        tableNotCreated = mdh.newName;
+        return -CAT_INTERNAL_EXCEPTION_ERROR;
+      }
+      tableDDL = tableDDL.insert(pos, textInsertion.data());
+
+      // If the caller does not send in cliInterface, instantiate one now
+      ExeCliInterface cli; 
+      if (cliInterface == NULL)
+      {
+         ExeCliInterface newCli(STMTHEAP, NULL, NULL,
+            CmpCommon::context()->sqlSession()->getParentQid());
+         cli = newCli;
+      }
+      else
+         cli = *cliInterface;
+
+      // Create the table
+      cliRC = cli.executeImmediate(tableDDL.c_str());
+      if (cliRC < 0)
+      {
+        cli.retrieveSQLDiagnostics(CmpCommon::diags());
+        tableNotCreated = mdh.newName;
+        return cliRC;
+      }
+   }
+   return 0;
+}
+//************************ End of createHistogramTables ************************
+
+
+// *****************************************************************************
+// *                                                                           *
 // * Function: dropOneTable                                                    *
 // *                                                                           *
 // *    Drops a table and all its dependent objects.                           *

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/ustat/hs_cli.cpp
----------------------------------------------------------------------
diff --git a/core/sql/ustat/hs_cli.cpp b/core/sql/ustat/hs_cli.cpp
index 2a2cfce..7af4584 100644
--- a/core/sql/ustat/hs_cli.cpp
+++ b/core/sql/ustat/hs_cli.cpp
@@ -69,6 +69,7 @@
 #include "NLSConversion.h"
 #include "SqlciError.h"
 #include "ExpErrorEnums.h"
+#include "CmpSeabaseDDL.h" // call to createHistogramTables
 
 // -----------------------------------------------------------------------
 // Class to deallocate statement and descriptor.
@@ -412,125 +413,40 @@ Lng32 HSClearCLIDiagnostics()
 }
 
 // -----------------------------------------------------------------------
-// Create SB_Histograms and SB_Histogram_Intervals tables if they
-// don't already exist.
+// Create histogram tables if they don't exist.
 // -----------------------------------------------------------------------
-Lng32 CreateSeabaseHist(const HSGlobalsClass* hsGlobal)
+Lng32 CreateHistTables (const HSGlobalsClass* hsGlobal)
   {
+    Lng32 retcode = 0;
+
     HSLogMan *LM = HSLogMan::Instance();
     if (LM->LogNeeded())
       {
-        snprintf(LM->msg, sizeof(LM->msg), "Creating %s table for schema %s on demand.",
-                         HBASE_HIST_NAME, hsGlobal->catSch->data());
-        LM->Log(LM->msg);
-      }
-
-    NAString ddl = "CREATE TABLE IF NOT EXISTS ";
-    ddl.append(hsGlobal->hstogram_table->data())
-       .append(" (  TABLE_UID      LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , HISTOGRAM_ID   INT UNSIGNED NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , COL_POSITION   INT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , COLUMN_NUMBER  INT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , COLCOUNT       INT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , INTERVAL_COUNT SMALLINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , ROWCOUNT       LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , TOTAL_UEC      LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , STATS_TIME     TIMESTAMP(0) NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , LOW_VALUE      VARCHAR(250) CHARACTER SET UCS2 COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , HIGH_VALUE     VARCHAR(250) CHARACTER SET UCS2 COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , READ_TIME      TIMESTAMP(0) NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , READ_COUNT     SMALLINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , SAMPLE_SECS    LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , COL_SECS       LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , SAMPLE_PERCENT SMALLINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , CV             FLOAT(54) NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , REASON         CHAR(1) CHARACTER SET ISO88591 COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , V1             LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , V2             LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , V3             LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , V4             LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , V5             VARCHAR(250) CHARACTER SET UCS2 COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , V6             VARCHAR(250) CHARACTER SET UCS2 COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-              "  , constraint "HBASE_HIST_PK" primary key"
-                "  (TABLE_UID ASC, HISTOGRAM_ID ASC, COL_POSITION ASC)"
-               " ); ");
-
-    LM->StartTimer("Create Trafodion HISTOGRAMS table");
-
-    Lng32 retcode = HSFuncExecDDL(ddl.data(), - UERR_INTERNAL_ERROR, NULL,
-                            "Create SeaBase histograms table", NULL);
-    LM->StopTimer();
-    if (retcode < 0 && LM->LogNeeded())
-      {
-        snprintf(LM->msg, sizeof(LM->msg), "Creation of %s failed.", HBASE_HIST_NAME);
+        snprintf(LM->msg, sizeof(LM->msg), "Creating histogram tables for schema %s on demand.",
+                         hsGlobal->catSch->data());
         LM->Log(LM->msg);
       }
 
-    return retcode;
-  }
+    // do NOT check volatile tables
+    if (hsGlobal->objDef->isVolatile()) return retcode;
 
-Lng32 CreateSeabaseHistint(const HSGlobalsClass* hsGlobal)
-  {
-    HSLogMan *LM = HSLogMan::Instance();
-    if (LM->LogNeeded())
-      {
-        snprintf(LM->msg, sizeof(LM->msg), "Creating %s table for schema %s on demand.",
-                         HBASE_HISTINT_NAME, hsGlobal->catSch->data());
-        LM->Log(LM->msg);
-      }
+    LM->StartTimer("Table creation");
+    NAString tableNotCreated;
 
-    NAString ddl = "CREATE TABLE IF NOT EXISTS ";
-    ddl.append(hsGlobal->hsintval_table->data())
-       .append(" (  TABLE_UID         LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , HISTOGRAM_ID      INT UNSIGNED NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , INTERVAL_NUMBER   SMALLINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , INTERVAL_ROWCOUNT LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , INTERVAL_UEC      LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , INTERVAL_BOUNDARY VARCHAR(250) CHARACTER SET UCS2 COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , STD_DEV_OF_FREQ   NUMERIC(12, 3) NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , V1                LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , V2                LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , V3                LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , V4                LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , V5                VARCHAR(250) CHARACTER SET UCS2 COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , V6                VARCHAR(250) CHARACTER SET UCS2 COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED"
-               "  , constraint "HBASE_HISTINT_PK" primary key"
-              "     (TABLE_UID ASC, HISTOGRAM_ID ASC, INTERVAL_NUMBER ASC)"
-               " ) ;");
-
-    LM->StartTimer("Create Trafodion HISTOGRAM_INTERVALS table");
-    Lng32 retcode = HSFuncExecDDL(ddl.data(), - UERR_INTERNAL_ERROR, NULL,
-                                    "Create SeaBase histogram intervals table", NULL);
-    LM->StopTimer();
+    // Call createHistogramTables to create any table that does not yet exist.
+    NAString histogramsLocation = getHistogramsTableLocation(hsGlobal->catSch->data(), FALSE);
+    retcode = (CmpSeabaseDDL::createHistogramTables(NULL, histogramsLocation, TRUE, tableNotCreated)); 
     if (retcode < 0 && LM->LogNeeded())
       {
-        snprintf(LM->msg, sizeof(LM->msg), "Creation of %s failed.", HBASE_HISTINT_NAME);
+        snprintf(LM->msg, sizeof(LM->msg), "Create failed for table %s.",
+                         tableNotCreated.data());
         LM->Log(LM->msg);
       }
+    LM->StopTimer();
 
-    return retcode;
-  }
-
-// -----------------------------------------------------------------------
-// Create histogram tables if they don't exist.
-// -----------------------------------------------------------------------
-Lng32 CreateHistTables (const HSGlobalsClass* hsGlobal)
-  {
-    Lng32 retcode = 0;
-
-    // do NOT check security for volatile tables
-    if (hsGlobal->objDef->isVolatile()) return retcode;
-
-    // Create HISTOGRAMS if is doesn't already exist
-    retcode = CreateSeabaseHist(hsGlobal);
     HSFilterWarning(retcode);
     HSHandleError(retcode);
-
-    // create the  HISTOGRAM_INTERVALS, if it doesn't already exist.
     hsGlobal->diagsArea.clear();
-    retcode = CreateSeabaseHistint(hsGlobal);
-    HSFilterWarning(retcode);
-    HSHandleError(retcode);
 
     return retcode;
  }


[3/5] incubator-trafodion git commit: TRAFODION-1789 & TRAFODION-1812

Posted by rm...@apache.org.
TRAFODION-1789 & TRAFODION-1812

TRAFODION-1789: Create the histogram metadata tables at schema creation time

Added a list of MDTableInfo structs called allMDHistInfo that describes
histogram tables similar to other metadata tables in CmpSeabaseDDLmd.h.
During schema create, this list is traversed and each histogram table created.
This is performed by calling the static function - createHistogramTables.
Similarily, this list is traversed at drop schema time to drop existing
histogram tables.  With this change, you can drop a schema without the
cascade option when only histogram tables remain.

In histogram code (hs_cli.cpp), removed hard coded create statements and
changed code to call the createHistogramTables static function.  With this
change, there is only one place where Histogram tables are defined.  Today,
histogram tables are defined in ../sqlcomp/CmpSeabaseDDLmd.h and
../ustat/hs_cli.cpp

TRAFODION-1812: cleanup schema causes transaction to hang in aborting state

While testing the fix for TRAFODION-1789, some of the regression tests failed.
There is an issue when trying to cleanup a schema that contains histogram
tables. Changes were made to cleanup histogram tables first and to avoid
deleting histogram entries for the histogram table itself.

Added IF EXISTS syntax to routine drops. Also added IF NOT EXISTS syntax to
routine creates. The DROP IF EXISTS was needed to fix an issue when dropping
routines as part of drop schema code.


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

Branch: refs/heads/master
Commit: a22f6853e07ebc917340dc08d2582f8147bae2b1
Parents: 3a1b73c
Author: Roberta Marton <ro...@apache.org>
Authored: Fri Feb 12 16:00:47 2016 +0000
Committer: Roberta Marton <ro...@apache.org>
Committed: Fri Feb 12 16:00:47 2016 +0000

----------------------------------------------------------------------
 core/sql/bin/SqlciErrors.txt              |   4 +-
 core/sql/optimizer/RelExeUtil.cpp         |   7 +
 core/sql/parser/SqlParserAux.cpp          |   4 +
 core/sql/parser/SqlParserAux.h            |   1 +
 core/sql/parser/StmtDDLCreateRoutine.h    |   4 +
 core/sql/parser/StmtDDLDropRoutine.h      |   5 +
 core/sql/parser/sqlparser.y               |  88 +++--
 core/sql/regress/hive/EXPECTED009         |   6 +-
 core/sql/regress/privs1/EXPECTED133       |  12 +-
 core/sql/regress/privs1/EXPECTED141       | Bin 92809 -> 113222 bytes
 core/sql/regress/privs2/EXPECTED138       |  84 +++-
 core/sql/regress/privs2/EXPECTED140       | 324 ++++++++-------
 core/sql/regress/privs2/TEST140           |   2 +-
 core/sql/regress/seabase/EXPECTED002      | 146 +++++--
 core/sql/regress/seabase/EXPECTED026      |  34 +-
 core/sql/regress/seabase/FILTER002        |   1 +
 core/sql/sqlcomp/CmpDDLCatErrorCodes.h    |   4 +-
 core/sql/sqlcomp/CmpSeabaseDDL.h          |   7 +
 core/sql/sqlcomp/CmpSeabaseDDLcleanup.cpp |  33 +-
 core/sql/sqlcomp/CmpSeabaseDDLmd.h        |  11 +
 core/sql/sqlcomp/CmpSeabaseDDLroutine.cpp |  10 +-
 core/sql/sqlcomp/CmpSeabaseDDLschema.cpp  | 521 ++++++++++++++++---------
 core/sql/ustat/hs_cli.cpp                 | 118 +-----
 23 files changed, 890 insertions(+), 536 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/bin/SqlciErrors.txt
----------------------------------------------------------------------
diff --git a/core/sql/bin/SqlciErrors.txt b/core/sql/bin/SqlciErrors.txt
index a08db70..163c677 100644
--- a/core/sql/bin/SqlciErrors.txt
+++ b/core/sql/bin/SqlciErrors.txt
@@ -57,7 +57,7 @@
 1055 ZZZZZ 99999 BEGINNER MINOR LOGONLY Object $0~TableName already exists.
 1056 ZZZZZ 99999 BEGINNER MAJOR DBADMIN Request: alter view $0~string0 compile failed. Prepare of the view's select statement encountered error  $1~Int1. 
 1057 ZZZZZ 99999 BEGINNER MAJOR DBADMIN SQL objects cannot be created on $0~String0: File system error $1~NSKCode.
-1058 ZZZZZ 99999 BEGINNER MAJOR DBADMIN Lock $0~TableName already exists.
+1058 ZZZZZ 99999 BEGINNER MAJOR DBADMIN Unable to create histogram table $0~TableName.
 1059 ZZZZZ 99999 BEGINNER MAJOR DBADMIN Request failed.  Dependent constraint $0~ConstraintName exists.
 1060 ZZZZZ 99999 BEGINNER MINOR DBADMIN Request failed. View $0~string0 is invalid. 
 1061 ZZZZZ 99999 BEGINNER MAJOR DBADMIN Dropping metadata catalog $0~CatalogName is not allowed.
@@ -72,7 +72,7 @@
 1070 ZZZZZ 99999 BEGINNER MAJOR DBADMIN Object $0~TableName could not be created. File error: $1~Int0.
 1071 ZZZZZ 99999 BEGINNER MAJOR DBADMIN Object $0~TableName could not be accessed. 
 1072 ZZZZZ 99999 BEGINNER MAJOR DBADMIN Unique constraint $0~String0 is disabled, so foreign key constraint $1~ConstraintName could not be created.
-1073 ZZZZZ 99999 BEGINNER MAJOR DBADMIN Only services ID can execute INITIALIZE SQL.
+1073 ZZZZZ 99999 BEGINNER MAJOR DBADMIN Schema $0~SchemaName was partially dropped, call CLEANUP SCHEMA to remove remaining entries.
 1074 ZZZZZ 99999 BEGINNER MAJOR DBADMIN Unable to create synonym: $0~String0, as part of re-compile for view $0~TableName.
 1075 ZZZZZ 99999 BEGINNER MAJOR DBADMIN The catalog must be empty.  It contains at least one schema $0~SchemaName.
 1076 ZZZZZ 99999 BEGINNER MAJOR DBADMIN Unable to grant privilege: $0~String0, as part of re-compile for view $0~TableName.

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/optimizer/RelExeUtil.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/RelExeUtil.cpp b/core/sql/optimizer/RelExeUtil.cpp
index 8bdde02..88fa66a 100644
--- a/core/sql/optimizer/RelExeUtil.cpp
+++ b/core/sql/optimizer/RelExeUtil.cpp
@@ -3940,6 +3940,13 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA)
 
       qualObjName_ = dropTableNode->getTableNameAsQualifiedName();
 
+      // Normally, when a drop table is executed and DDL transactions is not
+      // enabled, a user started transaction is not allow.  However, when a
+      // session ends, a call is made to drop a volatile table, this drop should
+      // succeed. Make this type of delete to allow transactions
+      if (dropTableNode->isVolatile())
+        hbaseDDLNoUserXn_ = TRUE;
+
       // Drops of Hive and HBase external tables are allowed 
       if (qualObjName_.isHive() || (qualObjName_.isHbase()))
         {

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/parser/SqlParserAux.cpp
----------------------------------------------------------------------
diff --git a/core/sql/parser/SqlParserAux.cpp b/core/sql/parser/SqlParserAux.cpp
index 94bbc85..6b2ac29 100644
--- a/core/sql/parser/SqlParserAux.cpp
+++ b/core/sql/parser/SqlParserAux.cpp
@@ -3180,6 +3180,7 @@ SqlParserAux_buildDropRoutine ( ComRoutineType  drop_routine_type_tokens  // in
                               , ComDropBehavior optional_drop_behavior    // in
                               , NABoolean       optional_validate         // in
                               , NAString      * optional_logfile          // in - deep copy
+                              , NABoolean       optional_if_exists        // in
                               )
 {
   // If CLEANUP, VALIDATE, or LOG option specified,
@@ -3230,6 +3231,9 @@ SqlParserAux_buildDropRoutine ( ComRoutineType  drop_routine_type_tokens  // in
     , pLogFile                       // in - NAString *      - shallow copy
     , PARSERHEAP()
     );
+
+  pNode99->castToStmtDDLDropRoutine()->setDropIfExists(optional_if_exists);
+
   // Do not delete pLogFile because we did a shallow copy
   return pNode99;
 }

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/parser/SqlParserAux.h
----------------------------------------------------------------------
diff --git a/core/sql/parser/SqlParserAux.h b/core/sql/parser/SqlParserAux.h
index d7ac3dd..f669785 100644
--- a/core/sql/parser/SqlParserAux.h
+++ b/core/sql/parser/SqlParserAux.h
@@ -859,6 +859,7 @@ SqlParserAux_buildDropRoutine ( ComRoutineType  drop_routine_type_tokens  // in
                               , ComDropBehavior optional_drop_behavior    // in
                               , NABoolean       optional_validate         // in
                               , NAString      * optional_logfile          // in - deep copy
+                              , NABoolean       optional_if_exists        // in
                               );
 
 ElemDDLNode *

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/parser/StmtDDLCreateRoutine.h
----------------------------------------------------------------------
diff --git a/core/sql/parser/StmtDDLCreateRoutine.h b/core/sql/parser/StmtDDLCreateRoutine.h
index 8eb287b..55a5976 100644
--- a/core/sql/parser/StmtDDLCreateRoutine.h
+++ b/core/sql/parser/StmtDDLCreateRoutine.h
@@ -178,6 +178,9 @@ public:
   inline ElemDDLNode * getPassThroughInputsParseTree(void);
   inline ElemDDLNode * getRoutineAttributesParseTree(void);
 
+  NABoolean createIfNotExists() { return createIfNotExists_; }
+  void setCreateIfNotExists(NABoolean v) { createIfNotExists_ = v; }
+
   //
   // mutators
   //
@@ -373,6 +376,7 @@ protected:
 
   ElemDDLGrantee      *pOwner_;
 
+  NABoolean           createIfNotExists_;
   //
   // pointers to child parse nodes
   //

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/parser/StmtDDLDropRoutine.h
----------------------------------------------------------------------
diff --git a/core/sql/parser/StmtDDLDropRoutine.h b/core/sql/parser/StmtDDLDropRoutine.h
index 673911a..5005b4c 100644
--- a/core/sql/parser/StmtDDLDropRoutine.h
+++ b/core/sql/parser/StmtDDLDropRoutine.h
@@ -90,6 +90,9 @@ public:
   inline const NABoolean isLogFileSpecified() const;
   inline const NAString & getLogFile() const;
 
+  const NABoolean dropIfExists() const { return dropIfExists_; }
+  void setDropIfExists(NABoolean v) { dropIfExists_ = v; }
+
   // for binding
   ExprNode * bindNode(BindWA *bindWAPtr);
 
@@ -108,6 +111,8 @@ private:
   NABoolean isCleanupSpec_;
   NABoolean isValidateSpec_;
   NAString  *pLogFile_;
+  NABoolean dropIfExists_;
+
 
 
 }; // class StmtDDLDropRoutine

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/parser/sqlparser.y
----------------------------------------------------------------------
diff --git a/core/sql/parser/sqlparser.y b/core/sql/parser/sqlparser.y
index b158446..4e8033d 100755
--- a/core/sql/parser/sqlparser.y
+++ b/core/sql/parser/sqlparser.y
@@ -2905,6 +2905,7 @@ static void enableMakeQuotedStringISO88591Mechanism()
 %type <boolean>   	       optional_validate_clause
 %type <extractType>            extract_type
 %type <boolean>                optional_if_not_exists_clause
+%type <boolean>                optional_if_exists_clause
 
 %type <uint>                    merge_stmt_start_tokens
 %type <relx>                   merge_stmt_using_clause
@@ -23458,7 +23459,7 @@ external_user_identifier : identifier
 
 /* type pStmtDDL */
 
-routine_definition : TOK_CREATE TOK_PROCEDURE ddl_qualified_name
+routine_definition : TOK_CREATE TOK_PROCEDURE optional_if_not_exists_clause ddl_qualified_name
                         routine_params_list_clause
                         optional_create_routine_attribute_list
                         optional_by_auth_identifier
@@ -23466,22 +23467,23 @@ routine_definition : TOK_CREATE TOK_PROCEDURE ddl_qualified_name
                                   QualifiedName noActionQualName(PARSERHEAP());
                                   StmtDDLCreateRoutine *pNode =
                                     new (PARSERHEAP()) StmtDDLCreateRoutine
-                                    ( *$3  // ddl_qualified_name of SPJs
+                                    ( *$4  // ddl_qualified_name of SPJs
                                     , noActionQualName
-                                    , $4   // ElemDDLNode *  routine_params_list_clause
+                                    , $5   // ElemDDLNode *  routine_params_list_clause
                                     , NULL // ElemDDLNode *  optional_routine_returns_clause
                                     , NULL // ElemDDLNode *  optional_passthrough_inputs_clause
-                                    , $5   // ElemDDLNode *  optional_create_routine_attribute_list
+                                    , $6   // ElemDDLNode *  optional_create_routine_attribute_list
                                     , COM_PROCEDURE_TYPE // ComRoutineType
                                     , PARSERHEAP()
                                     );
-                                  pNode->setOwner($6/*optional_by_auth_identifier*/);
+                                  pNode->setCreateIfNotExists($3);
+                                  pNode->setOwner($7/*optional_by_auth_identifier*/);
                                   pNode->synthesize();
                                   $$ = pNode;
-                                  delete $3;  // ddl_qualified_name of routine
+                                  delete $4;  // ddl_qualified_name of routine
                                 }
 
-  | TOK_CREATE create_scalar_function_tokens ddl_qualified_name
+  | TOK_CREATE create_scalar_function_tokens optional_if_not_exists_clause ddl_qualified_name
     routine_params_list_clause
     optional_routine_returns_clause
     optional_passthrough_inputs_clause
@@ -23490,21 +23492,23 @@ routine_definition : TOK_CREATE TOK_PROCEDURE ddl_qualified_name
       QualifiedName noActionQualName(PARSERHEAP());
       StmtDDLCreateRoutine *pNode =
         new (PARSERHEAP()) StmtDDLCreateRoutine
-        ( *$3 // ddl_qualified_name of scalar function
+        ( *$4 // ddl_qualified_name of scalar function
           , noActionQualName
-          , $4  // ElemDDLNode *  routine_params_list_clause
-          , $5  // ElemDDLNode *  optional_routine_returns_clause
-          , $6  // ElemDDLNode *  optional_passthrough_inputs_clause
-          , $7  // ElemDDLNode *  optional_create_function_attribute_list
+          , $5  // ElemDDLNode *  routine_params_list_clause
+          , $6  // ElemDDLNode *  optional_routine_returns_clause
+          , $7  // ElemDDLNode *  optional_passthrough_inputs_clause
+          , $8  // ElemDDLNode *  optional_create_function_attribute_list
           , COM_SCALAR_UDF_TYPE // ComRoutineType create_scalar_function_tokens
           , PARSERHEAP()
           );
+      pNode->setCreateIfNotExists($3); 
       pNode->synthesize();
       $$ = pNode;
-      delete $3;  // ddl_qualified_name of routine
+      delete $4;  // ddl_qualified_name of routine
     }
 
-  | TOK_CREATE table_mapping_function_tokens ddl_qualified_name
+  | TOK_CREATE table_mapping_function_tokens optional_if_not_exists_clause 
+    ddl_qualified_name
     routine_params_list_clause
     optional_routine_returns_clause
     optional_passthrough_inputs_clause
@@ -23514,41 +23518,44 @@ routine_definition : TOK_CREATE TOK_PROCEDURE ddl_qualified_name
       QualifiedName noActionQualName(PARSERHEAP());
       StmtDDLCreateRoutine *pNode =
         new (PARSERHEAP()) StmtDDLCreateRoutine
-        ( *$3 // ddl_qualified_name of scalar function
+        ( *$4 // ddl_qualified_name of scalar function
           , noActionQualName
-          , $4  // ElemDDLNode *  routine_params_list_clause
-          , $5  // ElemDDLNode *  optional_routine_returns_clause
-          , $6  // ElemDDLNode *  optional_passthrough_inputs_clause
-          , $7  // ElemDDLNode *  optional_create_function_attribute_list
+          , $5  // ElemDDLNode *  routine_params_list_clause
+          , $6  // ElemDDLNode *  optional_routine_returns_clause
+          , $7  // ElemDDLNode *  optional_passthrough_inputs_clause
+          , $8  // ElemDDLNode *  optional_create_function_attribute_list
           , COM_TABLE_UDF_TYPE // ComRoutineType table_mapping_function_tokens
           , PARSERHEAP()
           );
-      pNode->setOwner($8/*optional_by_auth_identifier*/);
+      pNode->setCreateIfNotExists($3);
+      pNode->setOwner($9/*optional_by_auth_identifier*/);
       pNode->synthesize();
       $$ = pNode;
-      delete $3;  // ddl_qualified_name of routine
+      delete $4;  // ddl_qualified_name of routine
     }
 
-  | TOK_CREATE universal_function_tokens ddl_qualified_name
+  | TOK_CREATE universal_function_tokens optional_if_not_exists_clause 
+    ddl_qualified_name
     universal_function_param_clause
     optional_create_function_attribute_list
     {
       QualifiedName noActionQualName(PARSERHEAP());
       StmtDDLCreateRoutine *pNode =
         new (PARSERHEAP()) StmtDDLCreateRoutine
-        ( *$3  // ddl_qualified_name of universal function
+        ( *$4  // ddl_qualified_name of universal function
           , noActionQualName
           , NULL // ElemDDLNode * optional_routine_params_list
           , NULL // ElemDDLNode * optional_routine_returns_clause
           , NULL // ElemDDLNode * optional_passthrough_inputs_clause
-          , $5   // ElemDDLNode * optional_create_function_attribute_list
+          , $6   // ElemDDLNode * optional_create_function_attribute_list
           , COM_UNIVERSAL_UDF_TYPE // ComRoutineType universal_function_tokens
           , PARSERHEAP()
           );
-      pNode->setUudfParamKindList($4); // universal_function_param_clause
+      pNode->setCreateIfNotExists($3);
+      pNode->setUudfParamKindList($5); // universal_function_param_clause
       pNode->synthesize();
       $$ = pNode;
-      delete $3;  // ddl_qualified_name of routine
+      delete $4;  // ddl_qualified_name of routine
     }
 
 /* type routineTypeEnum */
@@ -24753,6 +24760,17 @@ optional_if_not_exists_clause :
                     $$ = TRUE;
                   }
 
+/* type boolean */
+optional_if_exists_clause :
+          empty
+            {
+               $$ = FALSE;
+             }
+          | TOK_IF TOK_EXISTS
+             {
+               $$ = TRUE;
+             }
+
 
 create_table_as_attr_list_start: empty
 	           {
@@ -31882,20 +31900,22 @@ drop_routine_type_tokens : TOK_FUNCTION { $$ = COM_UNKNOWN_ROUTINE_TYPE; }
                          | TOK_PROCEDURE { $$ = COM_PROCEDURE_TYPE; }
 
 /* type pStmtDDL */
-drop_routine_statement : TOK_DROP drop_routine_type_tokens ddl_qualified_name
+drop_routine_statement : TOK_DROP drop_routine_type_tokens optional_if_exists_clause
+                         ddl_qualified_name
                          optional_cleanup  optional_drop_behavior
                          optional_validate optional_logfile
                 {
                   $$ = SqlParserAux_buildDropRoutine
                     ( $2  // in - ComRoutineType drop_routine_type_tokens
-                    , $3  // in - QualifiedName * ddl_qualified_name of routine - deep copy
-                    , $4  // in - NABoolean       optional_cleanup
-                    , $5  // in - ComDropBehavior optional_drop_behavior
-                    , $6  // in - NABoolean       optional_validate
-                    , $7  // in - NAString      * optional_logfile              - deep copy
+                    , $4  // in - QualifiedName * ddl_qualified_name of routine - deep copy
+                    , $5  // in - NABoolean       optional_cleanup
+                    , $6  // in - ComDropBehavior optional_drop_behavior
+                    , $7  // in - NABoolean       optional_validate
+                    , $8  // in - NAString      * optional_logfile              - deep copy
+                    , $3  // in - NABoolean       optional_if_exists_clause
                     );
-                  delete $3; // ddl_qualified_name of routine
-                  if ($7) delete $7; // optional_logfile
+                  delete $4; // ddl_qualified_name of routine
+                  if ($8) delete $8; // optional_logfile
                   if ($$ EQU NULL) { yyerror(""); YYERROR; } // Error: internal syntax only!
                 }
 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/regress/hive/EXPECTED009
----------------------------------------------------------------------
diff --git a/core/sql/regress/hive/EXPECTED009 b/core/sql/regress/hive/EXPECTED009
index 489dc77..0f4be9e 100644
--- a/core/sql/regress/hive/EXPECTED009
+++ b/core/sql/regress/hive/EXPECTED009
@@ -363,6 +363,8 @@ PROMOTION
 Tables in Schema TRAFODION.HIVE_T009
 ====================================
 
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
 T009T1
 
 --- SQL operation complete.
@@ -442,8 +444,6 @@ End of MXCI Session
 CATALOG_NAME                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      SCHEMA_NAME                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
                                OBJECT_NAME
 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 -----------------------------  --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-HIVE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              HIVE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
                                CUSTOMER                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
-HIVE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              HIVE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
                                ITEM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
 HIVE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              HIVE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
                                PROMOTION                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
 HIVE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              SCH_T009                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
                                T009T1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
 HIVE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              SCH_T009                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
                                T009T2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
@@ -451,7 +451,7 @@ TRAFODION
 TRAFODION                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         _HV_SCH_T009_                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
                                T009T2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
 TRAFODION                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         _MD_                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
                                OBJECTS                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
 
---- 8 row(s) selected.
+--- 6 row(s) selected.
 >>drop external table t009t1 for hive.sch_t009.t009t1;
 
 *** ERROR[1389] Object TRAFODION."_HV_SCH_T009_".T009T1 does not exist in Trafodion.

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/regress/privs1/EXPECTED133
----------------------------------------------------------------------
diff --git a/core/sql/regress/privs1/EXPECTED133 b/core/sql/regress/privs1/EXPECTED133
index 4bd4913..6edbc65 100644
--- a/core/sql/regress/privs1/EXPECTED133
+++ b/core/sql/regress/privs1/EXPECTED133
@@ -276,11 +276,13 @@ TRAFODION.T133SCH.GAMES_BY_PLAYER
 TRAFODION.T133SCH.HOME_TEAMS_GAMES                                                                                                                                VI    DB__ROOT                      33                    33
 TRAFODION.T133SCH.PLAYERS                                                                                                                                         BT    DB__ROOT                      47                    47
 TRAFODION.T133SCH.PLAYERS_ON_TEAM                                                                                                                                 VI    DB__ROOT                      33                    33
+TRAFODION.T133SCH.SB_HISTOGRAMS                                                                                                                                   BT    DB__ROOT                      47                    47
+TRAFODION.T133SCH.SB_HISTOGRAM_INTERVALS                                                                                                                          BT    DB__ROOT                      47                    47
 TRAFODION.T133SCH.STANDINGS                                                                                                                                       BT    DB__ROOT                      47                    47
 TRAFODION.T133SCH.TEAMS                                                                                                                                           BT    DB__ROOT                      47                    47
 TRAFODION.T133SCH.TEAM_STATISTICS                                                                                                                                 BT    DB__ROOT                      47                    47
 
---- 15 row(s) selected.
+--- 17 row(s) selected.
 >>
 >>initialize authorization, drop;
 
@@ -339,6 +341,8 @@ TRAFODION."T133SCH"."GAMES_BY_PLAYER"
 TRAFODION."T133SCH"."HOME_TEAMS_GAMES"                                                                                                                            VI    DB__ROOT                       1                     0
 TRAFODION."T133SCH"."PLAYERS"                                                                                                                                     BT    DB__ROOT                      47                    47
 TRAFODION."T133SCH"."PLAYERS_ON_TEAM"                                                                                                                             VI    DB__ROOT                       1                     0
+TRAFODION."T133SCH"."SB_HISTOGRAMS"                                                                                                                               BT    DB__ROOT                      47                    47
+TRAFODION."T133SCH"."SB_HISTOGRAM_INTERV                                                                                                                          BT    DB__ROOT                      47                    47
 TRAFODION."T133SCH"."STANDINGS"                                                                                                                                   BT    DB__ROOT                      47                    47
 TRAFODION."T133SCH"."TEAMS"                                                                                                                                       BT    DB__ROOT                      47                    47
 TRAFODION."T133SCH"."TEAM_STATISTICS"                                                                                                                             BT    DB__ROOT                      47                    47
@@ -350,7 +354,7 @@ TRAFODION."_PRIVMGR_MD_"."OBJECT_PRIVILE
 TRAFODION."_PRIVMGR_MD_"."ROLE_USAGE"                                                                                                                             BT    DB__ROOT                      47                    47
 TRAFODION."_PRIVMGR_MD_"."SCHEMA_PRIVILE                                                                                                                          BT    DB__ROOT                      47                    47
 
---- 15 row(s) selected.
+--- 17 row(s) selected.
 >>set parserflags 131072;
 
 --- SQL operation complete.
@@ -398,6 +402,8 @@ TRAFODION."T133SCH"."GAMES_BY_PLAYER"
 TRAFODION."T133SCH"."HOME_TEAMS_GAMES"                                                                                                                            VI    DB__ROOT                       1                     0
 TRAFODION."T133SCH"."PLAYERS"                                                                                                                                     BT    DB__ROOT                      47                    47
 TRAFODION."T133SCH"."PLAYERS_ON_TEAM"                                                                                                                             VI    DB__ROOT                       1                     0
+TRAFODION."T133SCH"."SB_HISTOGRAMS"                                                                                                                               BT    DB__ROOT                      47                    47
+TRAFODION."T133SCH"."SB_HISTOGRAM_INTERV                                                                                                                          BT    DB__ROOT                      47                    47
 TRAFODION."T133SCH"."STANDINGS"                                                                                                                                   BT    DB__ROOT                      47                    47
 TRAFODION."T133SCH"."TEAMS"                                                                                                                                       BT    DB__ROOT                      47                    47
 TRAFODION."T133SCH"."TEAM_STATISTICS"                                                                                                                             BT    DB__ROOT                      47                    47
@@ -409,7 +415,7 @@ TRAFODION."_PRIVMGR_MD_"."OBJECT_PRIVILE
 TRAFODION."_PRIVMGR_MD_"."SCHEMA_PRIVILE                                                                                                                          BT    DB__ROOT                      47                    47
 TRAFODION._PRIVMGR_MD_.ROLE_USAGE                                                                                                                                 BT    DB__ROOT                      47                    47
 
---- 15 row(s) selected.
+--- 17 row(s) selected.
 >>
 >>drop table components;
 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/regress/privs1/EXPECTED141
----------------------------------------------------------------------
diff --git a/core/sql/regress/privs1/EXPECTED141 b/core/sql/regress/privs1/EXPECTED141
index 528f189..49eca21 100644
Binary files a/core/sql/regress/privs1/EXPECTED141 and b/core/sql/regress/privs1/EXPECTED141 differ

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/regress/privs2/EXPECTED138
----------------------------------------------------------------------
diff --git a/core/sql/regress/privs2/EXPECTED138 b/core/sql/regress/privs2/EXPECTED138
index 4134ad2..a67e390 100644
--- a/core/sql/regress/privs2/EXPECTED138
+++ b/core/sql/regress/privs2/EXPECTED138
@@ -14,6 +14,12 @@
 --- SQL operation complete.
 >>get tables;
 
+Tables in Schema TRAFODION.T138SCH
+==================================
+
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
+
 --- SQL operation complete.
 >>
 >>-- Verify sql_user1 does not have CREATE or CREATE_TABLE privilege
@@ -23,6 +29,12 @@
 >>sh sqlci -i "TEST138(create_tbl)" -u sql_user1;
 >>get tables;
 
+Tables in Schema TRAFODION.T138SCH
+==================================
+
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
+
 --- SQL operation complete.
 >>create table user1_t1 (c1 int not null primary key, c2 int);
 
@@ -101,6 +113,12 @@ CREATE_TABLE
 >>sh sqlci -i "TEST138(create_tbl)" -u sql_user1;
 >>get tables;
 
+Tables in Schema TRAFODION.T138SCH
+==================================
+
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
+
 --- SQL operation complete.
 >>create table user1_t1 (c1 int not null primary key, c2 int);
 
@@ -178,6 +196,8 @@ End of MXCI Session
 Tables in Schema TRAFODION.T138SCH
 ==================================
 
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
 USER1_T1
 USER1_T2
 
@@ -364,6 +384,8 @@ End of MXCI Session
 Tables in Schema TRAFODION.T138SCH
 ==================================
 
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
 USER1_T1
 USER1_T2
 
@@ -383,6 +405,8 @@ USER1_T2
 Tables in Schema TRAFODION.T138SCH
 ==================================
 
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
 USER1_T1
 USER1_T2
 
@@ -398,6 +422,8 @@ End of MXCI Session
 Tables in Schema TRAFODION.T138SCH
 ==================================
 
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
 USER1_T1
 USER1_T2
 
@@ -416,6 +442,8 @@ USER1_T2
 Tables in Schema TRAFODION.T138SCH
 ==================================
 
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
 USER1_T1
 USER1_T2
 
@@ -428,11 +456,23 @@ USER1_T2
 --- SQL operation complete.
 >>get tables;
 
+Tables in Schema TRAFODION.T138SCH
+==================================
+
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
+
 --- SQL operation complete.
 >>
 >>
 >>get tables;
 
+Tables in Schema TRAFODION.T138SCH
+==================================
+
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
+
 --- SQL operation complete.
 >>
 >>obey TEST138(test_alter);
@@ -448,6 +488,12 @@ USER1_T2
 --- SQL operation complete.
 >>get tables;
 
+Tables in Schema TRAFODION.T138SCH
+==================================
+
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
+
 --- SQL operation complete.
 >>
 >>-- Verify sql_user2 does not have ALTER or ALTER_TABLE privilege
@@ -462,6 +508,12 @@ USER1_T2
 >>sh sqlci -i "TEST138(create_tbl)" -u sql_user1;
 >>get tables;
 
+Tables in Schema TRAFODION.T138SCH
+==================================
+
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
+
 --- SQL operation complete.
 >>create table user1_t1 (c1 int not null primary key, c2 int);
 
@@ -543,6 +595,8 @@ End of MXCI Session
 Tables in Schema TRAFODION.T138SCH
 ==================================
 
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
 USER1_T1
 USER1_T2
 
@@ -734,6 +788,8 @@ End of MXCI Session
 Tables in Schema TRAFODION.T138SCH
 ==================================
 
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
 USER1_T1
 USER1_T2
 
@@ -941,6 +997,8 @@ ALTER_VIEW
 Tables in Schema TRAFODION.T138SCH
 ==================================
 
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
 USER1_T1
 USER1_T2
 
@@ -1141,6 +1199,8 @@ End of MXCI Session
 Tables in Schema TRAFODION.T138SCH
 ==================================
 
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
 USER1_T1
 USER1_T2
 
@@ -1153,6 +1213,12 @@ USER1_T2
 --- SQL operation complete.
 >>get tables;
 
+Tables in Schema TRAFODION.T138SCH
+==================================
+
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
+
 --- SQL operation complete.
 >>
 >>
@@ -1201,6 +1267,12 @@ SHOW
 >>sh sqlci -i "TEST138(create_tbl)" -u sql_user1;
 >>get tables;
 
+Tables in Schema TRAFODION.T138SCH
+==================================
+
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
+
 --- SQL operation complete.
 >>create table user1_t1 (c1 int not null primary key, c2 int);
 
@@ -1437,6 +1509,8 @@ End of MXCI Session
 Tables in Schema TRAFODION.T138SCH
 ==================================
 
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
 USER1_T1
 USER1_T2
 
@@ -1449,6 +1523,12 @@ USER1_T2
 --- SQL operation complete.
 >>get tables;
 
+Tables in Schema TRAFODION.T138SCH
+==================================
+
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
+
 --- SQL operation complete.
 >>
 >>
@@ -1659,7 +1739,7 @@ End of MXCI Session
 (EXPR)              
 --------------------
 
-                   7
+                  11
 
 --- 1 row(s) selected.
 >>
@@ -1673,7 +1753,7 @@ End of MXCI Session
 (EXPR)              
 --------------------
 
-                   7
+                  11
 
 --- 1 row(s) selected.
 >>



[2/5] incubator-trafodion git commit: TRAFODION-1789 & TRAFODION-1812

Posted by rm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/regress/privs2/EXPECTED140
----------------------------------------------------------------------
diff --git a/core/sql/regress/privs2/EXPECTED140 b/core/sql/regress/privs2/EXPECTED140
index dc4a445..84543e2 100644
--- a/core/sql/regress/privs2/EXPECTED140
+++ b/core/sql/regress/privs2/EXPECTED140
@@ -9,7 +9,7 @@ LIST_COUNT         4294967295
 LOG FILE           LOG140
 MESSAGEFILE        /mnt/rmarton/gitws/incubator-trafodion/core/sqf/export/ ...
 MESSAGEFILE LANG   US English
-MESSAGEFILE VRSN   {2016-01-21 17:33 LINUX:EDEV05/rmarton} 
+MESSAGEFILE VRSN   {2016-02-08 16:33 LINUX:EDEV05/rmarton} 
 SQL CATALOG        TRAFODION
 SQL SCHEMA         T140_SHARED_VIEWS
 SQL USER CONNECTED user not connected
@@ -204,6 +204,8 @@ Tables in Schema TRAFODION.T140_USER1_PRIVATE
 
 GAMES
 PLAYERS
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
 TEAMS
 
 --- SQL operation complete.
@@ -230,7 +232,7 @@ TEAMS
 >>obey TEST140(set_up);
 >>prepare get_privs from
 +>select distinct
-+>   substring (object_name,1,40) as object_name,
++>   substring (object_name,1,50) as object_name,
 +>   object_type as type,
 +>   substring(authname(grantor_id),1,10) as grantor,
 +>   substring(authname(grantee_id),1,10) as grantee,
@@ -290,7 +292,7 @@ SQL_USER1
 >>obey TEST140(set_up);
 >>prepare get_privs from
 +>select distinct
-+>   substring (object_name,1,40) as object_name,
++>   substring (object_name,1,50) as object_name,
 +>   object_type as type,
 +>   substring(authname(grantor_id),1,10) as grantor,
 +>   substring(authname(grantee_id),1,10) as grantee,
@@ -308,23 +310,27 @@ SQL_USER1
 >>
 >>execute get_privs;
 
-OBJECT_NAME                                                                                                                                                       TYPE  GRANTOR     GRANTEE     GRANTED_PRIVS         GRANTABLE_PRIVS
-----------------------------------------------------------------------------------------------------------------------------------------------------------------  ----  ----------  ----------  --------------------  --------------------
-
-TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GA                                                                                                                          VI    -2          DB__ROOT    S----R-              S----R-            
-TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GA                                                                                                                          VI    DB__ROOT    SQL_USER1   S------              S------            
-TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GA                                                                                                                          VI    SQL_USER1   SQL_USER2   S------              NONE               
-TRAFODION.T140_SHARED_VIEWS.T140_L1                                                                                                                               LB    -2          DB__ROOT    ---UG--              ---UG--            
-TRAFODION.T140_SHARED_VIEWS.T140_TRANSLA                                                                                                                          UR    -2          DB__ROOT    ------E              ------E            
-TRAFODION.T140_SHARED_VIEWS.T140_TRANSLA                                                                                                                          UR    DB__ROOT    -1          ------E              NONE               
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    SQL_USER1   SQL_USER2   S------              NONE               
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    SQL_USER1   SQL_USER2   SI-----              SI-----            
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    SQL_USER1   SQL_USER2   SIDU-R-              SIDU-R-            
-
---- 12 row(s) selected.
+OBJECT_NAME                                                                                                                                                                                               TYPE  GRANTOR     GRANTEE     GRANTED_PRIVS         GRANTABLE_PRIVS
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  ----  ----------  ----------  --------------------  --------------------
+
+TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GAMES                                                                                                                                                               VI    -2          DB__ROOT    S----R-              S----R-            
+TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GAMES                                                                                                                                                               VI    DB__ROOT    SQL_USER1   S------              S------            
+TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GAMES                                                                                                                                                               VI    SQL_USER1   SQL_USER2   S------              NONE               
+TRAFODION.T140_SHARED_VIEWS.SB_HISTOGRAMS                                                                                                                                                                 BT    -2          DB__ROOT    SIDU-R-              SIDU-R-            
+TRAFODION.T140_SHARED_VIEWS.SB_HISTOGRAM_INTERVALS                                                                                                                                                        BT    -2          DB__ROOT    SIDU-R-              SIDU-R-            
+TRAFODION.T140_SHARED_VIEWS.T140_L1                                                                                                                                                                       LB    -2          DB__ROOT    ---UG--              ---UG--            
+TRAFODION.T140_SHARED_VIEWS.T140_TRANSLATEPRIVSBIT                                                                                                                                                        UR    -2          DB__ROOT    ------E              ------E            
+TRAFODION.T140_SHARED_VIEWS.T140_TRANSLATEPRIVSBIT                                                                                                                                                        UR    DB__ROOT    -1          ------E              NONE               
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    SQL_USER1   SQL_USER2   S------              NONE               
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    SQL_USER1   SQL_USER2   SI-----              SI-----            
+TRAFODION.T140_USER1_PRIVATE.SB_HISTOGRAMS                                                                                                                                                                BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.SB_HISTOGRAM_INTERVAL                                                                                                                                                        BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    SQL_USER1   SQL_USER2   SIDU-R-              SIDU-R-            
+
+--- 16 row(s) selected.
 >>
 >>exit;
 
@@ -453,7 +459,7 @@ Zachary
 >>obey TEST140(set_up);
 >>prepare get_privs from
 +>select distinct
-+>   substring (object_name,1,40) as object_name,
++>   substring (object_name,1,50) as object_name,
 +>   object_type as type,
 +>   substring(authname(grantor_id),1,10) as grantor,
 +>   substring(authname(grantee_id),1,10) as grantee,
@@ -471,26 +477,30 @@ Zachary
 >>
 >>execute get_privs;
 
-OBJECT_NAME                                                                                                                                                       TYPE  GRANTOR     GRANTEE     GRANTED_PRIVS         GRANTABLE_PRIVS
-----------------------------------------------------------------------------------------------------------------------------------------------------------------  ----  ----------  ----------  --------------------  --------------------
-
-TRAFODION.T140_SHARED_VIEWS.GAMES_BY_PLA                                                                                                                          VI    -2          SQL_USER2   S------              NONE               
-TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GA                                                                                                                          VI    -2          DB__ROOT    S----R-              S----R-            
-TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GA                                                                                                                          VI    DB__ROOT    SQL_USER1   S------              S------            
-TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GA                                                                                                                          VI    SQL_USER1   SQL_USER2   S------              NONE               
-TRAFODION.T140_SHARED_VIEWS.T140_L1                                                                                                                               LB    -2          DB__ROOT    ---UG--              ---UG--            
-TRAFODION.T140_SHARED_VIEWS.T140_TRANSLA                                                                                                                          UR    -2          DB__ROOT    ------E              ------E            
-TRAFODION.T140_SHARED_VIEWS.T140_TRANSLA                                                                                                                          UR    DB__ROOT    -1          ------E              NONE               
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    SQL_USER1   SQL_USER2   S------              NONE               
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    SQL_USER1   SQL_USER2   SI-----              SI-----            
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    SQL_USER2   SQL_USER3   SI-----              -I-----            
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    SQL_USER1   SQL_USER2   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    SQL_USER2   SQL_USER3   S-D----              S-D----            
-
---- 15 row(s) selected.
+OBJECT_NAME                                                                                                                                                                                               TYPE  GRANTOR     GRANTEE     GRANTED_PRIVS         GRANTABLE_PRIVS
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  ----  ----------  ----------  --------------------  --------------------
+
+TRAFODION.T140_SHARED_VIEWS.GAMES_BY_PLAYER                                                                                                                                                               VI    -2          SQL_USER2   S------              NONE               
+TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GAMES                                                                                                                                                               VI    -2          DB__ROOT    S----R-              S----R-            
+TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GAMES                                                                                                                                                               VI    DB__ROOT    SQL_USER1   S------              S------            
+TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GAMES                                                                                                                                                               VI    SQL_USER1   SQL_USER2   S------              NONE               
+TRAFODION.T140_SHARED_VIEWS.SB_HISTOGRAMS                                                                                                                                                                 BT    -2          DB__ROOT    SIDU-R-              SIDU-R-            
+TRAFODION.T140_SHARED_VIEWS.SB_HISTOGRAM_INTERVALS                                                                                                                                                        BT    -2          DB__ROOT    SIDU-R-              SIDU-R-            
+TRAFODION.T140_SHARED_VIEWS.T140_L1                                                                                                                                                                       LB    -2          DB__ROOT    ---UG--              ---UG--            
+TRAFODION.T140_SHARED_VIEWS.T140_TRANSLATEPRIVSBIT                                                                                                                                                        UR    -2          DB__ROOT    ------E              ------E            
+TRAFODION.T140_SHARED_VIEWS.T140_TRANSLATEPRIVSBIT                                                                                                                                                        UR    DB__ROOT    -1          ------E              NONE               
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    SQL_USER1   SQL_USER2   S------              NONE               
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    SQL_USER1   SQL_USER2   SI-----              SI-----            
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    SQL_USER2   SQL_USER3   SI-----              -I-----            
+TRAFODION.T140_USER1_PRIVATE.SB_HISTOGRAMS                                                                                                                                                                BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.SB_HISTOGRAM_INTERVAL                                                                                                                                                        BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    SQL_USER1   SQL_USER2   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    SQL_USER2   SQL_USER3   S-D----              S-D----            
+
+--- 19 row(s) selected.
 >>
 >>exit;
 
@@ -610,29 +620,33 @@ Tom                                                 White Socks
 >>
 >>execute get_privs;
 
-OBJECT_NAME                                                                                                                                                       TYPE  GRANTOR     GRANTEE     GRANTED_PRIVS         GRANTABLE_PRIVS
-----------------------------------------------------------------------------------------------------------------------------------------------------------------  ----  ----------  ----------  --------------------  --------------------
-
-TRAFODION.T140_SHARED_VIEWS.GAMES_BY_PLA                                                                                                                          VI    -2          SQL_USER2   S------              NONE               
-TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GA                                                                                                                          VI    -2          DB__ROOT    S----R-              S----R-            
-TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GA                                                                                                                          VI    DB__ROOT    SQL_USER1   S------              S------            
-TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GA                                                                                                                          VI    SQL_USER1   SQL_USER2   S------              NONE               
-TRAFODION.T140_SHARED_VIEWS.PLAYERS_ON_T                                                                                                                          VI    -2          SQL_USER3   S------              NONE               
-TRAFODION.T140_SHARED_VIEWS.T140_L1                                                                                                                               LB    -2          DB__ROOT    ---UG--              ---UG--            
-TRAFODION.T140_SHARED_VIEWS.T140_TRANSLA                                                                                                                          UR    -2          DB__ROOT    ------E              ------E            
-TRAFODION.T140_SHARED_VIEWS.T140_TRANSLA                                                                                                                          UR    DB__ROOT    -1          ------E              NONE               
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    SQL_USER1   SQL_USER2   S------              NONE               
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    SQL_USER1   SQL_USER2   SI-----              SI-----            
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    SQL_USER2   SQL_USER3   SI-----              -I-----            
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    SQL_USER3   SQL_USER4   -I-----              NONE               
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    SQL_USER1   SQL_USER2   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    SQL_USER2   SQL_USER3   S-D----              S-D----            
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    SQL_USER3   SQL_USER4   S------              NONE               
-
---- 18 row(s) selected.
+OBJECT_NAME                                                                                                                                                                                               TYPE  GRANTOR     GRANTEE     GRANTED_PRIVS         GRANTABLE_PRIVS
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  ----  ----------  ----------  --------------------  --------------------
+
+TRAFODION.T140_SHARED_VIEWS.GAMES_BY_PLAYER                                                                                                                                                               VI    -2          SQL_USER2   S------              NONE               
+TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GAMES                                                                                                                                                               VI    -2          DB__ROOT    S----R-              S----R-            
+TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GAMES                                                                                                                                                               VI    DB__ROOT    SQL_USER1   S------              S------            
+TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GAMES                                                                                                                                                               VI    SQL_USER1   SQL_USER2   S------              NONE               
+TRAFODION.T140_SHARED_VIEWS.PLAYERS_ON_TEAM                                                                                                                                                               VI    -2          SQL_USER3   S------              NONE               
+TRAFODION.T140_SHARED_VIEWS.SB_HISTOGRAMS                                                                                                                                                                 BT    -2          DB__ROOT    SIDU-R-              SIDU-R-            
+TRAFODION.T140_SHARED_VIEWS.SB_HISTOGRAM_INTERVALS                                                                                                                                                        BT    -2          DB__ROOT    SIDU-R-              SIDU-R-            
+TRAFODION.T140_SHARED_VIEWS.T140_L1                                                                                                                                                                       LB    -2          DB__ROOT    ---UG--              ---UG--            
+TRAFODION.T140_SHARED_VIEWS.T140_TRANSLATEPRIVSBIT                                                                                                                                                        UR    -2          DB__ROOT    ------E              ------E            
+TRAFODION.T140_SHARED_VIEWS.T140_TRANSLATEPRIVSBIT                                                                                                                                                        UR    DB__ROOT    -1          ------E              NONE               
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    SQL_USER1   SQL_USER2   S------              NONE               
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    SQL_USER1   SQL_USER2   SI-----              SI-----            
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    SQL_USER2   SQL_USER3   SI-----              -I-----            
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    SQL_USER3   SQL_USER4   -I-----              NONE               
+TRAFODION.T140_USER1_PRIVATE.SB_HISTOGRAMS                                                                                                                                                                BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.SB_HISTOGRAM_INTERVAL                                                                                                                                                        BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    SQL_USER1   SQL_USER2   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    SQL_USER2   SQL_USER3   S-D----              S-D----            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    SQL_USER3   SQL_USER4   S------              NONE               
+
+--- 22 row(s) selected.
 >>
 >>exit;
 
@@ -712,30 +726,34 @@ SQL_USER4
 >>
 >>execute get_privs;
 
-OBJECT_NAME                                                                                                                                                       TYPE  GRANTOR     GRANTEE     GRANTED_PRIVS         GRANTABLE_PRIVS
-----------------------------------------------------------------------------------------------------------------------------------------------------------------  ----  ----------  ----------  --------------------  --------------------
-
-TRAFODION.T140_SHARED_VIEWS.GAMES_BY_PLA                                                                                                                          VI    -2          SQL_USER2   S------              NONE               
-TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GA                                                                                                                          VI    -2          DB__ROOT    S----R-              S----R-            
-TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GA                                                                                                                          VI    DB__ROOT    SQL_USER1   S------              S------            
-TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GA                                                                                                                          VI    SQL_USER1   SQL_USER2   S------              NONE               
-TRAFODION.T140_SHARED_VIEWS.PLAYERS_ON_T                                                                                                                          VI    -2          SQL_USER3   S------              NONE               
-TRAFODION.T140_SHARED_VIEWS.T140_L1                                                                                                                               LB    -2          DB__ROOT    ---UG--              ---UG--            
-TRAFODION.T140_SHARED_VIEWS.T140_TRANSLA                                                                                                                          UR    -2          DB__ROOT    ------E              ------E            
-TRAFODION.T140_SHARED_VIEWS.T140_TRANSLA                                                                                                                          UR    DB__ROOT    -1          ------E              NONE               
-TRAFODION.T140_SHARED_VIEWS.TEAM_NAMES                                                                                                                            VI    -2          SQL_USER4   S------              NONE               
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    SQL_USER1   SQL_USER2   S------              NONE               
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    SQL_USER1   SQL_USER2   SI-----              SI-----            
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    SQL_USER2   SQL_USER3   SI-----              -I-----            
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    SQL_USER3   SQL_USER4   -I-----              NONE               
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    SQL_USER1   SQL_USER2   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    SQL_USER2   SQL_USER3   S-D----              S-D----            
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    SQL_USER3   SQL_USER4   S------              NONE               
-
---- 19 row(s) selected.
+OBJECT_NAME                                                                                                                                                                                               TYPE  GRANTOR     GRANTEE     GRANTED_PRIVS         GRANTABLE_PRIVS
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  ----  ----------  ----------  --------------------  --------------------
+
+TRAFODION.T140_SHARED_VIEWS.GAMES_BY_PLAYER                                                                                                                                                               VI    -2          SQL_USER2   S------              NONE               
+TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GAMES                                                                                                                                                               VI    -2          DB__ROOT    S----R-              S----R-            
+TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GAMES                                                                                                                                                               VI    DB__ROOT    SQL_USER1   S------              S------            
+TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GAMES                                                                                                                                                               VI    SQL_USER1   SQL_USER2   S------              NONE               
+TRAFODION.T140_SHARED_VIEWS.PLAYERS_ON_TEAM                                                                                                                                                               VI    -2          SQL_USER3   S------              NONE               
+TRAFODION.T140_SHARED_VIEWS.SB_HISTOGRAMS                                                                                                                                                                 BT    -2          DB__ROOT    SIDU-R-              SIDU-R-            
+TRAFODION.T140_SHARED_VIEWS.SB_HISTOGRAM_INTERVALS                                                                                                                                                        BT    -2          DB__ROOT    SIDU-R-              SIDU-R-            
+TRAFODION.T140_SHARED_VIEWS.T140_L1                                                                                                                                                                       LB    -2          DB__ROOT    ---UG--              ---UG--            
+TRAFODION.T140_SHARED_VIEWS.T140_TRANSLATEPRIVSBIT                                                                                                                                                        UR    -2          DB__ROOT    ------E              ------E            
+TRAFODION.T140_SHARED_VIEWS.T140_TRANSLATEPRIVSBIT                                                                                                                                                        UR    DB__ROOT    -1          ------E              NONE               
+TRAFODION.T140_SHARED_VIEWS.TEAM_NAMES                                                                                                                                                                    VI    -2          SQL_USER4   S------              NONE               
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    SQL_USER1   SQL_USER2   S------              NONE               
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    SQL_USER1   SQL_USER2   SI-----              SI-----            
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    SQL_USER2   SQL_USER3   SI-----              -I-----            
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    SQL_USER3   SQL_USER4   -I-----              NONE               
+TRAFODION.T140_USER1_PRIVATE.SB_HISTOGRAMS                                                                                                                                                                BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.SB_HISTOGRAM_INTERVAL                                                                                                                                                        BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    SQL_USER1   SQL_USER2   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    SQL_USER2   SQL_USER3   S-D----              S-D----            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    SQL_USER3   SQL_USER4   S------              NONE               
+
+--- 23 row(s) selected.
 >>
 >>exit;
 
@@ -753,7 +771,7 @@ SQL_USER5
 >>obey TEST140(set_up);
 >>prepare get_privs from
 +>select distinct
-+>   substring (object_name,1,40) as object_name,
++>   substring (object_name,1,50) as object_name,
 +>   object_type as type,
 +>   substring(authname(grantor_id),1,10) as grantor,
 +>   substring(authname(grantee_id),1,10) as grantee,
@@ -839,37 +857,41 @@ End of MXCI Session
 --- SQL operation complete.
 >>execute get_privs;
 
-OBJECT_NAME                                                                                                                                                       TYPE  GRANTOR     GRANTEE     GRANTED_PRIVS         GRANTABLE_PRIVS
-----------------------------------------------------------------------------------------------------------------------------------------------------------------  ----  ----------  ----------  --------------------  --------------------
-
-TRAFODION.T140_SHARED_VIEWS.GAMES_BY_PLA                                                                                                                          VI    -2          SQL_USER2   S------              NONE               
-TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GA                                                                                                                          VI    -2          DB__ROOT    S----R-              S----R-            
-TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GA                                                                                                                          VI    DB__ROOT    SQL_USER1   S------              S------            
-TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GA                                                                                                                          VI    SQL_USER1   SQL_USER2   S------              NONE               
-TRAFODION.T140_SHARED_VIEWS.PLAYERS_ON_T                                                                                                                          VI    -2          SQL_USER3   S------              NONE               
-TRAFODION.T140_SHARED_VIEWS.T140_L1                                                                                                                               LB    -2          DB__ROOT    ---UG--              ---UG--            
-TRAFODION.T140_SHARED_VIEWS.T140_TRANSLA                                                                                                                          UR    -2          DB__ROOT    ------E              ------E            
-TRAFODION.T140_SHARED_VIEWS.T140_TRANSLA                                                                                                                          UR    DB__ROOT    -1          ------E              NONE               
-TRAFODION.T140_SHARED_VIEWS.TEAM_NAMES                                                                                                                            VI    -2          SQL_USER4   S------              NONE               
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    SQL_USER1   SQL_USER2   SI-----              SI-----            
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    SQL_USER1   SQL_USER4   SI-----              NONE               
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    SQL_USER2   SQL_USER3   SI-----              SI-----            
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    SQL_USER2   SQL_USER4   SI-----              S------            
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    SQL_USER3   SQL_USER4   S------              NONE               
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    SQL_USER3   SQL_USER5   S------              S------            
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    SQL_USER4   SQL_USER5   S------              S------            
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    SQL_USER5   SQL_USER6   S------              NONE               
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    SQL_USER1   SQL_USER2   SI-----              SI-----            
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    SQL_USER2   SQL_USER3   SI-----              -I-----            
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    SQL_USER3   SQL_USER4   -I-----              NONE               
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    SQL_USER1   SQL_USER2   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    SQL_USER2   SQL_USER3   S-D----              S-D----            
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    SQL_USER3   SQL_USER4   S------              NONE               
-
---- 26 row(s) selected.
+OBJECT_NAME                                                                                                                                                                                               TYPE  GRANTOR     GRANTEE     GRANTED_PRIVS         GRANTABLE_PRIVS
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  ----  ----------  ----------  --------------------  --------------------
+
+TRAFODION.T140_SHARED_VIEWS.GAMES_BY_PLAYER                                                                                                                                                               VI    -2          SQL_USER2   S------              NONE               
+TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GAMES                                                                                                                                                               VI    -2          DB__ROOT    S----R-              S----R-            
+TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GAMES                                                                                                                                                               VI    DB__ROOT    SQL_USER1   S------              S------            
+TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GAMES                                                                                                                                                               VI    SQL_USER1   SQL_USER2   S------              NONE               
+TRAFODION.T140_SHARED_VIEWS.PLAYERS_ON_TEAM                                                                                                                                                               VI    -2          SQL_USER3   S------              NONE               
+TRAFODION.T140_SHARED_VIEWS.SB_HISTOGRAMS                                                                                                                                                                 BT    -2          DB__ROOT    SIDU-R-              SIDU-R-            
+TRAFODION.T140_SHARED_VIEWS.SB_HISTOGRAM_INTERVALS                                                                                                                                                        BT    -2          DB__ROOT    SIDU-R-              SIDU-R-            
+TRAFODION.T140_SHARED_VIEWS.T140_L1                                                                                                                                                                       LB    -2          DB__ROOT    ---UG--              ---UG--            
+TRAFODION.T140_SHARED_VIEWS.T140_TRANSLATEPRIVSBIT                                                                                                                                                        UR    -2          DB__ROOT    ------E              ------E            
+TRAFODION.T140_SHARED_VIEWS.T140_TRANSLATEPRIVSBIT                                                                                                                                                        UR    DB__ROOT    -1          ------E              NONE               
+TRAFODION.T140_SHARED_VIEWS.TEAM_NAMES                                                                                                                                                                    VI    -2          SQL_USER4   S------              NONE               
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    SQL_USER1   SQL_USER2   SI-----              SI-----            
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    SQL_USER1   SQL_USER4   SI-----              NONE               
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    SQL_USER2   SQL_USER3   SI-----              SI-----            
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    SQL_USER2   SQL_USER4   SI-----              S------            
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    SQL_USER3   SQL_USER4   S------              NONE               
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    SQL_USER3   SQL_USER5   S------              S------            
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    SQL_USER4   SQL_USER5   S------              S------            
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    SQL_USER5   SQL_USER6   S------              NONE               
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    SQL_USER1   SQL_USER2   SI-----              SI-----            
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    SQL_USER2   SQL_USER3   SI-----              -I-----            
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    SQL_USER3   SQL_USER4   -I-----              NONE               
+TRAFODION.T140_USER1_PRIVATE.SB_HISTOGRAMS                                                                                                                                                                BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.SB_HISTOGRAM_INTERVAL                                                                                                                                                        BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    SQL_USER1   SQL_USER2   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    SQL_USER2   SQL_USER3   S-D----              S-D----            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    SQL_USER3   SQL_USER4   S------              NONE               
+
+--- 30 row(s) selected.
 >>
 >>-- user6 tries to grant select to user7
 >>grant select on games to sql_user7 by sql_user6;
@@ -911,34 +933,38 @@ TRAFODION.T140_USER1_PRIVATE.TEAMS
 >>
 >>execute get_privs;
 
-OBJECT_NAME                                                                                                                                                       TYPE  GRANTOR     GRANTEE     GRANTED_PRIVS         GRANTABLE_PRIVS
-----------------------------------------------------------------------------------------------------------------------------------------------------------------  ----  ----------  ----------  --------------------  --------------------
-
-TRAFODION.T140_SHARED_VIEWS.GAMES_BY_PLA                                                                                                                          VI    -2          SQL_USER2   S------              NONE               
-TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GA                                                                                                                          VI    -2          DB__ROOT    S----R-              S----R-            
-TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GA                                                                                                                          VI    DB__ROOT    SQL_USER1   S------              S------            
-TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GA                                                                                                                          VI    SQL_USER1   SQL_USER2   S------              NONE               
-TRAFODION.T140_SHARED_VIEWS.PLAYERS_ON_T                                                                                                                          VI    -2          SQL_USER3   S------              NONE               
-TRAFODION.T140_SHARED_VIEWS.T140_L1                                                                                                                               LB    -2          DB__ROOT    ---UG--              ---UG--            
-TRAFODION.T140_SHARED_VIEWS.T140_TRANSLA                                                                                                                          UR    -2          DB__ROOT    ------E              ------E            
-TRAFODION.T140_SHARED_VIEWS.T140_TRANSLA                                                                                                                          UR    DB__ROOT    -1          ------E              NONE               
-TRAFODION.T140_SHARED_VIEWS.TEAM_NAMES                                                                                                                            VI    -2          SQL_USER4   S------              NONE               
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    SQL_USER1   SQL_USER2   SI-----              SI-----            
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    SQL_USER1   SQL_USER4   SI-----              NONE               
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    SQL_USER2   SQL_USER3   SI-----              -I-----            
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    SQL_USER2   SQL_USER4   SI-----              S------            
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    SQL_USER4   SQL_USER5   S------              S------            
-TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                BT    SQL_USER5   SQL_USER6   S------              NONE               
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    SQL_USER1   SQL_USER2   SI-----              SI-----            
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    SQL_USER2   SQL_USER3   SI-----              -I-----            
-TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                              BT    SQL_USER3   SQL_USER4   -I-----              NONE               
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    SQL_USER1   SQL_USER2   SIDU-R-              SIDU-R-            
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    SQL_USER2   SQL_USER3   S-D----              S-D----            
-TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                BT    SQL_USER3   SQL_USER4   S------              NONE               
-
---- 24 row(s) selected.
+OBJECT_NAME                                                                                                                                                                                               TYPE  GRANTOR     GRANTEE     GRANTED_PRIVS         GRANTABLE_PRIVS
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  ----  ----------  ----------  --------------------  --------------------
+
+TRAFODION.T140_SHARED_VIEWS.GAMES_BY_PLAYER                                                                                                                                                               VI    -2          SQL_USER2   S------              NONE               
+TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GAMES                                                                                                                                                               VI    -2          DB__ROOT    S----R-              S----R-            
+TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GAMES                                                                                                                                                               VI    DB__ROOT    SQL_USER1   S------              S------            
+TRAFODION.T140_SHARED_VIEWS.HOME_TEAM_GAMES                                                                                                                                                               VI    SQL_USER1   SQL_USER2   S------              NONE               
+TRAFODION.T140_SHARED_VIEWS.PLAYERS_ON_TEAM                                                                                                                                                               VI    -2          SQL_USER3   S------              NONE               
+TRAFODION.T140_SHARED_VIEWS.SB_HISTOGRAMS                                                                                                                                                                 BT    -2          DB__ROOT    SIDU-R-              SIDU-R-            
+TRAFODION.T140_SHARED_VIEWS.SB_HISTOGRAM_INTERVALS                                                                                                                                                        BT    -2          DB__ROOT    SIDU-R-              SIDU-R-            
+TRAFODION.T140_SHARED_VIEWS.T140_L1                                                                                                                                                                       LB    -2          DB__ROOT    ---UG--              ---UG--            
+TRAFODION.T140_SHARED_VIEWS.T140_TRANSLATEPRIVSBIT                                                                                                                                                        UR    -2          DB__ROOT    ------E              ------E            
+TRAFODION.T140_SHARED_VIEWS.T140_TRANSLATEPRIVSBIT                                                                                                                                                        UR    DB__ROOT    -1          ------E              NONE               
+TRAFODION.T140_SHARED_VIEWS.TEAM_NAMES                                                                                                                                                                    VI    -2          SQL_USER4   S------              NONE               
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    SQL_USER1   SQL_USER2   SI-----              SI-----            
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    SQL_USER1   SQL_USER4   SI-----              NONE               
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    SQL_USER2   SQL_USER3   SI-----              -I-----            
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    SQL_USER2   SQL_USER4   SI-----              S------            
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    SQL_USER4   SQL_USER5   S------              S------            
+TRAFODION.T140_USER1_PRIVATE.GAMES                                                                                                                                                                        BT    SQL_USER5   SQL_USER6   S------              NONE               
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    SQL_USER1   SQL_USER2   SI-----              SI-----            
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    SQL_USER2   SQL_USER3   SI-----              -I-----            
+TRAFODION.T140_USER1_PRIVATE.PLAYERS                                                                                                                                                                      BT    SQL_USER3   SQL_USER4   -I-----              NONE               
+TRAFODION.T140_USER1_PRIVATE.SB_HISTOGRAMS                                                                                                                                                                BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.SB_HISTOGRAM_INTERVAL                                                                                                                                                        BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    -2          SQL_USER1   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    SQL_USER1   SQL_USER2   SIDU-R-              SIDU-R-            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    SQL_USER2   SQL_USER3   S-D----              S-D----            
+TRAFODION.T140_USER1_PRIVATE.TEAMS                                                                                                                                                                        BT    SQL_USER3   SQL_USER4   S------              NONE               
+
+--- 28 row(s) selected.
 >>
 >>log;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a22f6853/core/sql/regress/privs2/TEST140
----------------------------------------------------------------------
diff --git a/core/sql/regress/privs2/TEST140 b/core/sql/regress/privs2/TEST140
index 08b9f28..feb4798 100755
--- a/core/sql/regress/privs2/TEST140
+++ b/core/sql/regress/privs2/TEST140
@@ -214,7 +214,7 @@ insert into players values
 ?section set_up
 prepare get_privs from
 select distinct
-   substring (object_name,1,40) as object_name,
+   substring (object_name,1,50) as object_name,
    object_type as type,
    substring(authname(grantor_id),1,10) as grantor,
    substring(authname(grantee_id),1,10) as grantee,


[5/5] incubator-trafodion git commit: Merge branch 'master' into mrg_319

Posted by rm...@apache.org.
Merge branch 'master' into mrg_319


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

Branch: refs/heads/master
Commit: 83c66bfb10f2158cd365fcb02e1004b4c46369ba
Parents: 85ffa1f 6f26a0a
Author: Roberta Marton <ro...@apache.org>
Authored: Tue Feb 16 22:10:58 2016 +0000
Committer: Roberta Marton <ro...@apache.org>
Committed: Tue Feb 16 22:10:58 2016 +0000

----------------------------------------------------------------------
 .../java/org/trafodion/rest/ServerResource.java | 37 +++++---------------
 .../org/trafodion/rest/VersionResource.java     | 25 +++----------
 2 files changed, 13 insertions(+), 49 deletions(-)
----------------------------------------------------------------------



[4/5] incubator-trafodion git commit: Merge [TRAFODION-1789 & TRAFODION-1812] PR- 319 Create the histogram metadata tables at schema creation time

Posted by rm...@apache.org.
Merge [TRAFODION-1789 & TRAFODION-1812] PR- 319 Create the histogram metadata tables at schema creation time


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

Branch: refs/heads/master
Commit: 85ffa1f7acb312fcc6a9787ae03c4dc12af803b6
Parents: d25090b a22f685
Author: Roberta Marton <ro...@apache.org>
Authored: Tue Feb 16 19:28:00 2016 +0000
Committer: Roberta Marton <ro...@apache.org>
Committed: Tue Feb 16 19:28:00 2016 +0000

----------------------------------------------------------------------
 core/sql/bin/SqlciErrors.txt              |   4 +-
 core/sql/optimizer/RelExeUtil.cpp         |   7 +
 core/sql/parser/SqlParserAux.cpp          |   4 +
 core/sql/parser/SqlParserAux.h            |   1 +
 core/sql/parser/StmtDDLCreateRoutine.h    |   4 +
 core/sql/parser/StmtDDLDropRoutine.h      |   5 +
 core/sql/parser/sqlparser.y               |  88 +++--
 core/sql/regress/hive/EXPECTED009         |   6 +-
 core/sql/regress/privs1/EXPECTED133       |  12 +-
 core/sql/regress/privs1/EXPECTED141       | Bin 92809 -> 113222 bytes
 core/sql/regress/privs2/EXPECTED138       |  84 +++-
 core/sql/regress/privs2/EXPECTED140       | 324 ++++++++-------
 core/sql/regress/privs2/TEST140           |   2 +-
 core/sql/regress/seabase/EXPECTED002      | 146 +++++--
 core/sql/regress/seabase/EXPECTED026      |  34 +-
 core/sql/regress/seabase/FILTER002        |   1 +
 core/sql/sqlcomp/CmpDDLCatErrorCodes.h    |   4 +-
 core/sql/sqlcomp/CmpSeabaseDDL.h          |   7 +
 core/sql/sqlcomp/CmpSeabaseDDLcleanup.cpp |  33 +-
 core/sql/sqlcomp/CmpSeabaseDDLmd.h        |  11 +
 core/sql/sqlcomp/CmpSeabaseDDLroutine.cpp |  10 +-
 core/sql/sqlcomp/CmpSeabaseDDLschema.cpp  | 521 ++++++++++++++++---------
 core/sql/ustat/hs_cli.cpp                 | 118 +-----
 23 files changed, 890 insertions(+), 536 deletions(-)
----------------------------------------------------------------------