>From <mile...@uci.edu>: Hello Anon. E. Moose #1000171, Jenkins, Ian Maxon,
I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/9152 to look at the new patch set (#22). Change subject: [NO ISSUE][DASHBOARD] New Asterix Query Console ...................................................................... [NO ISSUE][DASHBOARD] New Asterix Query Console -user model changes: no -storage format changes: no -interface changes: yes Full Documentation at: /asterix-doc/src/site/markdown/dashboard.md New Features: -Metadata inspector -Inspector that supports nested schema and anonymous types -Interactive Plan Viewer -Revamped query navigation (history) -Output for JSON / CSV -Export for JSON / JSONL / CSV -Autodetect dataverse Details: 10/19/20: -Fixed the bug where SELECT VALUE on column would not display in table view. -The history now has most recent at the top (input.component.ts) -When selecting arrays with null values and multisets with null values and null values, JSON and Tree output does not show up on 19006 -The values are problematic only when a null value is present. Javascript counts “null” as an object -Added a “Clear History” button -Changed success message font color to green -For output, have “selected” visual for output type. 10/26/20: -Fix (x/y) for sql history -Made it so “running” has the same behavior as saying “new” query -latest query should be at the top, not the bottom in history -Next button will be the new “New” button -Changed layout of buttons, moved “Next” and “Previous” to top bar instead 11/2/20: -Right after running query, can not click on Metadata button -The metadata always opens multiple windows (just one?) -Create more user friendly way of viewing the ddl -No more toggle for Metadata. Couchbase keeps it the whole time -Running blank query will be saved in SQL++ History. -Clear -> cursor on line 2 -All links go to new tab now -If nothing in input, do not let clicking next → new query 11/9/20: -Interactively sampling data (without having to manually write LIMIT 1 queries) -Movable window for metadata inspector 11/16/20: -Movable window for metadata inspector also resizable -Handles nested metadata 11/31/20: -Warning counts now displayed -Reduced whitespace in metadata inspector -Visual indication of anonymous type -Made non-nested mat-panels unclickable in metadata inspector 12/8/20: -Display real warning messages from query (on click) 12/29/20 - 1/4/21: -Reduced white space in metadata inspector -Aligned "Not Nullable | Not Required" -Fixed "Clear" issue after warnings were implemented -Clean up of logic on success, error, warning messages -Code clean up (no errors on startup) 1/11/21: -Removed "Partitioning Key" from metadata inspector (it is same as primary key at this current time) -Added a button to metadata inspector to view pure JSON vs Parsed -Anonymous types italicized -Switched "Ordered List of:" --> "[ ]" and "Unordered List of:" --> "{{ }}" -Display error message at sample of dataset if no data was ever inserted -Sample expandable / scrollable -Changed "Object" throughout metadata inspector to "Record" 1/18/21: -"Record" camel case consistency in metadata inspector -"Nullable | Required" removed for nested lists and records (not applicable / does not make sense) -Metadata inspector can now handle nested lists -White space between items and array reduced -Code clean up on recursive function for metadata -Fixed issue with unordered lists in metadata inspector 1/25/21: -Fixed metadata inspector for "metadata" dataverse -Updated Node, NPM versions -Removed angular/http deprecated dependency -Updated all dependencies and made transition from .map().catch() => .pipe(map(), catchError()) -Cleaned up comments that had no meaning (toggles) 2/1/21-2/15/21 -Added ngx-graph representation of optimized query plans (supports DAG) -Have navigation bar to step through plan -Can jump through variable occurences in plan -Detailed / non-detailed view of plan -Fixed nav bar at top of screen once you scroll past -Removed non-optimized query plan -Colored nodes -Made arrows / edges in graph shorter -Added "explain" button 2/22/21: -Increased transparency of nodes in plan viewer -Some minor formatting fixes (group by, decor list) -"PARTITION"/"UNPARTITION" in "[...]" -String match search for query plan viewer (essentially CTRL+F behavior) -Disabled nav buttons at limits 3/1/21: -Fixed variables with "(DESC)" and "(ASC)" -Selected node coloring --> red outline -Fixed issue with explaining twice -Clear selections added to plan viewer -Fixed query navigation -Parsed button --> Summary button 3/8/21: -Optimized/Cleaned run/explain query logic 3/15/21: -Code clean up 3/22/21: -Fixed bug where selecting dataverse from dropdown would result in error for "explain" queries -Hide buttons JSON and Tree for CSV output format -Added support for download of JSON, JSONL, and CSV -Dynamic node coloring in plan viewer (no longer hardcoded, accounts for unkown number of operators) -Dynamic node info retrieval for expressions and variables (plan viewer) -Fixed error when requesting "string" plan -Added dialog to pick between json and jsonl for json output 3/29/21: -Table format for CSV -Added support for CSV headers -Rewrote detail parsing for each node in plan viewer -Color assignment for each node is no longer random -Rewrote / cleaned html code for plan viewer -Added support for changing export filename -Fixed issue where first row of csv table data was not being shown 4/5/21: -Filed past and current issues in Jira -Created version 1 of documentation -Fixed bug where all warnings are the same -Fixed bug with autodetect dataverse -Code clean up in request in async-query.service.ts Change-Id: I6d8ee6b1bfb1a6e5dc7072566d76841f9123b093 --- M asterixdb/NOTICE M asterixdb/asterix-dashboard/pom.xml M asterixdb/asterix-dashboard/src/node/angular.json M asterixdb/asterix-dashboard/src/node/package.json M asterixdb/asterix-dashboard/src/node/proxy.config.js M asterixdb/asterix-dashboard/src/node/src/app/app-config.service.ts M asterixdb/asterix-dashboard/src/node/src/app/app.component.ts M asterixdb/asterix-dashboard/src/node/src/app/app.module.ts M asterixdb/asterix-dashboard/src/node/src/app/dashboard/appbar.component.html M asterixdb/asterix-dashboard/src/node/src/app/dashboard/appbar.component.scss M asterixdb/asterix-dashboard/src/node/src/app/dashboard/appbar.component.ts M asterixdb/asterix-dashboard/src/node/src/app/dashboard/apptab.component.scss A asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/dialog-export-picker.html A asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/dialog-export-picker.scss M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/input.component.html M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/input.component.scss M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/input.component.ts M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/metadata-inspector.component.html M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/metadata-inspector.component.scss M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/metadata.component.html M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/metadata.component.scss M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/metadata.component.ts M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/output.component.html M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/output.component.scss M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/output.component.ts D asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/plan-node-svg.component.html D asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/plan-node-svg.component.scss D asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/plan-node-svg.component.ts D asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/plan-view.component.html D asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/plan-view.component.scss D asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/plan-view.component.ts A asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/plan-viewer.component.html A asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/plan-viewer.component.scss A asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/plan-viewer.component.ts M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/query-container.component.html M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/query-container.component.scss M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/query-container.component.ts M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/tree-view.component.html M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/tree-view.component.scss M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/tree-view.component.ts M asterixdb/asterix-dashboard/src/node/src/app/material.module.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/actions/dataset.actions.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/effects/app.effects.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/effects/dataset.effects.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/effects/datatype.effects.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/effects/dataverse.effects.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/effects/index.effects.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/effects/query.effects.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/dataset.reducer.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/query.reducer.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/services/async-query.service.ts M asterixdb/asterix-dashboard/src/node/src/index.html M asterixdb/asterix-dashboard/src/node/src/polyfills.ts A asterixdb/asterix-doc/src/site/markdown/dashboard.md M asterixdb/src/main/licenses/templates/3rdpartylicenses.txt M hyracks-fullstack/NOTICE 56 files changed, 4,392 insertions(+), 1,504 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/52/9152/22 -- To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/9152 To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Change-Id: I6d8ee6b1bfb1a6e5dc7072566d76841f9123b093 Gerrit-Change-Number: 9152 Gerrit-PatchSet: 22 Gerrit-Owner: mile...@uci.edu Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Ian Maxon <ima...@uci.edu> Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Gerrit-CC: Till Westmann Gerrit-MessageType: newpatchset