From 944b19a04613531c728fd80f57cf9c1f60a03914 Mon Sep 17 00:00:00 2001 From: guzman-raphael Date: Wed, 16 Oct 2019 15:39:48 -0500 Subject: [PATCH 01/12] Update to ignore tilde and allow schemas with mixed upper/lower case. --- +dj/ERD.m | 6 ++++-- LNX-docker-compose.yml | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/+dj/ERD.m b/+dj/ERD.m index 669894a0..1258c249 100644 --- a/+dj/ERD.m +++ b/+dj/ERD.m @@ -113,12 +113,14 @@ function draw(self) % draw the diagram % exclude auxiliary tables (job tables, etc.) - j = cellfun(@isempty, regexp(self.nodes, '^`[a-z]\w*`\.`~\w+`$')); + % j = cellfun(@isempty, regexp(self.nodes, '^`[a-z]\w*`\.`~\w+`$')); + j = cellfun(@isempty, regexp(self.nodes, '^`.+`\.`~\w+`$')); self.nodes = self.nodes(j); self.makeGraph - rege = cellfun(@(s) sprintf('^`[a-z]\\w*`\\.`%s[a-z]\\w*`$',s), dj.Schema.tierPrefixes, 'uni', false); + % rege = cellfun(@(s) sprintf('^`[a-z]\\w*`\\.`%s[a-z]\\w*`$',s), dj.Schema.tierPrefixes, 'uni', false); + rege = cellfun(@(s) sprintf('^`[a-zA-Z]\\w*`\\.`%s[a-z]\\w*`$',s), dj.Schema.tierPrefixes, 'uni', false); rege{end+1} = '^`[a-z]\w*`\.`\W?\w+__\w+`$'; % for part tables rege{end+1} = '^\d+$'; % for numbered nodes tiers = cellfun(@(l) find(~cellfun(@isempty, regexp(l, rege)), 1, 'last'), self.graph.Nodes.Name); diff --git a/LNX-docker-compose.yml b/LNX-docker-compose.yml index 42897e1a..96bb34be 100644 --- a/LNX-docker-compose.yml +++ b/LNX-docker-compose.yml @@ -16,7 +16,7 @@ services: - DJ_TEST_HOST=mysql - DJ_TEST_USER=datajoint - DJ_TEST_PASSWORD=datajoint - image: raphaelguzman/matlab:${MATLAB_VERSION}-MIN + image: raphaelguzman/matlab:${MATLAB_VERSION}-GUI depends_on: mysql: condition: service_healthy @@ -29,6 +29,7 @@ services: disp(res);\ if all([res.Passed]) exit, else exit(1), end;\ \"; + tail -f /dev/null; " mac_address: $MATLAB_HOSTID volumes: From 0a6e590accca386d43378af5ff087876273d5aeb Mon Sep 17 00:00:00 2001 From: guzman-raphael Date: Thu, 17 Oct 2019 13:29:47 -0500 Subject: [PATCH 02/12] Remove debugging from docker-compose. --- +dj/ERD.m | 4 +--- LNX-docker-compose.yml | 3 +-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/+dj/ERD.m b/+dj/ERD.m index 1258c249..c2ec30b3 100644 --- a/+dj/ERD.m +++ b/+dj/ERD.m @@ -113,14 +113,12 @@ function draw(self) % draw the diagram % exclude auxiliary tables (job tables, etc.) - % j = cellfun(@isempty, regexp(self.nodes, '^`[a-z]\w*`\.`~\w+`$')); j = cellfun(@isempty, regexp(self.nodes, '^`.+`\.`~\w+`$')); self.nodes = self.nodes(j); self.makeGraph - % rege = cellfun(@(s) sprintf('^`[a-z]\\w*`\\.`%s[a-z]\\w*`$',s), dj.Schema.tierPrefixes, 'uni', false); - rege = cellfun(@(s) sprintf('^`[a-zA-Z]\\w*`\\.`%s[a-z]\\w*`$',s), dj.Schema.tierPrefixes, 'uni', false); + rege = cellfun(@(s) sprintf('^`.+`\\.`%s[a-z]\\w*`$',s), dj.Schema.tierPrefixes, 'uni', false); rege{end+1} = '^`[a-z]\w*`\.`\W?\w+__\w+`$'; % for part tables rege{end+1} = '^\d+$'; % for numbered nodes tiers = cellfun(@(l) find(~cellfun(@isempty, regexp(l, rege)), 1, 'last'), self.graph.Nodes.Name); diff --git a/LNX-docker-compose.yml b/LNX-docker-compose.yml index 96bb34be..42897e1a 100644 --- a/LNX-docker-compose.yml +++ b/LNX-docker-compose.yml @@ -16,7 +16,7 @@ services: - DJ_TEST_HOST=mysql - DJ_TEST_USER=datajoint - DJ_TEST_PASSWORD=datajoint - image: raphaelguzman/matlab:${MATLAB_VERSION}-GUI + image: raphaelguzman/matlab:${MATLAB_VERSION}-MIN depends_on: mysql: condition: service_healthy @@ -29,7 +29,6 @@ services: disp(res);\ if all([res.Passed]) exit, else exit(1), end;\ \"; - tail -f /dev/null; " mac_address: $MATLAB_HOSTID volumes: From 27382e242c68e68a5237ccf321db549c46d8eb11 Mon Sep 17 00:00:00 2001 From: guzman-raphael Date: Tue, 29 Oct 2019 16:13:56 -0500 Subject: [PATCH 03/12] Add header for virt class docs. --- docs-parts/existing/1-Virtual-Modules_lang1.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs-parts/existing/1-Virtual-Modules_lang1.rst b/docs-parts/existing/1-Virtual-Modules_lang1.rst index 97295b60..0670aa0e 100644 --- a/docs-parts/existing/1-Virtual-Modules_lang1.rst +++ b/docs-parts/existing/1-Virtual-Modules_lang1.rst @@ -1,3 +1,7 @@ + +Creating a virtual class +~~~~~~~~~~~~~~~~~~~~~~~~ + A ``TableAccessor`` object is created as a property of a schema during each schema's creation. This property is named ``schema.v``, for *virtual class generator*. The ``TableAccessor`` ``v`` itself has properties that refer to the tables of the schema. From cba1966238be7942b2faa1ca22e8271acb48aa24 Mon Sep 17 00:00:00 2001 From: guzman-raphael Date: Tue, 29 Oct 2019 16:32:53 -0500 Subject: [PATCH 04/12] Update doc name to loading classes. --- .../{1-Virtual-Modules_lang1.rst => 1-Loading-Classes_lang1.rst} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs-parts/existing/{1-Virtual-Modules_lang1.rst => 1-Loading-Classes_lang1.rst} (100%) diff --git a/docs-parts/existing/1-Virtual-Modules_lang1.rst b/docs-parts/existing/1-Loading-Classes_lang1.rst similarity index 100% rename from docs-parts/existing/1-Virtual-Modules_lang1.rst rename to docs-parts/existing/1-Loading-Classes_lang1.rst From 73f5fd940f37f39d8cda872f58cbb84d6ac2b2af Mon Sep 17 00:00:00 2001 From: guzman-raphael Date: Tue, 29 Oct 2019 18:24:17 -0500 Subject: [PATCH 05/12] Bump version. --- +dj/version.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/+dj/version.m b/+dj/version.m index 438fce41..2b79a3cb 100644 --- a/+dj/version.m +++ b/+dj/version.m @@ -1,7 +1,7 @@ function varargout = version % report DataJoint version -v = struct('major',3,'minor',3,'bugfix',0); +v = struct('major',3,'minor',3,'bugfix',1); if nargout varargout{1}=v; From 5548ca83145fcd7f29f27bb4c3352ed7efc57cc8 Mon Sep 17 00:00:00 2001 From: guzman-raphael Date: Wed, 30 Oct 2019 11:39:05 -0500 Subject: [PATCH 06/12] Additional commit. --- +dj/ERD.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/+dj/ERD.m b/+dj/ERD.m index 669894a0..4eaf53fc 100644 --- a/+dj/ERD.m +++ b/+dj/ERD.m @@ -115,7 +115,7 @@ function draw(self) % exclude auxiliary tables (job tables, etc.) j = cellfun(@isempty, regexp(self.nodes, '^`[a-z]\w*`\.`~\w+`$')); self.nodes = self.nodes(j); - + r self.makeGraph rege = cellfun(@(s) sprintf('^`[a-z]\\w*`\\.`%s[a-z]\\w*`$',s), dj.Schema.tierPrefixes, 'uni', false); From 5ad6bd54ec88d7781ba3a1604634382de19c63c1 Mon Sep 17 00:00:00 2001 From: guzman-raphael Date: Wed, 30 Oct 2019 11:41:50 -0500 Subject: [PATCH 07/12] Additional commit2. --- +dj/ERD.m | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/+dj/ERD.m b/+dj/ERD.m index 4eaf53fc..22269032 100644 --- a/+dj/ERD.m +++ b/+dj/ERD.m @@ -113,12 +113,12 @@ function draw(self) % draw the diagram % exclude auxiliary tables (job tables, etc.) - j = cellfun(@isempty, regexp(self.nodes, '^`[a-z]\w*`\.`~\w+`$')); + j = cellfun(@isempty, regexp(self.nodes, '^`[a-z]\w*`\.`~\w+`$')); %raphael self.nodes = self.nodes(j); - r + self.makeGraph - rege = cellfun(@(s) sprintf('^`[a-z]\\w*`\\.`%s[a-z]\\w*`$',s), dj.Schema.tierPrefixes, 'uni', false); + rege = cellfun(@(s) sprintf('^`[a-z]\\w*`\\.`%s[a-z]\\w*`$',s), dj.Schema.tierPrefixes, 'uni', false); %raphael rege{end+1} = '^`[a-z]\w*`\.`\W?\w+__\w+`$'; % for part tables rege{end+1} = '^\d+$'; % for numbered nodes tiers = cellfun(@(l) find(~cellfun(@isempty, regexp(l, rege)), 1, 'last'), self.graph.Nodes.Name); From a2b8073f8bcb23b89945a22ed84e961befa8f069 Mon Sep 17 00:00:00 2001 From: guzman-raphael <38401847+guzman-raphael@users.noreply.github.com> Date: Wed, 30 Oct 2019 11:47:41 -0500 Subject: [PATCH 08/12] Revert "HotFix Updates " --- +dj/ERD.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/+dj/ERD.m b/+dj/ERD.m index c2ec30b3..669894a0 100644 --- a/+dj/ERD.m +++ b/+dj/ERD.m @@ -113,12 +113,12 @@ function draw(self) % draw the diagram % exclude auxiliary tables (job tables, etc.) - j = cellfun(@isempty, regexp(self.nodes, '^`.+`\.`~\w+`$')); + j = cellfun(@isempty, regexp(self.nodes, '^`[a-z]\w*`\.`~\w+`$')); self.nodes = self.nodes(j); self.makeGraph - rege = cellfun(@(s) sprintf('^`.+`\\.`%s[a-z]\\w*`$',s), dj.Schema.tierPrefixes, 'uni', false); + rege = cellfun(@(s) sprintf('^`[a-z]\\w*`\\.`%s[a-z]\\w*`$',s), dj.Schema.tierPrefixes, 'uni', false); rege{end+1} = '^`[a-z]\w*`\.`\W?\w+__\w+`$'; % for part tables rege{end+1} = '^\d+$'; % for numbered nodes tiers = cellfun(@(l) find(~cellfun(@isempty, regexp(l, rege)), 1, 'last'), self.graph.Nodes.Name); From ec8a5fbc75d3507b50877c42d976d7c3f66b1fad Mon Sep 17 00:00:00 2001 From: guzman-raphael Date: Wed, 30 Oct 2019 11:50:00 -0500 Subject: [PATCH 09/12] Reset ERD. --- +dj/ERD.m | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/+dj/ERD.m b/+dj/ERD.m index 22269032..ea42cf2e 100644 --- a/+dj/ERD.m +++ b/+dj/ERD.m @@ -113,12 +113,12 @@ function draw(self) % draw the diagram % exclude auxiliary tables (job tables, etc.) - j = cellfun(@isempty, regexp(self.nodes, '^`[a-z]\w*`\.`~\w+`$')); %raphael + j = cellfun(@isempty, regexp(self.nodes, '^`[a-z]\w*`\.`~\w+`$')); self.nodes = self.nodes(j); self.makeGraph - - rege = cellfun(@(s) sprintf('^`[a-z]\\w*`\\.`%s[a-z]\\w*`$',s), dj.Schema.tierPrefixes, 'uni', false); %raphael + + rege = cellfun(@(s) sprintf('^`[a-z]\\w*`\\.`%s[a-z]\\w*`$',s), dj.Schema.tierPrefixes, 'uni', false); rege{end+1} = '^`[a-z]\w*`\.`\W?\w+__\w+`$'; % for part tables rege{end+1} = '^\d+$'; % for numbered nodes tiers = cellfun(@(l) find(~cellfun(@isempty, regexp(l, rege)), 1, 'last'), self.graph.Nodes.Name); From e6ffab8fb1e921c118129be8726f78c96eafe768 Mon Sep 17 00:00:00 2001 From: guzman-raphael Date: Wed, 30 Oct 2019 11:51:06 -0500 Subject: [PATCH 10/12] Add spaces back. --- +dj/ERD.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/+dj/ERD.m b/+dj/ERD.m index ea42cf2e..669894a0 100644 --- a/+dj/ERD.m +++ b/+dj/ERD.m @@ -115,9 +115,9 @@ function draw(self) % exclude auxiliary tables (job tables, etc.) j = cellfun(@isempty, regexp(self.nodes, '^`[a-z]\w*`\.`~\w+`$')); self.nodes = self.nodes(j); - + self.makeGraph - + rege = cellfun(@(s) sprintf('^`[a-z]\\w*`\\.`%s[a-z]\\w*`$',s), dj.Schema.tierPrefixes, 'uni', false); rege{end+1} = '^`[a-z]\w*`\.`\W?\w+__\w+`$'; % for part tables rege{end+1} = '^\d+$'; % for numbered nodes From 9ac91af890b1ed1975b66404cdba1287ba9df432 Mon Sep 17 00:00:00 2001 From: guzman-raphael Date: Wed, 30 Oct 2019 12:16:13 -0500 Subject: [PATCH 11/12] Add start of release notes. --- docs-parts/intro/Releases_lang1.rst | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/docs-parts/intro/Releases_lang1.rst b/docs-parts/intro/Releases_lang1.rst index 45b878b6..94d30d24 100644 --- a/docs-parts/intro/Releases_lang1.rst +++ b/docs-parts/intro/Releases_lang1.rst @@ -1 +1,14 @@ -Start of Release Notes +3.3.1 -- October 31, 2019 +------------------------- +* Ability to create schema without GUI PR #155 +* Support secure connections with TLS (aka SSL) (#103) PR #157, mym-PR #11, #12, #13 +* Allow GUI-based password entry to avoid cleartext password from being captured in MATLAB log PR #159 +* Add detailed error message if dj012 Python native blobs detected (#170) mYm-PR #16 +* Add support for PAM connections via MariaDB Dialog plugin (#168, #169) mYm-PR #14, #15 +* Minor improvements to reuse of connection if applicable PR #166, #167 +* Bugfixes (#152) + +3.2.2 -- February 5, 2019 +------------------------- + +`Previous release notes TBD` \ No newline at end of file From 3f485a1c81cac18587f9cf31f4328a7b159337de Mon Sep 17 00:00:00 2001 From: guzman-raphael Date: Wed, 30 Oct 2019 12:18:26 -0500 Subject: [PATCH 12/12] Update release notes. --- docs-parts/intro/Releases_lang1.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs-parts/intro/Releases_lang1.rst b/docs-parts/intro/Releases_lang1.rst index 94d30d24..14d5f353 100644 --- a/docs-parts/intro/Releases_lang1.rst +++ b/docs-parts/intro/Releases_lang1.rst @@ -3,8 +3,8 @@ * Ability to create schema without GUI PR #155 * Support secure connections with TLS (aka SSL) (#103) PR #157, mym-PR #11, #12, #13 * Allow GUI-based password entry to avoid cleartext password from being captured in MATLAB log PR #159 -* Add detailed error message if dj012 Python native blobs detected (#170) mYm-PR #16 -* Add support for PAM connections via MariaDB Dialog plugin (#168, #169) mYm-PR #14, #15 +* Add detailed error message if DJ012 Python-native blobs detected (#170) mYm-PR #16 +* Add support for PAM connections via MariaDB's Dialog plugin (#168, #169) mYm-PR #14, #15 * Minor improvements to reuse of connection if applicable PR #166, #167 * Bugfixes (#152)