Changeset: b0b44412ff92 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b0b44412ff92
Modified Files:
        MonetDB.spec
        buildtools/selinux/monetdb.te
        clients/ChangeLog
        clients/mapiclient/stethoscope.c
        monetdb5/mal/mal_profiler.c
        sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade/Tests/upgrade.stable.out
        sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
Branch: jitudf
Log Message:

Merged with default branch.


diffs (truncated from 39627 to 300 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -998,6 +998,7 @@ fi
 
 make %{?_smp_mflags}
 
+%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7
 cd buildtools/selinux
 for selinuxvariant in %{selinux_variants}
 do
@@ -1006,6 +1007,7 @@ do
   make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile clean
 done
 cd -
+%endif
 
 %install
 %make_install
@@ -1022,6 +1024,7 @@ rm -f %{buildroot}%{_libdir}/monetdb5/*.
 # internal development stuff
 rm -f %{buildroot}%{_bindir}/Maddlog
 
+%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7
 for selinuxvariant in %{selinux_variants}
 do
   install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant}
@@ -1029,6 +1032,7 @@ do
     %{buildroot}%{_datadir}/selinux/${selinuxvariant}/monetdb.pp
 done
 /usr/sbin/hardlink -cv %{buildroot}%{_datadir}/selinux
+%endif
 
 %post -p /sbin/ldconfig
 
diff --git a/buildtools/selinux/monetdb.te b/buildtools/selinux/monetdb.te
--- a/buildtools/selinux/monetdb.te
+++ b/buildtools/selinux/monetdb.te
@@ -14,7 +14,7 @@ init_daemon_domain(monetdbd_t, monetdbd_
 # mserver5_exec_t which must then transition to the mserver5_t domain
 type mserver5_t;               # mserver5 when run by monetdbd (monetdbd_t)
 type mserver5_exec_t;          # /usr/bin/mserver5
-application_domain(mserver5_t, mserver5_exec_t)
+init_daemon_domain(mserver5_t, mserver5_exec_t)
 # see 
https://selinuxproject.org/page/NB_Domain_and_Object_Transitions#Domain_Transition
 allow monetdbd_t mserver5_t:process transition;
 allow monetdbd_t mserver5_exec_t:file { execute open read getattr };
diff --git a/clients/ChangeLog b/clients/ChangeLog
--- a/clients/ChangeLog
+++ b/clients/ChangeLog
@@ -1,3 +1,10 @@
 # ChangeLog file for clients
 # This file is updated with Maddlog
 
+* Mon Jul 17 2017 Panagiotis Koutsourakis <kutsu...@monetdbsolutions.com>
+- Add a new pretty printing option to stethoscope
+  Running stethoscope with the flag -j will produce not pretty printed
+  output (one json object per line). Running with the -y flag will produce
+  pretty printed output. Running with neither, wiil produce the legacy,
+  line oriented format
+
diff --git a/clients/mapiclient/stethoscope.c b/clients/mapiclient/stethoscope.c
--- a/clients/mapiclient/stethoscope.c
+++ b/clients/mapiclient/stethoscope.c
@@ -72,6 +72,7 @@ static char hostname[128];
 static char *filename = NULL;
 static int beat = 0;
 static int json = 0;
+static int stream_mode = 1;
 static Mapi dbh;
 static MapiHdl hdl = NULL;
 static FILE *trace = NULL;
@@ -201,11 +202,12 @@ usageStethoscope(void)
     fprintf(stderr, "  -h | --host=<hostname>\n");
     fprintf(stderr, "  -c | --convert=<old formated file>\n");
     fprintf(stderr, "  -j | --json\n");
+    fprintf(stderr, "  -y | --pretty (implies --json)\n");
     fprintf(stderr, "  -o | --output=<file>\n");
-       fprintf(stderr, "  -b | --beat=<delay> in milliseconds (default 50)\n");
-       fprintf(stderr, "  -D | --debug\n");
+    fprintf(stderr, "  -b | --beat=<delay> in milliseconds (default 50)\n");
+    fprintf(stderr, "  -D | --debug\n");
     fprintf(stderr, "  -? | --help\n");
-       exit(-1);
+    exit(-1);
 }
 
 /* Any signal should be captured and turned into a graceful
@@ -242,7 +244,7 @@ main(int argc, char **argv)
        int done = 0;
        EventRecord *ev = malloc(sizeof(EventRecord));
 
-       static struct option long_options[12] = {
+       static struct option long_options[13] = {
                { "dbname", 1, 0, 'd' },
                { "user", 1, 0, 'u' },
                { "port", 1, 0, 'p' },
@@ -251,6 +253,7 @@ main(int argc, char **argv)
                { "help", 0, 0, '?' },
                { "convert", 1, 0, 'c'},
                { "json", 0, 0, 'j'},
+               { "pretty", 0, 0, 'y'},
                { "output", 1, 0, 'o' },
                { "debug", 0, 0, 'D' },
                { "beat", 1, 0, 'b' },
@@ -268,7 +271,7 @@ main(int argc, char **argv)
 
        while (1) {
                int option_index = 0;
-               int c = getopt_long(argc, argv, "d:u:p:P:h:?jo:Db:",
+               int c = getopt_long(argc, argv, "d:u:p:P:h:?jyo:Db:",
                                        long_options, &option_index);
                if (c == -1)
                        break;
@@ -310,6 +313,11 @@ main(int argc, char **argv)
                        break;
                case 'j':
                        json = 1;
+                       stream_mode = 3;
+                       break;
+               case 'y':
+                       stream_mode = 1;
+                       json = 1;
                        break;
                case 'o':
                        filename = strdup(optarg);
@@ -326,6 +334,7 @@ main(int argc, char **argv)
                        exit(-1);
                }
        }
+
        if( conversion){
                convertOldFormat(conversion);
                return 0;
@@ -384,7 +393,7 @@ main(int argc, char **argv)
                fprintf(stderr,"-- %s\n",buf);
        doQ(buf);
 
-       snprintf(buf, BUFSIZ, " profiler.openstream(1);");
+       snprintf(buf, BUFSIZ, " profiler.openstream(%d);", stream_mode);
        if( debug)
                fprintf(stderr,"--%s\n",buf);
        doQ(buf);
diff --git a/monetdb5/mal/mal_profiler.c b/monetdb5/mal/mal_profiler.c
--- a/monetdb5/mal/mal_profiler.c
+++ b/monetdb5/mal/mal_profiler.c
@@ -314,7 +314,7 @@ This information can be used to determin
                                GDKfree(tname);
                                logadd("}%s%s", (j< pci->argc-1 && j != 
pci->retc -1?",":""), pret);
                        }
-                       logadd("] %s",prettify); // end marker for arguments
+                       logadd("]%s",prettify); // end marker for arguments
                }
        }
 #endif
@@ -434,7 +434,7 @@ profilerEvent(MalBlkPtr mb, MalStkPtr st
 
        if( sqlProfiling && !start )
                cachedProfilerEvent(mb, stk, pci);
-               
+
        if( eventstream) {
                renderProfilerEvent(mb, stk, pci, start, usrname);
                if ( start && pci->pc ==0)
@@ -471,7 +471,7 @@ openProfilerStream(stream *fd, int mode)
                closeProfilerStream();
        malProfileMode = -1;
        eventstream = fd;
-       prettify = (mode & PROFSINGLELINE) ? " ": "\n";
+       prettify = (mode & PROFSINGLELINE) ? "": "\n";
 
        /* show all in progress instructions for stethoscope startup */
        if( (mode & PROFSHOWRUNNING) > 0){
diff --git a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 
b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
@@ -25,65 +25,9 @@ stdout of test 'upgrade` in directory 's
 
 Ready.
 
-Running database upgrade commands:
-set schema "sys";
-delete from sys._columns where table_id = (select id from sys._tables where 
name = 'connections' and schema_id = (select id from sys.schemas where name = 
'sys'));
-delete from sys._tables where name = 'connections' and schema_id = (select id 
from sys.schemas where name = 'sys');
-update sys.functions set side_effect = false where name in ('like', 'ilike') 
and schema_id = (select id from sys.schemas where name = 'sys');
-drop function sys.malfunctions;
-create function sys.malfunctions() returns table("module" string, "function" 
string, "signature" string, "address" string, "comment" string) external name 
"manual"."functions";
-drop function sys.optimizer_stats();
-create function sys.optimizer_stats() returns table (optname string, count 
int, timing bigint) external name inspect.optimizer_stats;
-insert into sys.systemfunctions (select id from sys.functions where name in 
('malfunctions', 'optimizer_stats') and schema_id = (select id from sys.schemas 
where name = 'sys') and id not in (select function_id from 
sys.systemfunctions));
-create function profiler.getlimit() returns integer external name 
profiler.getlimit;
-create procedure profiler.setlimit(lim integer) external name 
profiler.setlimit;
-drop procedure profiler.setpoolsize;
-drop procedure profiler.setstream;
-insert into sys.systemfunctions (select id from sys.functions where name in 
('getlimit', 'setlimit') and schema_id = (select id from sys.schemas where name 
= 'profiler') and id not in (select function_id from sys.systemfunctions));
-ALTER TABLE sys.keywords SET READ ONLY;
-ALTER TABLE sys.table_types SET READ ONLY;
-ALTER TABLE sys.dependency_types SET READ ONLY;
-CREATE TABLE sys.function_types (
-function_type_id   SMALLINT NOT NULL PRIMARY KEY,
-function_type_name VARCHAR(30) NOT NULL UNIQUE);
-INSERT INTO sys.function_types (function_type_id, function_type_name) VALUES
-(1, 'Scalar function'), (2, 'Procedure'), (3, 'Aggregate function'), (4, 
'Filter function'), (5, 'Function returning a table'),
-(6, 'Analytic function'), (7, 'Loader function');
-ALTER TABLE sys.function_types SET READ ONLY;
-CREATE TABLE sys.function_languages (
-language_id   SMALLINT NOT NULL PRIMARY KEY,
-language_name VARCHAR(20) NOT NULL UNIQUE);
-INSERT INTO sys.function_languages (language_id, language_name) VALUES
-(0, 'Internal C'), (1, 'MAL'), (2, 'SQL'), (3, 'R'), (6, 'Python'), (7, 
'Python Mapped'), (8, 'Python2'), (9, 'Python2 Mapped'), (10, 'Python3'), (11, 
'Python3 Mapped');
-ALTER TABLE sys.function_languages SET READ ONLY;
-CREATE TABLE sys.key_types (
-key_type_id   SMALLINT NOT NULL PRIMARY KEY,
-key_type_name VARCHAR(15) NOT NULL UNIQUE);
-INSERT INTO sys.key_types (key_type_id, key_type_name) VALUES
-(0, 'Primary Key'), (1, 'Unique Key'), (2, 'Foreign Key');
-ALTER TABLE sys.key_types SET READ ONLY;
-CREATE TABLE sys.index_types (
-index_type_id   SMALLINT NOT NULL PRIMARY KEY,
-index_type_name VARCHAR(25) NOT NULL UNIQUE);
-INSERT INTO sys.index_types (index_type_id, index_type_name) VALUES
-(0, 'Hash'), (1, 'Join'), (2, 'Order preserving hash'), (3, 'No-index'), (4, 
'Imprint'), (5, 'Ordered');
-ALTER TABLE sys.index_types SET READ ONLY;
-CREATE TABLE sys.privilege_codes (
-privilege_code_id   INT NOT NULL PRIMARY KEY,
-privilege_code_name VARCHAR(30) NOT NULL UNIQUE);
-INSERT INTO sys.privilege_codes (privilege_code_id, privilege_code_name) VALUES
-(1, 'SELECT'), (2, 'UPDATE'), (4, 'INSERT'), (8, 'DELETE'), (16, 'EXECUTE'), 
(32, 'GRANT'),
-(3, 'SELECT,UPDATE'), (5, 'SELECT,INSERT'), (6, 'INSERT,UPDATE'), (7, 
'SELECT,INSERT,UPDATE'),
-(9, 'SELECT,DELETE'), (10, 'UPDATE,DELETE'), (11, 'SELECT,UPDATE,DELETE'), 
(12, 'INSERT,DELETE'),
-(13, 'SELECT,INSERT,DELETE'), (14, 'INSERT,UPDATE,DELETE'), (15, 
'SELECT,INSERT,UPDATE,DELETE');
-ALTER TABLE sys.privilege_codes SET READ ONLY;
-update sys._tables set system = true where name in ('function_languages', 
'function_types', 'index_types', 'key_types', 'privilege_codes') and schema_id 
= (select id from sys.schemas where name = 'sys');
-delete from sys.systemfunctions where function_id not in (select id from 
sys.functions);
-set schema "sys";
-
-# 15:26:18 >  
-# 15:26:18 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-21187" "--port=38946"
-# 15:26:18 >  
+# 13:33:15 >  
+# 13:33:15 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-32047" "--port=35791"
+# 13:33:15 >  
 
 #select 1;
 % .L2 # table_name
diff --git a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out 
b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
--- a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
+++ b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
@@ -25,65 +25,9 @@ stdout of test 'upgrade` in directory 's
 
 Ready.
 
-Running database upgrade commands:
-set schema "sys";
-delete from sys._columns where table_id = (select id from sys._tables where 
name = 'connections' and schema_id = (select id from sys.schemas where name = 
'sys'));
-delete from sys._tables where name = 'connections' and schema_id = (select id 
from sys.schemas where name = 'sys');
-update sys.functions set side_effect = false where name in ('like', 'ilike') 
and schema_id = (select id from sys.schemas where name = 'sys');
-drop function sys.malfunctions;
-create function sys.malfunctions() returns table("module" string, "function" 
string, "signature" string, "address" string, "comment" string) external name 
"manual"."functions";
-drop function sys.optimizer_stats();
-create function sys.optimizer_stats() returns table (optname string, count 
int, timing bigint) external name inspect.optimizer_stats;
-insert into sys.systemfunctions (select id from sys.functions where name in 
('malfunctions', 'optimizer_stats') and schema_id = (select id from sys.schemas 
where name = 'sys') and id not in (select function_id from 
sys.systemfunctions));
-create function profiler.getlimit() returns integer external name 
profiler.getlimit;
-create procedure profiler.setlimit(lim integer) external name 
profiler.setlimit;
-drop procedure profiler.setpoolsize;
-drop procedure profiler.setstream;
-insert into sys.systemfunctions (select id from sys.functions where name in 
('getlimit', 'setlimit') and schema_id = (select id from sys.schemas where name 
= 'profiler') and id not in (select function_id from sys.systemfunctions));
-ALTER TABLE sys.keywords SET READ ONLY;
-ALTER TABLE sys.table_types SET READ ONLY;
-ALTER TABLE sys.dependency_types SET READ ONLY;
-CREATE TABLE sys.function_types (
-function_type_id   SMALLINT NOT NULL PRIMARY KEY,
-function_type_name VARCHAR(30) NOT NULL UNIQUE);
-INSERT INTO sys.function_types (function_type_id, function_type_name) VALUES
-(1, 'Scalar function'), (2, 'Procedure'), (3, 'Aggregate function'), (4, 
'Filter function'), (5, 'Function returning a table'),
-(6, 'Analytic function'), (7, 'Loader function');
-ALTER TABLE sys.function_types SET READ ONLY;
-CREATE TABLE sys.function_languages (
-language_id   SMALLINT NOT NULL PRIMARY KEY,
-language_name VARCHAR(20) NOT NULL UNIQUE);
-INSERT INTO sys.function_languages (language_id, language_name) VALUES
-(0, 'Internal C'), (1, 'MAL'), (2, 'SQL'), (3, 'R'), (6, 'Python'), (7, 
'Python Mapped'), (8, 'Python2'), (9, 'Python2 Mapped'), (10, 'Python3'), (11, 
'Python3 Mapped');
-ALTER TABLE sys.function_languages SET READ ONLY;
-CREATE TABLE sys.key_types (
-key_type_id   SMALLINT NOT NULL PRIMARY KEY,
-key_type_name VARCHAR(15) NOT NULL UNIQUE);
-INSERT INTO sys.key_types (key_type_id, key_type_name) VALUES
-(0, 'Primary Key'), (1, 'Unique Key'), (2, 'Foreign Key');
-ALTER TABLE sys.key_types SET READ ONLY;
-CREATE TABLE sys.index_types (
-index_type_id   SMALLINT NOT NULL PRIMARY KEY,
-index_type_name VARCHAR(25) NOT NULL UNIQUE);
-INSERT INTO sys.index_types (index_type_id, index_type_name) VALUES
-(0, 'Hash'), (1, 'Join'), (2, 'Order preserving hash'), (3, 'No-index'), (4, 
'Imprint'), (5, 'Ordered');
-ALTER TABLE sys.index_types SET READ ONLY;
-CREATE TABLE sys.privilege_codes (
-privilege_code_id   INT NOT NULL PRIMARY KEY,
-privilege_code_name VARCHAR(30) NOT NULL UNIQUE);
-INSERT INTO sys.privilege_codes (privilege_code_id, privilege_code_name) VALUES
-(1, 'SELECT'), (2, 'UPDATE'), (4, 'INSERT'), (8, 'DELETE'), (16, 'EXECUTE'), 
(32, 'GRANT'),
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to