Changeset: 885a54172df9 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/885a54172df9
Modified Files:
        gdk/gdk_utils.c
        sql/backends/monet5/sql_cat.c
        sql/server/rel_schema.c
        sql/server/sql_mvc.c
        sql/server/sql_parser.y
Branch: resource_management
Log Message:

merge with default


diffs (134 lines):

diff --git a/clients/mapiclient/mhelp.c b/clients/mapiclient/mhelp.c
--- a/clients/mapiclient/mhelp.c
+++ b/clients/mapiclient/mhelp.c
@@ -412,12 +412,12 @@ SQLhelp sqlhelp1[] = {
        {"EXPLAIN",
         "Display logical or physical execution plan for the SQL statement.",
         "EXPLAIN [BEFORE|AFTER] [step] [SHOW DETAILS] statement\n"
-        "step [REL_UNNEST|REL_REWRITE|PHYSICAL]",
+        "\twhere step is REL_UNNEST|REL_REWRITE|PHYSICAL",
         NULL,
-        "Plain EXPLAIN defaults to logical execution plan.\n"
+        "Plain EXPLAIN defaults to logical plan.\n"
         "Use REL_UNNEST|REL_REWRITE|PHYSICAL to specify compilation step to 
show.\n"
-        "Use BEFORE|AFTER to specify moment of compilation step\n"
-        "to output. The default is AFTER.\n"
+        "Use BEFORE|AFTER to specify moment of compilation step to output.\n"
+        "The default is AFTER.\n"
         "SHOW DETAILS displays column properties, rewriter number of changes\n"
         "and time spent.\n"
         "See also 
https://www.monetdb.org/documentation/admin-guide/debugging-features/explain-sql-stmt/"},
diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c
--- a/gdk/gdk_utils.c
+++ b/gdk/gdk_utils.c
@@ -61,6 +61,11 @@ static void GDKunlockHome(int farmid);
 #undef realloc
 #undef free
 
+#ifdef WITH_TCMALLOC
+#include <gperftools/tcmalloc.h>
+#include <gperftools/malloc_extension_c.h>
+#endif
+
 /* when the number of updates to a BAT is less than 1 in this number, we
  * keep the unique_est property */
 BUN gdk_unique_estimate_keep_fraction = GDK_UNIQUE_ESTIMATE_KEEP_FRACTION; /* 
should become a define once */
@@ -2063,6 +2068,24 @@ GDKprintinfo(void)
                       jeresident, humansize(jeresident, (char[24]){0}, 24),
                       jeretained, humansize(jeretained, (char[24]){0}, 24));
 #endif
+#ifdef WITH_TCMALLOC
+       size_t tcallocated = 0, tchsize = 0, tcfree = 0, tcunmapped = 0, tcmax 
= 0, tccur = 0;
+       MallocExtension_GetNumericProperty("generic.current_allocated_bytes", 
&tcallocated);
+       MallocExtension_GetNumericProperty("generic.heap_size", &tchsize);
+       MallocExtension_GetNumericProperty("tcmalloc.pageheap_free_bytes", 
&tcfree);
+       MallocExtension_GetNumericProperty("tcmalloc.pageheap_unmapped_bytes", 
&tcunmapped);
+       
MallocExtension_GetNumericProperty("tcmalloc.max_total_thread_cache_bytes", 
&tcmax);
+       
MallocExtension_GetNumericProperty("tcmalloc.current_total_thread_cache_bytes", 
&tccur);
+       printf("tcmalloc: allocated %zu%s, heap size %zu%s, free %zu%s, "
+              "unmapped %zu%s, max total thread cache %zu%s, "
+              "current total thread cache %zu%s\n",
+              tcallocated, humansize(tcallocated, (char[24]){0}, 24),
+              tchsize, humansize(tchsize, (char[24]){0}, 24),
+              tcfree, humansize(tcfree, (char[24]){0}, 24),
+              tcunmapped, humansize(tcunmapped, (char[24]){0}, 24),
+              tcmax, humansize(tcmax, (char[24]){0}, 24),
+              tccur, humansize(tccur, (char[24]){0}, 24));
+#endif
 #elif defined(HAVE_MALLINFO2)
        struct mallinfo2 mi = mallinfo2();
        printf("mallinfo: arena %zu%s, ordblks %zu, smblks %zu, hblks %zu, "
diff --git a/sql/backends/monet5/sql_cat.c b/sql/backends/monet5/sql_cat.c
--- a/sql/backends/monet5/sql_cat.c
+++ b/sql/backends/monet5/sql_cat.c
@@ -2199,7 +2199,7 @@ SQLrename_schema(Client cntxt, MalBlkPtr
                throw(SQL, "sql.rename_schema", SQLSTATE(3F000)
                          "ALTER SCHEMA: there is a schema named '%s' in the 
database", new_name);
 
-       if (mvc_check_dependency(sql, s->base.id, SCHEMA_DEPENDENCY, NULL) == 
HAS_DEPENDENCY) {
+       if (mvc_check_dependency(sql, s->base.id, SCHEMA_DEPENDENCY, NULL)) {
                throw(SQL, "sql.rename_schema", "ALTER SCHEMA: unable to"
                          " rename schema '%s', there are database objects"
                          " which depend on it", old_name);
diff --git a/sql/server/rel_schema.c b/sql/server/rel_schema.c
--- a/sql/server/rel_schema.c
+++ b/sql/server/rel_schema.c
@@ -2877,8 +2877,11 @@ rel_rename_schema(mvc *sql, char *old_na
        if (mvc_bind_schema(sql, new_name))
                return sql_error(sql, 02, SQLSTATE(3F000) "ALTER SCHEMA: there 
is a schema named '%s' in the database", new_name);
 
-       if (mvc_check_dependency(sql, s->base.id, SCHEMA_DEPENDENCY, NULL) != 
NO_DEPENDENCY) {
-               return sql_error(sql, 02, SQLSTATE(2BM37) "ALTER SCHEMA: unable 
to rename schema '%s', there are database objects which depend on it", 
old_name);
+       if (mvc_check_dependency(sql, s->base.id, SCHEMA_DEPENDENCY, NULL)) {
+               return sql_error(sql, 02,
+                                                SQLSTATE(2BM37) "ALTER SCHEMA: 
unable to"
+                                                " rename schema '%s', there 
are database objects"
+                                                " which depend on it", 
old_name);
        }
 
        rel = rel_create(sql->sa);
diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c
--- a/sql/server/sql_mvc.c
+++ b/sql/server/sql_mvc.c
@@ -1427,9 +1427,7 @@ mvc_check_dependency(mvc *m, sqlid id, s
                        dep_list = 
sql_trans_owner_schema_dependencies(m->session->tr, id);
                        break;
                case SCHEMA_DEPENDENCY:
-                       dep_list = 
sql_trans_schema_user_dependencies(m->session->tr, id);
-                       if (!dep_list)
-                               dep_list = 
sql_trans_get_dependents(m->session->tr, id, SCHEMA_DEPENDENCY, NULL);
+                       dep_list = sql_trans_get_dependents(m->session->tr, id, 
SCHEMA_DEPENDENCY, NULL);
                        break;
                case TABLE_DEPENDENCY:
                        dep_list = sql_trans_get_dependents(m->session->tr, id, 
TABLE_DEPENDENCY, NULL);
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
@@ -905,11 +905,6 @@ explain:
                        m->emod = mod_explain;
                        m->scanner.as = m->scanner.yycur;
                }
-       |       SQL_EXPLAIN physical_step opt_show_properties
-               {
-                       m->emod = mod_explain;
-                       m->scanner.as = m->scanner.yycur;
-               }
        |       SQL_EXPLAIN opt_show_properties
                {
                        m->emode = m_plan;
@@ -926,11 +921,12 @@ relational_step:
 
 physical_step:
                PHYSICAL { m->step = S_PHYSICAL; }
-               ;
+       ;
 
 temporal:
-               BEFORE { m->temporal = T_BEFORE; }
-       |       AFTER  { m->temporal = T_AFTER; }
+               BEFORE      { m->temporal = T_BEFORE; }
+       |       AFTER       { m->temporal = T_AFTER; }
+       |       /* empty */ { m->temporal = T_AFTER; }
        ;
 
 opt_show_properties:
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to