Changeset: 936311f0b35d for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=936311f0b35d
Modified Files:
        gdk/gdk_logger.c
        sql/storage/store.c
Branch: k3match
Log Message:

merge with default


diffs (58 lines):

diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -1400,7 +1400,15 @@ logger_load(int debug, const char* fn, c
                        logger_fatal("logger_load: writing log file %s failed",
                                     filename, 0, 0);
                }
-               if (fclose(fp) < 0) {
+               if (fflush(fp) < 0 ||
+#if defined(_MSC_VER)
+                   _commit(_fileno(fp)) < 0 ||
+#elif defined(HAVE_FDATASYNC)
+                   fdatasync(fileno(fp)) < 0 ||
+#elif defined(HAVE_FSYNC)
+                   fsync(fileno(fp)) < 0 ||
+#endif
+                   fclose(fp) < 0) {
                        unlink(filename);
                        logger_fatal("logger_load: closing log file %s failed",
                                     filename, 0, 0);
@@ -2028,7 +2036,15 @@ logger_exit(logger *lg)
                        return LOG_ERR;
                }
 
-               if (fclose(fp) < 0) {
+               if (fflush(fp) < 0 ||
+#if defined(_MSC_VER)
+                   _commit(_fileno(fp)) < 0 ||
+#elif defined(HAVE_FDATASYNC)
+                   fdatasync(fileno(fp)) < 0 ||
+#elif defined(HAVE_FSYNC)
+                   fsync(fileno(fp)) < 0 ||
+#endif
+                   fclose(fp) < 0) {
                        fprintf(stderr, "!ERROR: logger_exit: flush of %s 
failed\n",
                                filename);
                        return LOG_ERR;
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -2127,6 +2127,17 @@ sql_trans_tname_conflict( sql_trans *tr,
                        return 1;
                *tp++ = '_';
        }
+               tmp = sa_strdup(tr->sa, cname);
+       tp = tmp;
+       while ((tp = strchr(tp, '_')) != NULL) {
+               char *ntmp;
+               *tp = 0;
+               ntmp = sa_message(tr->sa, "%s_%s", tname, tmp);
+               t = find_sql_table(s, ntmp);
+               if (t && sql_trans_cname_conflict(tr, t, NULL, tp+1))
+                       return 1;
+               *tp++ = '_';
+       }
        t = find_sql_table(s, tname);
        if (t && sql_trans_cname_conflict(tr, t, NULL, cname))
                return 1;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to