Changeset: 8a64aa8e8050 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/8a64aa8e8050
Added Files:
        sql/test/BugTracker-2021/Tests/ntile-wrong-result.Bug-7104.test
Removed Files:
        sql/test/BugTracker-2021/Tests/ntile-wrong-result.Bug-7104.sql
        sql/test/BugTracker-2021/Tests/ntile-wrong-result.Bug-7104.stable.err
        sql/test/BugTracker-2021/Tests/ntile-wrong-result.Bug-7104.stable.out
Modified Files:
        gdk/gdk_analytic_func.c
Branch: default
Log Message:

Merged with Oct2020


diffs (214 lines):

diff --git a/gdk/gdk_analytic_func.c b/gdk/gdk_analytic_func.c
--- a/gdk/gdk_analytic_func.c
+++ b/gdk/gdk_analytic_func.c
@@ -44,8 +44,7 @@ GDKrebuild_segment_tree(oid ncount, oid 
 
 #define NTILE_CALC(TPE, NEXT_VALUE, LNG_HGE, UPCAST, VALIDATION)       \
        do {                                    \
-               TPE j = 0; \
-               UPCAST ncnt = (UPCAST) (i - k); \
+               UPCAST j = 0, ncnt = (UPCAST) (i - k); \
                for (; k < i; k++, j++) {       \
                        TPE val = NEXT_VALUE; \
                        if (is_##TPE##_nil(val)) {      \
@@ -55,7 +54,7 @@ GDKrebuild_segment_tree(oid ncount, oid 
                                UPCAST nval = (UPCAST) LNG_HGE; \
                                VALIDATION /* validation must come after null 
check */  \
                                if (nval >= ncnt) { \
-                                       rb[k] = j + 1;  \
+                                       rb[k] = (TPE)(j + 1);  \
                                } else { \
                                        UPCAST bsize = ncnt / nval; \
                                        UPCAST top = ncnt - nval * bsize; \
diff --git a/sql/test/BugTracker-2021/Tests/All 
b/sql/test/BugTracker-2021/Tests/All
--- a/sql/test/BugTracker-2021/Tests/All
+++ b/sql/test/BugTracker-2021/Tests/All
@@ -1,3 +1,4 @@
 update-from-count.Bug-7079
 HAVE_PYMONETDB?remote-table-ranges.Bug-7089
 KNOWNFAIL?query-too-complex.Bug-7092
+ntile-wrong-result.Bug-7104
diff --git a/sql/test/BugTracker-2021/Tests/ntile-wrong-result.Bug-7104.test 
b/sql/test/BugTracker-2021/Tests/ntile-wrong-result.Bug-7104.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2021/Tests/ntile-wrong-result.Bug-7104.test
@@ -0,0 +1,179 @@
+statement ok
+START TRANSACTION
+
+statement ok
+CREATE TABLE stringpower(kw INTEGER)
+
+statement ok
+COPY 160 RECORDS INTO stringpower FROM STDIN USING DELIMITERS E' ',E'\n','"'
+<COPY_INTO_DATA>
+25
+12
+23
+34
+23
+24
+34
+23
+21
+45
+23
+232
+4
+32
+324
+321
+23
+234
+46
+34
+34
+32
+53
+423
+34
+53
+23
+12
+35
+45
+78
+68
+85
+56
+78
+58
+8
+5
+934
+48
+65
+445
+656
+63
+34
+65
+32
+32
+44
+55
+34
+67
+8
+64
+544
+3
+8
+987
+344
+5
+73
+78
+789
+9
+8
+7
+779
+977
+25
+78
+35
+5
+8
+9
+67
+9
+7
+78
+54
+435
+30
+14
+27
+40
+27
+28
+40
+27
+25
+54
+27
+278
+4
+38
+388
+385
+27
+280
+55
+40
+40
+38
+63
+507
+40
+63
+27
+14
+42
+54
+93
+81
+102
+67
+93
+69
+9
+6
+1120
+57
+78
+534
+787
+75
+40
+78
+38
+38
+52
+66
+40
+80
+9
+76
+652
+3
+9
+1184
+412
+6
+87
+93
+946
+10
+9
+8
+934
+1172
+30
+93
+42
+6
+9
+10
+80
+10
+8
+93
+64
+522
+
+query II rowsort
+SELECT NTILE(2) OVER(ORDER BY kw) as tile, NTILE(CAST(2 AS BIGINT)) OVER(ORDER 
BY kw) as tile2 from stringpower
+----
+320 values hashing to fa967d46913adf240bb90d0b98419dfb
+
+statement ok
+ROLLBACK
+
+
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to