Changeset: d4278fa444fa for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d4278fa444fa Modified Files: monetdb5/conf/monetdb5.conf.in monetdb5/extras/crackers/crackers.mx monetdb5/extras/crackers/crackers_core_unordered.mx monetdb5/extras/crackers/crackers_sideways.mx monetdb5/extras/crackers/crackers_updates.mx monetdb5/modules/mal/Tests/inspect05.stable.out monetdb5/optimizer/opt_crack.mx monetdb5/optimizer/opt_selcrack.mx monetdb5/optimizer/opt_sidcrack.mx Branch: default Log Message:
Merge with Oct2010 branch. diffs (210 lines): diff --git a/monetdb5/conf/monetdb5.conf.in b/monetdb5/conf/monetdb5.conf.in --- a/monetdb5/conf/monetdb5.conf.in +++ b/monetdb5/conf/monetdb5.conf.in @@ -238,8 +238,8 @@ recycler_pipe=inline,remap,evaluate,costModel,coercions,emptySet,aliases,deadcode,constants,commonTerms,joinPath,deadcode,recycle,reduce,dataflow,history,multiplex,garbageCollector # # The Cracking pipeline(s) -cracker_pipe=inline,remap,evaluate,costModel,coercions,emptySet,aliases,selcrack,deadcode,constants,commonTerms,joinPath,deadcode,reduce,dataflow,history,multiplex,garbageCollector -sidcrack_pipe=inline,remap,evaluate,costModel,coercions,emptySet,aliases,sidcrack,deadcode,constants,commonTerms,joinPath,deadcode,reduce,dataflow,history,multiplex,garbageCollector +cracker_pipe=inline,remap,evaluate,costModel,coercions,emptySet,aliases,selcrack,deadcode,commonTerms,joinPath,reorder,deadcode,reduce,dataflow,history,multiplex,garbageCollector +sidcrack_pipe=inline,remap,evaluate,costModel,coercions,emptySet,aliases,sidcrack,deadcode,commonTerms,joinPath,reorder,deadcode,reduce,dataflow,history,multiplex,garbageCollector # # The datacell pipeline datacell_pipe=inline,remap,evaluate,costModel,coercions,emptySet,aliases,deadcode,constants,commonTerms,joinPath,datacell,deadcode,reduce,dataflow,history,multiplex,garbageCollector diff --git a/monetdb5/extras/crackers/crackers.mx b/monetdb5/extras/crackers/crackers.mx --- a/monetdb5/extras/crackers/crackers.mx +++ b/monetdb5/extras/crackers/crackers.mx @@ -135,6 +135,7 @@ @:@1(dbl,str)@ @:@1(dbl,int)@ @:@1(dbl,dbl)@ +@:@1(int,lng)@ @ @= TypeSwitch_joins1 diff --git a/monetdb5/extras/crackers/crackers_core_unordered.mx b/monetdb5/extras/crackers/crackers_core_unordered.mx --- a/monetdb5/extras/crackers/crackers_core_unordered.mx +++ b/monetdb5/extras/crackers/crackers_core_unordered.mx @@ -46,6 +46,7 @@ @= TypeSwitch_4 /* TODO: add the rest of the type combinations once code is stable */ +@:@1(int,lng,simple,,,@2)@ @:@1(int,int,simple,,,@2)@ @:@1(int,date,simple,,,@2)@ @:@1(int,oid,simple,,,@2)@ diff --git a/monetdb5/extras/crackers/crackers_sideways.mx b/monetdb5/extras/crackers/crackers_sideways.mx --- a/monetdb5/extras/crackers/crackers_sideways.mx +++ b/monetdb5/extras/crackers/crackers_sideways.mx @@ -46,6 +46,7 @@ @= TypeSwitch_3 /* TODO: add the rest of the type combinations once code is stable */ +@:@1(int,lng,simple,,int,@2)@ @:@1(int,int,simple,,int,@2)@ @:@1(int,str,simple,,int,@2)@ @:@1(int,date,simple,,int,@2)@ diff --git a/monetdb5/extras/crackers/crackers_updates.mx b/monetdb5/extras/crackers/crackers_updates.mx --- a/monetdb5/extras/crackers/crackers_updates.mx +++ b/monetdb5/extras/crackers/crackers_updates.mx @@ -37,6 +37,7 @@ @:@1(dbl,simple,,oid)@ @:@1(date,atom,TYPE_,oid)@ +@:@1(int,simple,,lng)@ @:@1(int,simple,,int)@ @:@1(int,simple,,str)@ @:@1(int,simple,,date)@ diff --git a/monetdb5/modules/mal/Tests/inspect05.stable.out b/monetdb5/modules/mal/Tests/inspect05.stable.out --- a/monetdb5/modules/mal/Tests/inspect05.stable.out +++ b/monetdb5/modules/mal/Tests/inspect05.stable.out @@ -78,6 +78,7 @@ [ "xquery", "command", "xml", "(val:bat[:oid,:str],expr:str):bat[:oid,:xml] ", "BATXMLxquery;" ] [ "xml", "command", "xml", "(src:bat[:oid,:str]):bat[:oid,:xml] ", "BATXMLstr2xml;" ] [ "xml", "command", "xml", "(src:str):xml ", "XMLstr2xml;" ] +[ "DeleteMap", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng]):void ", "DeleteCrackerMap;" ] [ "DeleteMap", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:dbl]):void ", "DeleteCrackerMap;" ] [ "DeleteMap", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:int]):void ", "DeleteCrackerMap;" ] [ "DeleteMap", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:str]):void ", "DeleteCrackerMap;" ] @@ -157,6 +158,10 @@ [ "crackOrdered", "command", "crackers", "(b:bat[:oid,:int],mid:int):bat[:oid,:int] ", "CRKcrackOrderedOne_int;" ] [ "crackOrdered", "command", "crackers", "(b:bat[:oid,:sht],mid:sht):bat[:oid,:sht] ", "CRKcrackOrderedOne_sht;" ] [ "crackOrdered", "command", "crackers", "(b:bat[:oid,:chr],mid:chr):bat[:oid,:chr] ", "CRKcrackOrderedOne_chr;" ] +[ "dprojectH", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],pivot:bat[:oid,:bit]):bat[:oid,:int] ", "CRKdProjectH_int_lng;" ] +[ "dproject", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],pivot:bat[:oid,:bit]):bat[:oid,:lng] ", "CRKdProject_int_lng;" ] +[ "djoinselect", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],pivot:bat[:oid,:bit],l:lng,h:lng,li:bit,hi:bit):bat[:oid,:bit] ", "CRKdjoinSelectSideways_P_int_lng;" ] +[ "dselect", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],l:int,h:int,li:bit,hi:bit,l2:lng,h2:lng,li2:bit,hi2:bit):bat[:oid,:bit] ", "CRKdselectBoundsSideways_int_lng;" ] [ "dprojectH", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:dbl],pivot:bat[:oid,:bit]):bat[:oid,:dbl] ", "CRKdProjectH_dbl_dbl;" ] [ "dproject", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:dbl],pivot:bat[:oid,:bit]):bat[:oid,:dbl] ", "CRKdProject_dbl_dbl;" ] [ "djoinselect", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:dbl],pivot:bat[:oid,:bit],l:dbl,h:dbl,li:bit,hi:bit):bat[:oid,:bit] ", "CRKdjoinSelectSideways_P_dbl_dbl;" ] @@ -237,6 +242,7 @@ [ "deletionsOnNeedGraduallyRipple", "command", "crackers", "(b:bat[:any_1,:chr],c:bat[:any_1,:chr]):void ", "CRKmergeDeletions_OnNeedGraduallyRipple;" ] [ "deletionsOnNeedGradually", "command", "crackers", "(b:bat[:any_1,:chr],c:bat[:any_1,:chr]):void ", "CRKmergeDeletions_OnNeedGradually;" ] [ "deletionsOnNeed", "command", "crackers", "(b:bat[:any_1,:chr],c:bat[:any_1,:chr]):void ", "CRKmergeDeletions_OnNeed;" ] +[ "extendCrackerMap", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],P:lng):void ", "CRKextendCrackerMap;" ] [ "extendCrackerMap", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:dbl],P:lng):void ", "CRKextendCrackerMap;" ] [ "extendCrackerMap", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:int],P:lng):void ", "CRKextendCrackerMap;" ] [ "extendCrackerMap", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:str],P:lng):void ", "CRKextendCrackerMap;" ] @@ -273,6 +279,8 @@ [ "extsort", "command", "crackers", "(b:bat[:oid,:chr],mode:int):bat[:oid,:chr] ", "CRKPartitionedSort_chr;" ] [ "fmremoveMap", "command", "crackers", "():void ", "CRKremoveFullMap;" ] [ "fmclearReferences", "command", "crackers", "():void ", "CRKclearReferencesFullMaps;" ] +[ "fmcreateMap", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng]):void ", "CRKcreateFullMap_int_lng;" ] +[ "fmaddReference", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng]):void ", "CRKaddReferenceFullMaps;" ] [ "fmcreateMap", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:dbl]):void ", "CRKcreateFullMap_dbl_dbl;" ] [ "fmaddReference", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:dbl]):void ", "CRKaddReferenceFullMaps;" ] [ "fmcreateMap", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:int]):void ", "CRKcreateFullMap_dbl_int;" ] @@ -302,6 +310,7 @@ [ "fullAlignment", "command", "crackers", "(b1:bat[:oid,:int],b2:bat[:oid,:int],b3:bat[:oid,:oid]):void ", "CRKFullAlignment_int_oid;" ] [ "fullAlignment", "command", "crackers", "(b1:bat[:oid,:int],b2:bat[:oid,:int],b3:bat[:oid,:int]):void ", "CRKFullAlignment_int_int;" ] [ "getTotalStorage", "command", "crackers", "():void ", "CRKgetTotalStorage;" ] +[ "getMap", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng]):bat[:int,:lng] ", "getCrackerMap;" ] [ "getMap", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:dbl]):bat[:dbl,:dbl] ", "getCrackerMap;" ] [ "getMap", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:int]):bat[:dbl,:int] ", "getCrackerMap;" ] [ "getMap", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:str]):bat[:dbl,:str] ", "getCrackerMap;" ] @@ -322,6 +331,7 @@ [ "getCrackerBAT", "command", "crackers", "(b:bat[:oid,:int]):bat[:oid,:int] ", "CRKgetCrackerBAT;" ] [ "getCrackerBAT", "command", "crackers", "(b:bat[:oid,:sht]):bat[:oid,:sht] ", "CRKgetCrackerBAT;" ] [ "getCrackerBAT", "command", "crackers", "(b:bat[:oid,:chr]):bat[:oid,:chr] ", "CRKgetCrackerBAT;" ] +[ "hselect", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],l:int,h:int,li:bit,hi:bit):bat[:oid,:int] ", "CRKhselectBoundsSideways_int_lng;" ] [ "hselect", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:dbl],l:dbl,h:dbl,li:bit,hi:bit):bat[:oid,:dbl] ", "CRKhselectBoundsSideways_dbl_dbl;" ] [ "hselect", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:int],l:dbl,h:dbl,li:bit,hi:bit):bat[:oid,:dbl] ", "CRKhselectBoundsSideways_dbl_int;" ] [ "hselect", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:str],l:dbl,h:dbl,li:bit,hi:bit):bat[:oid,:dbl] ", "CRKhselectBoundsSideways_dbl_str;" ] @@ -335,6 +345,7 @@ [ "hselect", "command", "crackers", "(b:bat[:oid,:date],bp:bat[:oid,:int],l:date,h:date,li:bit,hi:bit):bat[:oid,:date] ", "CRKhselectBoundsSideways_date_int;" ] [ "hselect", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:date],l:int,h:int,li:bit,hi:bit):bat[:oid,:int] ", "CRKhselectBoundsSideways_int_date;" ] [ "hselect", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:int],l:int,h:int,li:bit,hi:bit):bat[:oid,:int] ", "CRKhselectBoundsSideways_int_int;" ] +[ "insert", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],c:bat[:int,:lng]):void ", "CRKinsert;" ] [ "insert", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:dbl],c:bat[:dbl,:dbl]):void ", "CRKinsert;" ] [ "insert", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:int],c:bat[:dbl,:int]):void ", "CRKinsert;" ] [ "insert", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:str],c:bat[:dbl,:str]):void ", "CRKinsert;" ] @@ -390,6 +401,8 @@ [ "insertionsForget", "command", "crackers", "(b:bat[:any_1,:chr],c:bat[:any_1,:chr]):void ", "CRKmergeInsertions_Forget;" ] [ "insertionsBForce", "command", "crackers", "(b:bat[:any_1,:chr],c:bat[:any_1,:chr]):void ", "CRKmergeInsertionsB_Force_chr;" ] [ "insertionsPartiallyForget", "command", "crackers", "(b:bat[:any_1,:chr],c:bat[:any_1,:chr]):void ", "CRKmergeInsertions_PartiallyForget_chr;" ] +[ "jointhetaselect", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],pivot:bat[:oid,:bit],cl:int,ch:int,cli:bit,chi:bit,l:lng,op:str):bat[:oid,:bit] ", "CRKjointhetaSelectSideways_P_int_lng;" ] +[ "joinselect", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],pivot:bat[:oid,:bit],cl:int,ch:int,cli:bit,chi:bit,l:lng,h:lng,li:bit,hi:bit):bat[:oid,:bit] ", "CRKjoinSelectSideways_P_int_lng;" ] [ "jointhetaselect", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:dbl],pivot:bat[:oid,:bit],cl:dbl,ch:dbl,cli:bit,chi:bit,l:dbl,op:str):bat[:oid,:bit] ", "CRKjointhetaSelectSideways_P_dbl_dbl;" ] [ "joinselect", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:dbl],pivot:bat[:oid,:bit],cl:dbl,ch:dbl,cli:bit,chi:bit,l:dbl,h:dbl,li:bit,hi:bit):bat[:oid,:bit] ", "CRKjoinSelectSideways_P_dbl_dbl;" ] [ "jointhetaselect", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:int],pivot:bat[:oid,:bit],cl:dbl,ch:dbl,cli:bit,chi:bit,l:int,op:str):bat[:oid,:bit] ", "CRKjointhetaSelectSideways_P_dbl_int;" ] @@ -452,6 +465,7 @@ [ "joinuselect", "command", "crackers", "(right:bat[:oid,:chr],l:chr,h:chr,li:bit,hi:bit,left:bat[:oid,:void],inPlace:bit,isForeignKey:bit):bat[:oid,:void] ", "CRKjoinSelectBounds_chr;" ] [ "joinuselect", "command", "crackers", "(right:bat[:oid,:chr],l:chr,h:chr,li:bit,hi:bit,left:bat[:oid,:void]):bat[:oid,:void] ", "CRKjoinSelectDefault_chr;" ] [ "mapCount", "command", "crackers", "(b:bat[:oid,:oid]):lng ", "CRKbatCount;" ] +[ "markedproject", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],pivot:bat[:oid,:bit],l:int,h:int,li:bit,hi:bit):bat[:oid,:lng] ", "CRKMarkedProject_int_lng;" ] [ "markedproject", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:dbl],pivot:bat[:oid,:bit],l:dbl,h:dbl,li:bit,hi:bit):bat[:oid,:dbl] ", "CRKMarkedProject_dbl_dbl;" ] [ "markedproject", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:int],pivot:bat[:oid,:bit],l:dbl,h:dbl,li:bit,hi:bit):bat[:oid,:int] ", "CRKMarkedProject_dbl_int;" ] [ "markedproject", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:str],pivot:bat[:oid,:bit],l:dbl,h:dbl,li:bit,hi:bit):bat[:oid,:str] ", "CRKMarkedProject_dbl_str;" ] @@ -466,6 +480,19 @@ [ "markedproject", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:date],pivot:bat[:oid,:bit],l:int,h:int,li:bit,hi:bit):bat[:oid,:date] ", "CRKMarkedProject_int_date;" ] [ "markedproject", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:int],pivot:bat[:oid,:bit],l:int,h:int,li:bit,hi:bit):bat[:oid,:int] ", "CRKMarkedProject_int_int;" ] [ "materializeHead", "command", "crackers", "(b:bat[:oid,:int]):void ", "CRKmaterializeH;" ] +[ "pmclearReferences", "command", "crackers", "(b:bat[:oid,:int]):void ", "CRKclearReferences;" ] +[ "pmaddReference", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng]):void ", "CRKaddReference;" ] +[ "pmmaxTail", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],l:int,h:int,li:bit,hi:bit):bat[:oid,:lng] ", "CRKMaxTailIncrementalSideways_int_lng;" ] +[ "pmproject", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],pivot:bat[:oid,:bit],l:int,h:int,li:bit,hi:bit):bat[:oid,:lng] ", "CRKProjectIncrementalSideways_int_lng;" ] +[ "pmjoinselect", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],pivot:bat[:oid,:bit],cl:int,ch:int,cli:bit,chi:bit,l:lng,h:lng,li:bit,hi:bit):bat[:oid,:bit] ", "CRKjoinSelectIncrementalSideways_int_lng;" ] +[ "pmtselect", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],l:int,h:int,li:bit,hi:bit):bat[:oid,:lng] ", "CRKselectBoundsTailIncrementalSideways_int_lng;" ] +[ "pmselect", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],l:int,h:int,li:bit,hi:bit,l2:lng,h2:lng,li2:bit,hi2:bit):bat[:oid,:bit] ", "CRKselectBoundsIncrementalSideways_int_lng;" ] +[ "positionproject", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],pivot:bat[:oid,:oid]):bat[:oid,:lng] ", "CRKdPositionProject_int_lng;" ] +[ "positionproject", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],PositionPivot:bat[:oid,:oid],l:int,h:int,li:bit,hi:bit):bat[:oid,:lng] ", "CRKPositionProject_int_lng;" ] +[ "projectH", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],pivot:bat[:oid,:bit],l:int,h:int,li:bit,hi:bit):bat[:oid,:int] ", "CRKProjectH_int_lng;" ] +[ "project", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],pivot:bat[:oid,:bit],l:int,h:int,li:bit,hi:bit):bat[:oid,:lng] ", "CRKProject_int_lng;" ] +[ "project", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],l:int,h:int,li:bit,hi:bit):bat[:oid,:lng] ", "CRKProjectCrack_int_lng;" ] +[ "printPendingInsertions", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng]):void ", "CRKprintPendingInsertions;" ] [ "pmclearReferences", "command", "crackers", "(b:bat[:oid,:dbl]):void ", "CRKclearReferences;" ] [ "pmaddReference", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:dbl]):void ", "CRKaddReference;" ] [ "pmmaxTail", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:dbl],l:dbl,h:dbl,li:bit,hi:bit):bat[:oid,:dbl] ", "CRKMaxTailIncrementalSideways_dbl_dbl;" ] @@ -671,6 +698,7 @@ [ "printCrackerDeletions", "command", "crackers", "(b:bat[:any_1,:chr]):void ", "CRKprintCrackerDeletions;" ] [ "printCrackerInsertions", "command", "crackers", "(b:bat[:any_1,:chr]):void ", "CRKprintCrackerInsertions;" ] [ "setStorageThreshold", "command", "crackers", "(threshold:lng):void ", "CRKsetStorageThreshold;" ] +[ "sizePendingInsertions", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng]):void ", "CRKsizePendingInsertions;" ] [ "sizePendingInsertions", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:dbl]):void ", "CRKsizePendingInsertions;" ] [ "sizePendingInsertions", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:int]):void ", "CRKsizePendingInsertions;" ] [ "sizePendingInsertions", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:str]):void ", "CRKsizePendingInsertions;" ] @@ -750,6 +778,7 @@ [ "select", "command", "crackers", "(b:bat[:oid,:chr],l:chr,h:chr,li:bit,hi:bit):bat[:oid,:chr] ", "CRKselectBounds_chr;" ] [ "select", "command", "crackers", "(b:bat[:oid,:chr],l:chr):bat[:oid,:chr] ", "CRKselectValue_chr;" ] [ "select", "command", "crackers", "(b:bat[:oid,:chr],l:chr,h:chr):bat[:oid,:chr] ", "CRKselect_chr;" ] +[ "tselect", "command", "crackers", "(b:bat[:oid,:int],bp:bat[:oid,:lng],l:int,h:int,li:bit,hi:bit):bat[:oid,:lng] ", "CRKtselectBoundsSideways_int_lng;" ] [ "tselect", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:dbl],l:dbl,h:dbl,li:bit,hi:bit):bat[:oid,:dbl] ", "CRKtselectBoundsSideways_dbl_dbl;" ] [ "tselect", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:int],l:dbl,h:dbl,li:bit,hi:bit):bat[:oid,:int] ", "CRKtselectBoundsSideways_dbl_int;" ] [ "tselect", "command", "crackers", "(b:bat[:oid,:dbl],bp:bat[:oid,:str],l:dbl,h:dbl,li:bit,hi:bit):bat[:oid,:str] ", "CRKtselectBoundsSideways_dbl_str;" ] diff --git a/monetdb5/optimizer/opt_crack.mx b/monetdb5/optimizer/opt_crack.mx --- a/monetdb5/optimizer/opt_crack.mx +++ b/monetdb5/optimizer/opt_crack.mx @@ -78,7 +78,7 @@ continue; /* avoid cracking delta bats used for updates */ - if (getModuleId(p)== sqlRef && mb->var[getArg(p,4)]->value.val.ival != 0 ) + if (getModuleId(p)== sqlRef && mb->var[getArg(p,5)]->value.val.ival != 0 ) continue; varSetProp(mb, getArg(p, 0), canBeCrackedProp, 0, NULL); diff --git a/monetdb5/optimizer/opt_selcrack.mx b/monetdb5/optimizer/opt_selcrack.mx --- a/monetdb5/optimizer/opt_selcrack.mx +++ b/monetdb5/optimizer/opt_selcrack.mx @@ -105,7 +105,7 @@ } /* avoid cracking delta bats used for updates */ - if (mb->var[getArg(p,4)]->value.val.ival != 0 ) + if (mb->var[getArg(p,5)]->value.val.ival != 0 ) continue; varSetProp(mb, getArg(p, 0), canBeCrackedProp, 0, NULL); diff --git a/monetdb5/optimizer/opt_sidcrack.mx b/monetdb5/optimizer/opt_sidcrack.mx --- a/monetdb5/optimizer/opt_sidcrack.mx +++ b/monetdb5/optimizer/opt_sidcrack.mx @@ -99,7 +99,7 @@ } /* avoid cracking delta bats used for updates */ - if (mb->var[getArg(p,4)]->value.val.ival != 0 ) + if (mb->var[getArg(p,5)]->value.val.ival != 0 ) continue; vp = VALset(&v, TYPE_int,&i); _______________________________________________ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list