Changeset: fbbfe7b85d8f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fbbfe7b85d8f
Modified Files:
        gdk/gdk_qsort.c
        gdk/gdk_qsort_impl.h
        sql/server/sql_parser.y
Branch: default
Log Message:

Merge with Aug2018 branch.


diffs (83 lines):

diff --git a/gdk/gdk_qsort.c b/gdk/gdk_qsort.c
--- a/gdk/gdk_qsort.c
+++ b/gdk/gdk_qsort.c
@@ -273,21 +273,7 @@ struct qsort_t {
 
 #define GDKqsort_impl GDKqsort_impl_any
 #define INITIALIZER    int z
-#if SIZEOF_VAR_T == 8
-#define OFF(i)         (buf->base +                                    \
-                        (buf->hs == 1 ? ((unsigned char *) h)[i] :     \
-                         buf->hs == 2 ? ((unsigned short *) h)[i] :    \
-                         buf->hs == 4 ? ((unsigned int *) h)[i] :      \
-                         ((var_t *) h)[i]))
-#else
-#define OFF(i)         (buf->base +                                    \
-                        (buf->hs == 1 ? ((unsigned char *) h)[i] :     \
-                         buf->hs == 2 ? ((unsigned short *) h)[i] :    \
-                         ((var_t *) h)[i]))
-#endif
-#define CMP(i, j)      (buf->base ?                                    \
-                        (*buf->cmp)(OFF(i), OFF(j)) :                  \
-                        (*buf->cmp)(h + (i) * buf->hs, h + (j) * buf->hs))
+#define CMP(i, j)      (*buf->cmp)(h + (i) * buf->hs, h + (j) * buf->hs)
 /* EQ is only ever called directly after LE with the same arguments */
 #define EQ(i, j)       (z == 0)
 #define LE(i, j)       ((z = CMP(i, j)) <= 0)
@@ -329,8 +315,7 @@ GDKqsort(void *restrict h, void *restric
                GDKqsort_impl_var(&buf, h, t, n);
                return;
        }
-       if (base)
-               tpe = TYPE_str; /* we need the default case */
+       assert(base == NULL);
 
        tpe = ATOMbasetype(tpe);
 
@@ -383,8 +368,7 @@ GDKqsort_rev(void *restrict h, void *res
                GDKqsort_impl_var_rev(&buf, h, t, n);
                return;
        }
-       if (base)
-               tpe = TYPE_str; /* we need the default case */
+       assert(base == NULL);
 
        tpe = ATOMbasetype(tpe);
 
diff --git a/gdk/gdk_qsort_impl.h b/gdk/gdk_qsort_impl.h
--- a/gdk/gdk_qsort_impl.h
+++ b/gdk/gdk_qsort_impl.h
@@ -50,7 +50,8 @@
  */
 
 static void
-GDKqsort_impl(struct qsort_t *buf, char *restrict h, char *restrict t, size_t 
n)
+GDKqsort_impl(const struct qsort_t *restrict buf,
+             char *restrict h, char *restrict t, size_t n)
 {
        size_t a, b, c, d;
        size_t r;
diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y
--- a/sql/server/sql_parser.y
+++ b/sql/server/sql_parser.y
@@ -2862,16 +2862,12 @@ copyfrom_stmt:
          append_list(l, $4);
          append_symbol(l, $6);
          $$ = _symbol_create_list( SQL_COPYLOADER, l ); }
-   | COPY opt_nr BINARY INTO qname opt_column_list FROM string_commalist /* 
binary copy from */ opt_constraint
+   | COPY BINARY INTO qname opt_column_list FROM string_commalist 
opt_constraint
        { dlist *l = L();
-         if ($2 != NULL) {
-               yyerror(m, "COPY INTO: cannot pass number of records when using 
binary COPY INTO");
-               YYABORT;
-         }
+         append_list(l, $4);
          append_list(l, $5);
-         append_list(l, $6);
-         append_list(l, $8);
-         append_int(l, $9);
+         append_list(l, $7);
+         append_int(l, $8);
          $$ = _symbol_create_list( SQL_BINCOPYFROM, l ); }
   | COPY query_expression_def INTO string opt_seps opt_null_string 
        { dlist *l = L();
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to