Changeset: 9a3674444ff0 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9a3674444ff0
Modified Files:
        monetdb5/modules/mosaic/mosaic_raw.c
Branch: mosaic
Log Message:

Fix mosaic_raw_select.


diffs (151 lines):

diff --git a/monetdb5/modules/mosaic/mosaic_raw.c 
b/monetdb5/modules/mosaic/mosaic_raw.c
--- a/monetdb5/modules/mosaic/mosaic_raw.c
+++ b/monetdb5/modules/mosaic/mosaic_raw.c
@@ -378,80 +378,80 @@ MOSselect_raw( MOStask task, void *low, 
                case 2: break ;
                case 4: break ;
                case 8: break ;
+       }
+       default: {
+               if( task->type == TYPE_date)
+                       select_raw(date); 
+               if( task->type == TYPE_daytime)
+                       select_raw(daytime); 
                
-               default:
-                       if( task->type == TYPE_date)
-                               select_raw(date); 
-                       if( task->type == TYPE_daytime)
-                               select_raw(daytime); 
-                       
-                       if( task->type == TYPE_timestamp)
-                               {       lng *val= (lng*) (((char*) task->blk) + 
MosaicBlkSize);
-                                       int lownil = 
is_timestamp_nil(*(timestamp*)low);
-                                       int hghnil = 
is_timestamp_nil(*(timestamp*)hgh);
+               if( task->type == TYPE_timestamp)
+                       {       lng *val= (lng*) (((char*) task->blk) + 
MosaicBlkSize);
+                               int lownil = is_timestamp_nil(*(timestamp*)low);
+                               int hghnil = is_timestamp_nil(*(timestamp*)hgh);
 
-                                       if( !*anti){
-                                               if( lownil && hghnil){
-                                                       for( ; first < last; 
first++, val++){
-                                                               MOSskipit();
+                               if( !*anti){
+                                       if( lownil && hghnil){
+                                               for( ; first < last; first++, 
val++){
+                                                       MOSskipit();
+                                                       *o++ = (oid) first;
+                                               }
+                                       } else
+                                       if( lownil){
+                                               for( ; first < last; first++, 
val++){
+                                                       MOSskipit();
+                                                       cmp  =  ((*hi && 
*(lng*)val <= * (lng*)hgh ) || (!*hi && *(lng*)val < *(lng*)hgh ));
+                                                       if (cmp )
+                                                               *o++ = (oid) 
first;
+                                               }
+                                       } else
+                                       if( hghnil){
+                                               for( ; first < last; first++, 
val++){
+                                                       MOSskipit();
+                                                       cmp  =  ((*li && 
*(lng*)val >= * (lng*)low ) || (!*li && *(lng*)val > *(lng*)low ));
+                                                       if (cmp )
                                                                *o++ = (oid) 
first;
-                                                       }
-                                               } else
-                                               if( lownil){
-                                                       for( ; first < last; 
first++, val++){
-                                                               MOSskipit();
-                                                               cmp  =  ((*hi 
&& *(lng*)val <= * (lng*)hgh ) || (!*hi && *(lng*)val < *(lng*)hgh ));
-                                                               if (cmp )
-                                                                       *o++ = 
(oid) first;
-                                                       }
-                                               } else
-                                               if( hghnil){
-                                                       for( ; first < last; 
first++, val++){
-                                                               MOSskipit();
-                                                               cmp  =  ((*li 
&& *(lng*)val >= * (lng*)low ) || (!*li && *(lng*)val > *(lng*)low ));
-                                                               if (cmp )
-                                                                       *o++ = 
(oid) first;
-                                                       }
-                                               } else{
-                                                       for( ; first < last; 
first++, val++){
-                                                               MOSskipit();
-                                                               cmp  =  ((*hi 
&& *(lng*)val <= * (lng*)hgh ) || (!*hi && *(lng*)val < *(lng*)hgh )) &&
-                                                                               
((*li && *(lng*)val >= * (lng*)low ) || (!*li && *(lng*)val > *(lng*)low ));
-                                                               if (cmp )
-                                                                       *o++ = 
(oid) first;
-                                                       }
+                                               }
+                                       } else{
+                                               for( ; first < last; first++, 
val++){
+                                                       MOSskipit();
+                                                       cmp  =  ((*hi && 
*(lng*)val <= * (lng*)hgh ) || (!*hi && *(lng*)val < *(lng*)hgh )) &&
+                                                                       ((*li 
&& *(lng*)val >= * (lng*)low ) || (!*li && *(lng*)val > *(lng*)low ));
+                                                       if (cmp )
+                                                               *o++ = (oid) 
first;
                                                }
-                                       } else {
-                                               if( lownil && hghnil){
-                                                       /* nothing is matching 
*/
-                                               } else
-                                               if( lownil){
-                                                       for( ; first < last; 
first++, val++){
-                                                               MOSskipit();
-                                                               cmp  =  ((*hi 
&& *(lng*)val <= * (lng*)hgh ) || (!*hi && *(lng*)val < *(lng*)hgh ));
-                                                               if ( !cmp )
-                                                                       *o++ = 
(oid) first;
-                                                       }
-                                               } else
-                                               if( hghnil){
-                                                       for( ; first < last; 
first++, val++){
-                                                               MOSskipit();
-                                                               cmp  =  ((*li 
&& *(lng*)val >= * (lng*)low ) || (!*li && *(lng*)val > *(lng*)low ));
-                                                               if ( !cmp )
-                                                                       *o++ = 
(oid) first;
-                                                       }
-                                               } else{
-                                                       for( ; first < last; 
first++, val++){
-                                                               MOSskipit();
-                                                               cmp  =  ((*hi 
&& *(lng*)val <= * (lng*)hgh ) || (!*hi && *(lng*)val < *(lng*)hgh )) &&
-                                                                               
((*li && *(lng*)val >= * (lng*)low ) || (!*li && *(lng*)val > *(lng*)low ));
-                                                               if ( !cmp )
-                                                                       *o++ = 
(oid) first;
-                                                       }
+                                       }
+                               } else {
+                                       if( lownil && hghnil){
+                                               /* nothing is matching */
+                                       } else
+                                       if( lownil){
+                                               for( ; first < last; first++, 
val++){
+                                                       MOSskipit();
+                                                       cmp  =  ((*hi && 
*(lng*)val <= * (lng*)hgh ) || (!*hi && *(lng*)val < *(lng*)hgh ));
+                                                       if ( !cmp )
+                                                               *o++ = (oid) 
first;
+                                               }
+                                       } else
+                                       if( hghnil){
+                                               for( ; first < last; first++, 
val++){
+                                                       MOSskipit();
+                                                       cmp  =  ((*li && 
*(lng*)val >= * (lng*)low ) || (!*li && *(lng*)val > *(lng*)low ));
+                                                       if ( !cmp )
+                                                               *o++ = (oid) 
first;
+                                               }
+                                       } else{
+                                               for( ; first < last; first++, 
val++){
+                                                       MOSskipit();
+                                                       cmp  =  ((*hi && 
*(lng*)val <= * (lng*)hgh ) || (!*hi && *(lng*)val < *(lng*)hgh )) &&
+                                                                       ((*li 
&& *(lng*)val >= * (lng*)low ) || (!*li && *(lng*)val > *(lng*)low ));
+                                                       if ( !cmp )
+                                                               *o++ = (oid) 
first;
                                                }
                                        }
                                }
-               }
+                       }
+       }
        }
        MOSskip_raw(task);
        task->lb = o;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to