Repository: incubator-trafodion Updated Branches: refs/heads/master 79552f0f1 -> 149649f41
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bbe87c92/core/sql/regress/executor/EXPECTED130 ---------------------------------------------------------------------- diff --git a/core/sql/regress/executor/EXPECTED130 b/core/sql/regress/executor/EXPECTED130 index 741fcaa..30aa4f3 100644 --- a/core/sql/regress/executor/EXPECTED130 +++ b/core/sql/regress/executor/EXPECTED130 @@ -53,9 +53,9 @@ C1 C1 C2 ----------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ---------------------------------------- - 1 LOBH00000200010592176192134729966219592176192139496647918212323493795172702020"TRAFODION"."LOB130" - 2 LOBH00000200010592176192134729966219592176192140030953518212323493800597686020"TRAFODION"."LOB130" - 3 LOBH00000200010592176192134729966219592176192140527060218212323493805564311020"TRAFODION"."LOB130" + 1 LOBH00000200010444402145197519166819444402145202457707718212326652155751339020"TRAFODION"."LOB130" + 2 LOBH00000200010444402145197519166819444402145203073038718212326652161912736020"TRAFODION"."LOB130" + 3 LOBH00000200010444402145197519166819444402145203621256818212326652167409965020"TRAFODION"."LOB130" --- 3 row(s) selected. >> @@ -333,7 +333,7 @@ And the dish ran away with the fork ! >>sh grep "^LOBH" TMP130 | sed "s/^/extract lobtofile(LOB '/g" | sed "s/$/' , >>'tlob130_txt1.txt');/g" >> t130_extract_command; >> >>obey t130_extract_command; ->>extract lobtofile(LOB 'LOBH00000200010592176192134733245719592176192171050485618212323494110664949020"TRAFODION"."LOB130" ' , 'tlob130_txt1.txt'); +>>extract lobtofile(LOB 'LOBH00000200010444402145197522607519444402145235286469818212326652484124570020"TRAFODION"."LOB130" ' , 'tlob130_txt1.txt'); Success. Targetfile :tlob130_txt1.txt Length : 19 --- SQL operation complete. @@ -349,7 +349,7 @@ Success. Targetfile :tlob130_txt1.txt Length : 19 >>sh rm t130_extract_command; >>sh grep "^LOBH" TMP130 | sed "s/^/extract lobtofile(LOB '/g" | sed "s/$/' , >>'tlob130_deep.jpg');/g" >> t130_extract_command; >>obey t130_extract_command; ->>extract lobtofile(LOB 'LOBH00000200010592176192134733309019592176192176652813118212323494166743790020"TRAFODION"."LOB130" ' , 'tlob130_deep.jpg'); +>>extract lobtofile(LOB 'LOBH00000200010444402145197522655619444402145240700183218212326652538314587020"TRAFODION"."LOB130" ' , 'tlob130_deep.jpg'); Success. Targetfile :tlob130_deep.jpg Length : 159018 --- SQL operation complete. @@ -365,7 +365,7 @@ Success. Targetfile :tlob130_deep.jpg Length : 159018 >>sh grep "^LOBH" TMP130 | sed "s/^/extract lobtofile(LOB '/g" | sed "s/$/' , >>'tlob130_anoush.jpg');/g" >> t130_extract_command; >> >>obey t130_extract_command; ->>extract lobtofile(LOB 'LOBH00000200010592176192134733309019592176192176652813118212323494166743790020"TRAFODION"."LOB130" ' , 'tlob130_anoush.jpg'); +>>extract lobtofile(LOB 'LOBH00000200010444402145197522655619444402145240700183218212326652538314587020"TRAFODION"."LOB130" ' , 'tlob130_anoush.jpg'); Success. Targetfile :tlob130_anoush.jpg Length : 230150 --- SQL operation complete. @@ -484,7 +484,7 @@ And the dish ran away with the fork ! >>sh grep "^LOBH" TMP130 | sed "s/^/extract lobtofile(LOB '/g" | sed "s/$/' , >>'hdfs:\/\/\/lobs\/tlob130_txt2.txt');/g" >> t130_extract_command; >> >>obey t130_extract_command; ->>extract lobtofile(LOB 'LOBH00000200010592176192134734270219592176192182731401318212323494227492370020"TRAFODION"."LOB130" ' , 'hdfs:///lobs/tlob130_txt2.txt'); +>>extract lobtofile(LOB 'LOBH00000200010444402145197523568819444402145246831407218212326652599562054020"TRAFODION"."LOB130" ' , 'hdfs:///lobs/tlob130_txt2.txt'); Success. Targetfile :hdfs:///lobs/tlob130_txt2.txt Length : 19 --- SQL operation complete. @@ -500,7 +500,7 @@ Success. Targetfile :hdfs:///lobs/tlob130_txt2.txt Length : 19 >>sh rm t130_extract_command; >>sh grep "^LOBH" TMP130 | sed "s/^/extract lobtofile(LOB '/g" | sed "s/$/' , >>'hdfs:\/\/\/lobs\/tlob130_deep.jpg');/g" >> t130_extract_command; >>obey t130_extract_command; ->>extract lobtofile(LOB 'LOBH00000200010592176192134734319619592176192188535869918212323494285449446020"TRAFODION"."LOB130" ' , 'hdfs:///lobs/tlob130_deep.jpg'); +>>extract lobtofile(LOB 'LOBH00000200010444402145197523627219444402145252365230918212326652654921590020"TRAFODION"."LOB130" ' , 'hdfs:///lobs/tlob130_deep.jpg'); Success. Targetfile :hdfs:///lobs/tlob130_deep.jpg Length : 159018 --- SQL operation complete. @@ -516,7 +516,7 @@ Success. Targetfile :hdfs:///lobs/tlob130_deep.jpg Length : 159018 >>sh grep "^LOBH" TMP130 | sed "s/^/extract lobtofile(LOB '/g" | sed "s/$/' , >>'hdfs:\/\/\/lobs\/tlob130_anoush.jpg');/g" >> t130_extract_command; >> >>obey t130_extract_command; ->>extract lobtofile(LOB 'LOBH00000200010592176192134733309019592176192176652813118212323494166743790020"TRAFODION"."LOB130" ' , 'hdfs:///lobs/tlob130_anoush.jpg'); +>>extract lobtofile(LOB 'LOBH00000200010444402145197522655619444402145240700183218212326652538314587020"TRAFODION"."LOB130" ' , 'hdfs:///lobs/tlob130_anoush.jpg'); Success. Targetfile :hdfs:///lobs/tlob130_anoush.jpg Length : 230150 --- SQL operation complete. @@ -535,7 +535,7 @@ Column Name : c2 Input a filename to extract to : Output File Name : lobc2out.jpg Extracting lob handle for column c2... -LOB handle for c2: LOBH00000200010592176192134733309019592176192176652813118212323494166743790020"TRAFODION"."LOB130" +LOB handle for c2: LOBH00000200010444402145197522655619444402145240700183218212326652538314587020"TRAFODION"."LOB130" Extracting LOB data length for the above handle... LOB data length :230150 Extracting lob data into file in chunks of 1000 ... @@ -813,7 +813,7 @@ And the dish ran away with the spoon. >>sh rm t130_extract_command; >>sh grep "^LOBH" TMP130 | sed "s/^/extract lobtofile(LOB '/g" | sed "s/$/' , >>'tlob130_deep2.jpg');/g" >> t130_extract_command; >>obey t130_extract_command; ->>extract lobtofile(LOB 'LOBH00000200020592176192134736068419592176192198951613118212323494389654681020"TRAFODION"."LOB130" ' , 'tlob130_deep2.jpg'); +>>extract lobtofile(LOB 'LOBH00000200020444402145197525338319444402145262596729118212326652757023101020"TRAFODION"."LOB130" ' , 'tlob130_deep2.jpg'); Success. Targetfile :tlob130_deep2.jpg Length : 159018 --- SQL operation complete. @@ -822,7 +822,7 @@ Success. Targetfile :tlob130_deep2.jpg Length : 159018 >>sh rm t130_extract_command; >>sh grep "^LOBH" TMP130 | sed "s/^/extract lobtofile(LOB '/g" | sed "s/$/' , >>'hdfs:\/\/\/lobs\/tlob130_anoush2.jpg');/g" >> t130_extract_command; >>obey t130_extract_command; ->>extract lobtofile(LOB 'LOBH00000200030592176192134736068419592176192199447013618212323494394650219020"TRAFODION"."LOB130" ' , 'hdfs:///lobs/tlob130_anoush2.jpg'); +>>extract lobtofile(LOB 'LOBH00000200030444402145197525338319444402145263067935718212326652761934499020"TRAFODION"."LOB130" ' , 'hdfs:///lobs/tlob130_anoush2.jpg'); Success. Targetfile :hdfs:///lobs/tlob130_anoush2.jpg Length : 230150 --- SQL operation complete. @@ -849,7 +849,7 @@ Hey diddle diddle, >>sh rm t130_extract_command; >>sh grep "^LOBH" TMP130 | sed "s/^/extract lobtofile(LOB '/g" | sed "s/$/' , >>'tlob130_anoush3.jpg',create,truncate);/g" >> t130_extract_command; >>obey t130_extract_command; ->>extract lobtofile(LOB 'LOBH00000200030592176192134736435719592176192203041777118212323494430688273020"TRAFODION"."LOB130" ' , 'tlob130_anoush3.jpg',create,truncate); +>>extract lobtofile(LOB 'LOBH00000200030444402145197525709919444402145266700537718212326652798213124020"TRAFODION"."LOB130" ' , 'tlob130_anoush3.jpg',create,truncate); Success. Targetfile :tlob130_anoush3.jpg Length : 230150 --- SQL operation complete. @@ -934,5 +934,92 @@ C1 (EXPR) (EXPR) --- SQL operation complete. >> +>>obey TEST130(lob_get_cleanup); +>>log; +>>create table tlob130gt (c1 int not null, c2 blob, c3 clob, c4 blob, primary key (c1)); + +--- SQL operation complete. +>>insert into tlob130gt values (1, stringtolob('xxxx'), stringtolob('yyyy'), stringtolob('zzzzzzzzzzzzzz')); + +--- 1 row(s) inserted. +>>insert into tlob130gt values (2, stringtolob('xxxxx'), stringtolob('yyyyy'), stringtolob('zzzzzzzzzzzzzzz')); + +--- 1 row(s) inserted. +>>insert into tlob130gt values (3, stringtolob('xxxxxx'), stringtolob('yyyyyy'), stringtolob('zzzzzzzzzzzzzzzz')); + +--- 1 row(s) inserted. +>>get lob stats for table tlob130gt; + + +Lob Information for table: "TRAFODION".LOB130.TLOB130GT +========================= + + ColumnName : C2 + Lob Location : /lobs + LOB Data File: LOBP_04444021451975282701_0001 + LOB EOD : 15 + LOB Used Len : 15 + ColumnName : C3 + Lob Location : /lobs + LOB Data File: LOBP_04444021451975282701_0002 + LOB EOD : 15 + LOB Used Len : 15 + ColumnName : C4 + Lob Location : /lobs + LOB Data File: LOBP_04444021451975282701_0003 + LOB EOD : 45 + LOB Used Len : 45 + +--- SQL operation complete. +>>select * from table(lob stats(tlob130gt)); + +CATALOG_NAME SCHEMA_NAME OBJECT_NAME COLUMN_NAME LOB_LOCATION LOB_DATA_FILE LOB_DATA_FILE_SIZE_EOD LOB_DATA_FILE_SIZE_USED +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------- ----------------------- + +TRAFODION LOB130 TLOB130GT C2 /lobs LOBP_04444021451975282701_0001 15 15 +TRAFODION LOB130 TLOB130GT C3 /lobs LOBP_04444021451975282701_0002 15 15 +TRAFODION LOB130 TLOB130GT C4 /lobs LOBP_04444021451975282701_0003 45 45 + +--- 3 row(s) selected. +>>delete from tlob130gt where c1=2; + +--- 1 row(s) deleted. +>>insert into tlob130gt values (2, stringtolob('xxxxxxxxxxxxxxx'), stringtolob('yyyyyyyyyyyyyyyy'), stringtolob('zzzzzzzzzzzzzzzzzzzzzzzzzz')); + +--- 1 row(s) inserted. +>>get lob stats for table tlob130gt; + + +Lob Information for table: "TRAFODION".LOB130.TLOB130GT +========================= + + ColumnName : C2 + Lob Location : /lobs + LOB Data File: LOBP_04444021451975282701_0001 + LOB EOD : 30 + LOB Used Len : 25 + ColumnName : C3 + Lob Location : /lobs + LOB Data File: LOBP_04444021451975282701_0002 + LOB EOD : 31 + LOB Used Len : 26 + ColumnName : C4 + Lob Location : /lobs + LOB Data File: LOBP_04444021451975282701_0003 + LOB EOD : 71 + LOB Used Len : 56 + +--- SQL operation complete. +>>select * from table(lob stats(tlob130gt)); + +CATALOG_NAME SCHEMA_NAME OBJECT_NAME COLUMN_NAME LOB_LOCATION LOB_DATA_FILE LOB_DATA_FILE_SIZE_EOD LOB_DATA_FILE_SIZE_USED +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------- ----------------------- + +TRAFODION LOB130 TLOB130GT C2 /lobs LOBP_04444021451975282701_0001 30 25 +TRAFODION LOB130 TLOB130GT C3 /lobs LOBP_04444021451975282701_0002 31 26 +TRAFODION LOB130 TLOB130GT C4 /lobs LOBP_04444021451975282701_0003 71 56 + +--- 3 row(s) selected. +>> >>obey TEST130(lob_general_cleanup); >>log; http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bbe87c92/core/sql/regress/executor/FILTER130 ---------------------------------------------------------------------- diff --git a/core/sql/regress/executor/FILTER130 b/core/sql/regress/executor/FILTER130 index 1d96e2f..c19e884 100755 --- a/core/sql/regress/executor/FILTER130 +++ b/core/sql/regress/executor/FILTER130 @@ -27,4 +27,5 @@ fi sed " s/LOBH[0-9]*/@LOBHANDLE@/ +s/LOBP_[0-9]*/@LOBP@/ " $fil http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bbe87c92/core/sql/regress/executor/TEST130 ---------------------------------------------------------------------- diff --git a/core/sql/regress/executor/TEST130 b/core/sql/regress/executor/TEST130 index 108da27..ec98b6f 100755 --- a/core/sql/regress/executor/TEST130 +++ b/core/sql/regress/executor/TEST130 @@ -435,6 +435,24 @@ insert into tlob130gc values(9,stringtolob('aaaa'), stringtolob('bbbbb')); select c1,lobtostring(c2,10),lobtostring(c3,10) from tlob130gc; cqd LOB_GC_LIMIT_SIZE reset; +obey TEST130(lob_get_cleanup); +?section lob_get_cleanup +log; +drop table tlob130gt; +obey TEST130(lob_get_test); +?section lob_get_test +log LOG130; +create table tlob130gt (c1 int not null, c2 blob, c3 clob, c4 blob, primary key (c1)); +insert into tlob130gt values (1, stringtolob('xxxx'), stringtolob('yyyy'), stringtolob('zzzzzzzzzzzzzz')); +insert into tlob130gt values (2, stringtolob('xxxxx'), stringtolob('yyyyy'), stringtolob('zzzzzzzzzzzzzzz')); +insert into tlob130gt values (3, stringtolob('xxxxxx'), stringtolob('yyyyyy'), stringtolob('zzzzzzzzzzzzzzzz')); +get lob stats for table tlob130gt; +select * from table(lob stats(tlob130gt)); +delete from tlob130gt where c1=2; +insert into tlob130gt values (2, stringtolob('xxxxxxxxxxxxxxx'), stringtolob('yyyyyyyyyyyyyyyy'), stringtolob('zzzzzzzzzzzzzzzzzzzzzzzzzz')); +get lob stats for table tlob130gt; +select * from table(lob stats(tlob130gt)); + obey TEST130(lob_general_cleanup); -- cleanup ?section lob_general_cleanup @@ -461,6 +479,7 @@ sh rm tlob130txt2; sh rm lobc2out.jpg; sh rm TEST130_argfile; drop table tlob130gc; +drop table tlob130gt; drop schema trafodion.lob130 cascade; http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bbe87c92/core/sql/sqlcomp/CmpSeabaseDDLcleanup.cpp ---------------------------------------------------------------------- diff --git a/core/sql/sqlcomp/CmpSeabaseDDLcleanup.cpp b/core/sql/sqlcomp/CmpSeabaseDDLcleanup.cpp index 6ca1586..cbd2ba2 100644 --- a/core/sql/sqlcomp/CmpSeabaseDDLcleanup.cpp +++ b/core/sql/sqlcomp/CmpSeabaseDDLcleanup.cpp @@ -813,7 +813,9 @@ short CmpSeabaseMDcleanup::dropLOBs(ExeCliInterface *cliInterface) if (! lobMDName_) return 0; - + NABoolean lobTrace=FALSE; + if (getenv("TRACE_LOB_ACTIONS")) + lobTrace=TRUE; NAString newSchName = "\"" + catName_ + "\"" + "." + "\"" + schName_ + "\""; const char *lobHdfsServer = CmpCommon::getDefaultString(LOB_HDFS_SERVER); Int32 lobHdfsPort = (Lng32)CmpCommon::getDefaultNumeric(LOB_HDFS_PORT); @@ -826,7 +828,7 @@ short CmpSeabaseMDcleanup::dropLOBs(ExeCliInterface *cliInterface) lobTypList_, lobLocList_, (char *)lobHdfsServer, - lobHdfsPort,0); + lobHdfsPort,0,lobTrace); return 0; } http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bbe87c92/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp ---------------------------------------------------------------------- diff --git a/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp b/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp index a401828..5cb0759 100644 --- a/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp +++ b/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp @@ -2252,6 +2252,9 @@ short CmpSeabaseDDL::createSeabaseTable2( newSchName.append("\".\""); newSchName.append(schemaNamePart); newSchName += "\""; + NABoolean lobTrace=FALSE; + if (getenv("TRACE_LOB_ACTIONS")) + lobTrace=TRUE; rc = SQL_EXEC_LOBddlInterface((char*)newSchName.data(), newSchName.length(), objUID, @@ -2262,7 +2265,8 @@ short CmpSeabaseDDL::createSeabaseTable2( lobLocList, (char *)lobHdfsServer, lobHdfsPort, - lobMaxSize); + lobMaxSize, + lobTrace); if (rc < 0) { @@ -3605,6 +3609,10 @@ short CmpSeabaseDDL::dropSeabaseTable2( newSchName.append("\".\""); newSchName.append(schemaNamePart); newSchName += "\""; + NABoolean lobTrace = FALSE; + if (getenv("TRACE_LOB_ACTIONS")) + lobTrace=TRUE; + rc = SQL_EXEC_LOBddlInterface((char*)newSchName.data(), newSchName.length(), objUID, @@ -3612,7 +3620,7 @@ short CmpSeabaseDDL::dropSeabaseTable2( LOB_CLI_DROP, lobNumList, lobTypList, - lobLocList,(char *)lobHdfsServer, lobHdfsPort,0); + lobLocList,(char *)lobHdfsServer, lobHdfsPort,0,lobTrace); if (rc < 0) { *CmpCommon::diags() << DgSqlCode(-CAT_UNABLE_TO_DROP_OBJECT) http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bbe87c92/core/sql/sqlmxevents/logmxevent_traf.cpp ---------------------------------------------------------------------- diff --git a/core/sql/sqlmxevents/logmxevent_traf.cpp b/core/sql/sqlmxevents/logmxevent_traf.cpp index 4ca7d93..7e4021f 100644 --- a/core/sql/sqlmxevents/logmxevent_traf.cpp +++ b/core/sql/sqlmxevents/logmxevent_traf.cpp @@ -72,7 +72,7 @@ void SQLMXLoggingArea::init() else { sprintf(buffer, "SQLMXLoggingArea::init() pthread_mutex_init() rc=%d", rc); - logSQLMXDebugEvent(buffer, (short)rc); + logSQLMXDebugEvent(buffer, (short)rc,__LINE__); } } } @@ -275,11 +275,11 @@ void SQLMXLoggingArea::logSQLMXPredefinedEvent(const char *msg, logLevel level) unlockMutex(); } -void SQLMXLoggingArea::logSQLMXDebugEvent(const char *msg, short errorcode, bool lock) +void SQLMXLoggingArea::logSQLMXDebugEvent(const char *msg, short errorcode, Int32 line) { - bool lockedMutex = lock ? lockMutex() : false; + bool lockedMutex = lockMutex() ; - QRLogger::log(QRLogger::instance().getMyDefaultCat(), LL_DEBUG, "%s ", msg); + QRLogger::log(QRLogger::instance().getMyDefaultCat(), LL_DEBUG, "%s ERRORCODE:%d LINE:%d ", msg,errorcode,line); if (lockedMutex) unlockMutex(); http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bbe87c92/core/sql/sqlmxevents/logmxevent_traf.h ---------------------------------------------------------------------- diff --git a/core/sql/sqlmxevents/logmxevent_traf.h b/core/sql/sqlmxevents/logmxevent_traf.h index e23bd5c..3303a43 100644 --- a/core/sql/sqlmxevents/logmxevent_traf.h +++ b/core/sql/sqlmxevents/logmxevent_traf.h @@ -161,7 +161,7 @@ class SQLMXLoggingArea const char *msg, Int32 level); - static void logSQLMXDebugEvent(const char *msg, short errorcode, bool lock=true); + static void logSQLMXDebugEvent(const char *msg, short errorcode, Int32 lineno); // events that correspond to messages generated by CommonLogger or its subclasses. static void logCommonLoggerInfoEvent(ULng32 eventId, const char *msg);
