You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by AsterixDB Code Review <do...@asterix-gerrit.ics.uci.edu> on 2021/05/13 18:04:32 UTC

Change in asterixdb[master]: [NO ISSUE][DASHBOARD] New Asterix Query Console

From <mi...@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 (#32).

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
-Added cancel query feature

4/12/21:
-Added syntax highlighting
-Added auto close on brackets, paranthesis, quotes, escape char, etc.
-Added support for autocompleting (CTRL+Space), but more work / thought
is needed
-Changed font of text editor

4/19/21:
-Added copy and paste ability from Metadata Inspector
-Added # objects returned
-Fixed minor issue with sampling datasets
-Added functions to metadata inspector
-Added output case for when there are 0 results returned

4/26/21:
-Responded to Ian's first wave of comments

5/10/21:
-Display arity of function in metadata inspector
-Return empty array for 0 objects returned
-Added groundwork for testing

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
A asterixdb/asterix-dashboard/src/node/src/app/shared/actions/cancel.actions.ts
M asterixdb/asterix-dashboard/src/node/src/app/shared/actions/dataset.actions.ts
A asterixdb/asterix-dashboard/src/node/src/app/shared/actions/function.actions.ts
M asterixdb/asterix-dashboard/src/node/src/app/shared/actions/query.actions.ts
M asterixdb/asterix-dashboard/src/node/src/app/shared/effects/app.effects.ts
A asterixdb/asterix-dashboard/src/node/src/app/shared/effects/cancel.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
A asterixdb/asterix-dashboard/src/node/src/app/shared/effects/function.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
A asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/cancel.reducer.ts
M asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/dataset.reducer.ts
A asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/function.reducer.ts
M asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/index.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/main.scss
M asterixdb/asterix-dashboard/src/node/src/polyfills.ts
M asterixdb/asterix-dashboard/src/node/src/styles/_general.scss
M asterixdb/asterix-dashboard/src/node/src/test.ts
A asterixdb/asterix-dashboard/src/node/src/tests/appbar.component.spec.ts
A asterixdb/asterix-dashboard/src/node/src/tests/input.component.spec.ts
A asterixdb/asterix-doc/src/site/markdown/dashboard.md
M asterixdb/src/main/licenses/templates/3rdpartylicenses.txt
M hyracks-fullstack/NOTICE
69 files changed, 5,239 insertions(+), 1,546 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/52/9152/32
-- 
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: 32
Gerrit-Owner: milesh1@uci.edu
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Ian Maxon <im...@uci.edu>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: milesh1@uci.edu
Gerrit-CC: Till Westmann <ti...@apache.org>
Gerrit-MessageType: newpatchset