Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge #1

Open
wants to merge 10,000 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
049b3d1
HUE-8840 [indexer] Clean unused part of index() API
romainr Oct 7, 2020
eada8df
HUE-8888 [importer] Reformatting and styling of sql tests
romainr Oct 8, 2020
f9cecc6
HUE-8840 [importer] Move _create_database() to the sql module
romainr Oct 8, 2020
088b649
HUE-8840 [importer] Move out _create_solr_collection() into the Solr …
romainr Oct 8, 2020
5c21d7a
HUE-8840 [importer] Move out _envelope_job() into the envelope module
romainr Oct 8, 2020
312d93f
HUE-9492 [query browser] Text search, date filtering and pagination
agl29 Oct 7, 2020
9be678c
HUE-9492 [query browser] adding unittest for Api query listing, pagin…
agl29 Oct 8, 2020
36126a0
[desktop] upgrade kazoo to 2.8.0 (#1278) (#1290)
zhang-jc Oct 13, 2020
76a9580
HUE-8888 [sqlalchemy] Properly propagate back expired queries
romainr Oct 8, 2020
ff4bc4c
HUE-8888 [docker] Explicitly uninstall chardet module
romainr Oct 13, 2020
aa649cf
[docs] Freshen-up the main sections description (#1292)
romainr Oct 13, 2020
be25bb1
[docs] Adding the notion of Flink connector (#1292)
romainr Oct 13, 2020
ada905e
HUE-9497 [query browser] Facets selection and improving unittest
agl29 Oct 9, 2020
17a325d
[popover] Give more room to column names (#1293)
romainr Oct 14, 2020
6de3e1c
[docs] Refresh the download restriction properties (#1295)
romainr Oct 15, 2020
37f0d4f
[importer] is failing with "global name '_create_table' is not define…
romainr Oct 15, 2020
124ace4
[libs] Adding gssapi module for out of the box Phoenix connector (#1299)
romainr Oct 15, 2020
5eca90f
[libs] Adding protobuf module for out of the box Phoenix connector (#…
romainr Oct 15, 2020
ac051f3
[libs] Adding requests-gssapi module for out of the box Phoenix conne…
romainr Oct 15, 2020
6761220
[docker] Drop install of Phoenix modules as already included (#1299)
romainr Oct 15, 2020
488cb06
[docs] Move Python API items to expected title size (#1304)
romainr Oct 15, 2020
d1533b0
HUE-9458 [ui] UI-build - Enable extending of webpack config for custo…
sreenaths Oct 15, 2020
68aaa93
[k8s] Add podLabels to values (#1305)
juniorz Oct 15, 2020
56b448d
[notebook] Refactor check permission decorator to explicit name (#1306)
romainr Oct 16, 2020
33ab9f0
[libs] Adding pydruid 0.4.5
romainr Oct 16, 2020
5735b35
[tools] First step of simplifying commit messages
romainr Oct 16, 2020
33d69b0
[notebook] Do not lose Hive/Impala when adding sqlalchemy connectors
romainr Oct 16, 2020
4fa3c55
[desktop] Fix the Python styling of config files
romainr Oct 16, 2020
e62f3f8
[docker] ini overrides is not picked up after the main hue.ini
romainr Oct 17, 2020
9cd125a
[docker] Update the docs about the renamed hue ini override
romainr Oct 17, 2020
b68f531
[libs] Fix the pydruid lib to compile with Python 2
romainr Oct 18, 2020
412bcfd
HUE-9500 [ui] Comment is not shown when view the table info from tabl…
Oct 19, 2020
8b062af
HUE-9500 [ui] Comment is not shown when view the table info from tabl…
Oct 19, 2020
7a9e523
HUE-9500 [ui] Comment is not shown when view the table info from tabl…
Oct 19, 2020
964b7a2
[docker] Add pip uninstall of chardet (#1315)
romainr Oct 19, 2020
6013b10
HUE-9494 [core] Patch hashlib md5 for FIPS
wing2fly Oct 5, 2020
760a2f5
HUE-9494 [lib] Upgrade ply from 3.9 to 3.11
wing2fly Oct 13, 2020
7a6b61f
HUE-9494 [lib] Upgrade parquet from 1.1 to 1.3.1
wing2fly Oct 13, 2020
80737a6
HUE-9494 [lib] Upgrade thriftpy 0.3.9 to thriftpy2 0.4.12
wing2fly Oct 14, 2020
1773b94
HUE-9499 [ui] HueTable styling
sreenaths Oct 19, 2020
fa079b7
HUE-9478 [api] Better format for RestException response
sreenaths Oct 19, 2020
dddd3c1
[docker] Add more connectors to py3
romainr Oct 20, 2020
d1fecd5
[docs] Clean-up of series of connector modules install instruction
romainr Oct 20, 2020
49fd4e6
[flink] Trim statement semi colon automatically as not supported
romainr Oct 20, 2020
f95a823
[sqlalchemy] Support expired query history reload
romainr Oct 20, 2020
885a206
HUE-9480 [frontend] Bump jQuery to 3.5.1
JohanAhlen Oct 19, 2020
6dec5d1
HUE-9480 [frontend] Replace legacy static jQuery 2.2.4 with 3.5.1
JohanAhlen Oct 19, 2020
963c69d
[docker] Do not run gunicorn in container
romainr Oct 20, 2020
57b4129
[flink] Unify the session cache per user
romainr Oct 20, 2020
7df4dd2
[frontend] Fix issue where Jest can only resolve relative module imports
JohanAhlen Oct 21, 2020
373d028
[blog] Tutorial on querying live streams of data with ksql (Kafka SQL)
romainr Oct 21, 2020
1afef57
[blog] Tutorial on querying live streams of data with Flink SQL
romainr Oct 17, 2020
58603fb
[gethue] Update the landing page with latest Stream SQL posts
romainr Oct 21, 2020
6a06424
[libs] Adding decorator which is a pyphoenix dependency
romainr Oct 21, 2020
8486b13
[editor] Replace the execute actions with a Vue components in editor v2
JohanAhlen Oct 21, 2020
bc86386
[core] Make cherrypy server compatible with py2 and py3 exception wise
romainr Oct 20, 2020
ccd43cc
HUE-9508 [querybrowser] Hue does not work with Hive/Impala enforced t…
Oct 23, 2020
a6f8904
[blog] Fix docker compose source link
romainr Oct 23, 2020
e11992f
[website] Swap connector and browser section on index page
romainr Oct 23, 2020
c80ec3f
HUE-9507 [querybrowser] API - Proxy log download API
agl29 Oct 22, 2020
3cbd1a1
HUE-9509 [ui] Create AlertBox component
sreenaths Oct 23, 2020
53911fb
[libs] Comment the chardet dependency in request module config
romainr Oct 23, 2020
29a0077
[editor] Move the ace editor from static into the webpack bundles
JohanAhlen Oct 23, 2020
7a42217
[frontend] Limit Webpack chunk size to around 1 MB
JohanAhlen Oct 23, 2020
a0f186b
[notebook] The default list of interpreter is not cached properly
romainr Oct 23, 2020
4d43ece
HUE-9511 [query browser] Correction in the filed of query_listing API
agl29 Oct 23, 2020
57e496b
HUE-9505 [fb] Add slash back if it was removed by proxy
wing2fly Oct 22, 2020
0b8bcfa
[fb] Fix lint indentation for filebrowser views
wing2fly Oct 23, 2020
f634863
[sparksql] Map application type to sql when opening session for spark…
luyuanhao Oct 6, 2020
d21d6b1
[pylint] Fix "line too long" Python Lint errors (#1287)
luyuanhao Oct 24, 2020
f853ea0
HUE-9513 [core] Improve Hue SAML response check: add defensive code i…
ranade1 Oct 26, 2020
6c6904f
HUE-9513 [core] Fix code styling
romainr Oct 27, 2020
c001aeb
Bump cryptography from 2.8 to 3.2 in /desktop/core
dependabot[bot] Oct 27, 2020
075d097
[tools] Max commit title lenght to 72 chars
romainr Oct 28, 2020
ce7c0a5
HUE-9510 [querybrowser] Config flag for proxy
agl29 Oct 23, 2020
7a70235
[kafka] Small style clean-up of the current lib
romainr Oct 22, 2020
3e9d2ea
[docs] Point to the demo blog post of each dialect if available
romainr Oct 23, 2020
b2f7df0
HUE-9514 [query browser] API - Add proxy authentication
agl29 Oct 28, 2020
2f90794
[editor] Include the pgsql Ace editor mode
JohanAhlen Oct 28, 2020
d763aa9
[kafka] Small clean-up of the current lib
romainr Oct 22, 2020
e82d4d7
[ksql] Handle without exception when ksql API returns empty
romainr Oct 22, 2020
40dd8ab
[ksql] Handle generator raised StopIteration on query result
romainr Oct 22, 2020
5bff3cb
[ksql] List topics API
romainr Oct 22, 2020
bc5bf0c
[importer] Adding get_sample_data from a stream
romainr Oct 22, 2020
e5691e3
[ksql] Stop trucating end of result lines
romainr Oct 22, 2020
a005494
[importer] Add stream table output format
romainr Oct 22, 2020
af23eeb
[importer] Use connector when submiting creation task
romainr Oct 22, 2020
26d8fe6
[importer] Generate Flink create table with proper columns and topic
romainr Oct 22, 2020
5ce10a3
[querystore] Light code re-styling of download API
romainr Oct 25, 2020
c1c6adf
[notebook] Fix series of styling issues
romainr Oct 28, 2020
bff9b89
HUE-9518 [session] ability to change the csrf cookie age from default…
quadoss Oct 27, 2020
b8eeb46
[sqlalchemy] Adding explain() to notebook API
romainr Oct 24, 2020
a7b16c6
HUE-9517 [solr] fix for CSV file with pipe seperator or any seperator…
quadoss Oct 27, 2020
d97e3c1
[editor] Include the mysql Ace editor mode
romainr Oct 28, 2020
5d1d0c6
[py3] Remove confusion about extra requirement file
romainr Oct 28, 2020
88a2612
[libs] Bump sqlparse version to 0.4.1
romainr Oct 28, 2020
b31fbbc
[frontend] Update the fluid colors to the latest version
JohanAhlen Oct 29, 2020
1755905
[frontend] Add Fluid styling to the HueButton component
JohanAhlen Oct 29, 2020
73ccb78
[editor] Show the stop button in red in editor v2
JohanAhlen Oct 29, 2020
1e6c88d
Get full list of interpreters for INTERPRETERS_CACHE (#1354)
wing2fly Oct 29, 2020
b3de83f
[search] Include the Ace Solr editor mode
JohanAhlen Oct 27, 2020
8fefcfb
HUE-9538 [core] user home directories are not created for Newly Logge…
Oct 30, 2020
ba4d59c
HUE-9538 [core] user home directories are not created for Newly Logge…
Oct 30, 2020
0af5e23
HUE-9521 [kt_renewer] fix to handle renew_lifetime if set to 0m
quadoss Oct 29, 2020
345a706
HUE-9540 [query browser] API - List queries
agl29 Nov 2, 2020
4bc9a12
HUE-9485 [frontend] Make SQL text bg transparent
sreenaths Nov 3, 2020
e36b455
HUE-9485 [frontend] Remove margins of Tab for better alignment
sreenaths Nov 3, 2020
e418e74
HUE-9485 [frontend] Adding hue-flex-layout mixin (#1359)
sreenaths Nov 3, 2020
e3fa632
HUE-9448 [editor] Hide the link to Impalad if COORDINATOR_URL is set
wing2fly Oct 30, 2020
34633ff
[build] Adding real package name help for debian
romainr Nov 4, 2020
8a9fb51
[sqlalchemy] Protect against explain on empty statement
romainr Oct 29, 2020
a78e6a7
Bump django from 1.11.28 to 1.11.29 in /desktop/core
dependabot[bot] Oct 29, 2020
ea3a171
[docs] Cleaner instruction for Ubuntu 20.04 and Python 3 build
romainr Nov 4, 2020
dedaaf8
[flink] Protect against expired statement in check_status
romainr Nov 4, 2020
07a2d3a
[flink] Avoid closing session on page refresh or editor close for now
romainr Nov 4, 2020
3fb5782
[notebook] Adding default explain() function
romainr Nov 4, 2020
69a4f6f
[k8s] Added Hive config map so API can read hive-site.xml options
romainr Nov 5, 2020
bbd5358
[connector] Directly link to the connector page from editor menu
romainr Nov 4, 2020
ef745d1
[k8s] Adding annotation to hive configmap dependency
romainr Nov 5, 2020
4e0cfc9
[docs] Add login security options section
romainr Nov 5, 2020
56cc487
[core] Fix error handling in kt_renewer.py for python3
elukey Nov 5, 2020
60b3043
[fs] Small pylint code refactoring
romainr Aug 25, 2020
6654a21
[docs] Help on building with mysql lib on latest Ubuntu
romainr Nov 6, 2020
30b70b4
HUE-9381 [ui] Table ERD - Better CSS class support in entities
sreenaths Nov 10, 2020
419fd43
HUE-9522 [useradmin] fix user home folder creation to use umask
quadoss Oct 30, 2020
03f14a2
[jb] Fix COORDINATOR_URL has no attibute 'get' when Impala is blackli…
wing2fly Nov 13, 2020
c6f6ce6
HUE-9552 [fb] Folder Fails to Load when the foldername contains # (as…
Nov 6, 2020
b822da1
HUE-9564 [oozie] Oozie Jobs Submitted via Filebrowser Execute Options…
Nov 16, 2020
b3d73ae
[phoenix] Automatically strip ; in non connector mode
romainr Nov 15, 2020
371e1d4
[jobbrowser] Show Hive Query Browser even if yarn not configured
romainr Nov 14, 2020
d6c085c
[jobbrowser] Add Hive kill query via Notebook call
romainr Nov 14, 2020
f8eaa2d
[jb] Style fix on the query API module
romainr Nov 14, 2020
19a809b
HUE-9485 Added css properties to HueTable Column Interface
sreenaths Nov 13, 2020
6c54abf
[parser] Updating generated parser files #1390
sreenaths Nov 15, 2020
f51be5f
[parser] #1390 Publish Hue parsers as vanilla JS files, and move sour…
sreenaths Nov 15, 2020
84a7635
[k8s] Update helm list to work with helm 3
romainr Nov 16, 2020
026e4dd
GH-1390 [parser] Fixed issue with package.json created by npm run web…
sreenaths Nov 17, 2020
fcc0078
[blog] Querying live Kafka data in a Big Table like HBase Post
romainr Nov 17, 2020
db46553
[core] Use remote_storage_home as User profile home when set
romainr Oct 29, 2020
e9e978b
GH-1403 [parser] Live demo docs - Add gethue into docs
sreenaths Nov 18, 2020
30b93f9
GH-1403 [parser] Live docs - Added demo for all parsers
sreenaths Nov 18, 2020
b8b35eb
GH-1403 [parser] Live demo docs - Load er-diagram component from /js/…
sreenaths Nov 18, 2020
105d006
GH-1403 [parser] Fixed issue in handlinng Syntax Parser
sreenaths Nov 18, 2020
001b465
GH-1390 [parser] Fix window is not defined bug when parser is used on…
sreenaths Nov 18, 2020
bb41a4b
[hive] Avoid error on empty EXPLAIN call
romainr Nov 18, 2020
e5f82fa
[jb] Explicitly set the has result flag in the kill query handle
romainr Nov 19, 2020
754d037
[frontend] Add types for huePubSub
JohanAhlen Oct 27, 2020
8b84791
[editor] Add additional parser type definitions
JohanAhlen Oct 27, 2020
dca0b92
[editor] Remove snippet dependency from Ace location handler events
JohanAhlen Oct 30, 2020
5639dc1
[editor] Add Knockout to Vue adapter component for the Executable Act…
JohanAhlen Nov 3, 2020
cea0b5d
[editor] Add Ace types
JohanAhlen Nov 3, 2020
3efbc83
[editor] Add an AceEditor component
JohanAhlen Nov 3, 2020
1d86938
[editor] Use the snippet ID as editor ID with the AceEditor component
JohanAhlen Nov 3, 2020
2b07905
[editor] Add types for the data catalog and autocomplete parsers
JohanAhlen Nov 10, 2020
0e942f0
[editor] Remove snippet dependency from AutocompleteResults
JohanAhlen Nov 10, 2020
06fe15a
[frontend] Add missing types for parsers, Ace and the data catalog
JohanAhlen Nov 16, 2020
0a046d6
[frontend] Add a Vue spinner component
JohanAhlen Nov 16, 2020
952a75f
[frontend] Add a Vue text match highlighting component
JohanAhlen Nov 16, 2020
0918867
[frontend] Remove snippet dependency from autocomplete logic in edito…
JohanAhlen Nov 16, 2020
4bd4519
[frontend] Migrate the autocomplete dropdown from Mako/Knockout to a …
JohanAhlen Nov 16, 2020
da54289
[editor] Fix Vue reactivity in the Ace Autocomplete component
JohanAhlen Nov 17, 2020
59a7a9a
[editor] Add autocomplete details panel Vue components for set option…
JohanAhlen Nov 17, 2020
61219c8
[editor] Add temporary namespace requirement for the AceEditor component
JohanAhlen Nov 18, 2020
38b3c77
[editor] Add filter as key for autocomplete suggestions to prevent Vu…
JohanAhlen Nov 18, 2020
a935ed6
[editor] Move suggestions and loading logic to the AceAutocomplete Vu…
JohanAhlen Nov 18, 2020
c99f3e5
[editor] Make namespace and compute check async to speed up rendering…
JohanAhlen Nov 19, 2020
142e1a0
[editor] Add support for "? from table" suggestions in the AceAutocom…
JohanAhlen Nov 19, 2020
ea75497
[editor] Add support for ctrl-enter execution in the AceEditor component
JohanAhlen Nov 19, 2020
f3c4bbe
[editor] Emit value change event from the AceEditor component
JohanAhlen Nov 19, 2020
e132540
[editor] Add an EditorResizer Vue component in editor V2
JohanAhlen Nov 20, 2020
c4dee20
[sparksql] Connector server url property has a wrong name
romainr Nov 20, 2020
f093e6c
[connector] Keep the nice name in connector creation
romainr Nov 20, 2020
b840a22
[docs] Directly point to the DB connector page
romainr Nov 20, 2020
5f15855
[connector] Applying pylint styling fix to all the file
romainr Nov 20, 2020
7388cf8
[blog] k8s link refresh
romainr Aug 21, 2020
3052287
HUE-9567 [scheduler] missing minute field for Oozie Schedulers in Hue…
Nov 21, 2020
b92c3ef
HUE-9570 [ui] Rewramp deXSS with sanitize-html package (#1418)
Nov 23, 2020
66f161f
[docker] Add more sqlalchemy plugins
romainr Nov 21, 2020
0f4c24a
[editor] Add support for dropping text in the editor Vue component
JohanAhlen Nov 23, 2020
16b8899
[editor] Clean up initialization of the AceEditor Vue component
JohanAhlen Nov 23, 2020
06f7458
[editor] Add support for various insert text events in the Ace Editor…
JohanAhlen Nov 23, 2020
af374d4
[core] User default app preference can have duplicate rows
romainr Nov 22, 2020
e2f186b
GH-1424 [api] Support Hive query kill action in jobbrowser
sreenaths Nov 24, 2020
1917a5a
[blog] Fix formatting of multi object returned troubleshooting post
romainr Nov 22, 2020
fe5c0ec
[ci] Skip pylint on the generated DB migration files
romainr Nov 24, 2020
d8ae378
HUE-9277 [spark] Support connectors in Livy client
romainr May 14, 2020
50abf47
[connector] Support connector to same dialect but different interface
romainr May 14, 2020
85629f0
[connector] Fix no-oped server properties when using ssh
romainr Nov 21, 2020
8971c71
[importer] Create a phoenix table from a file
romainr Oct 29, 2020
c56165a
HUE-9573 [editor] Adding missing statements to the multi statement ex…
quadoss Nov 25, 2020
5df0e65
[editor] Automatically close the Autocompleter Vue component on scroll
JohanAhlen Nov 23, 2020
2f925bc
[editor] Add placeholder a in the Ace Editor Vue component
JohanAhlen Nov 24, 2020
766a95f
[editor] Keep track of the cursor position in the AceEditor Vue compo…
JohanAhlen Nov 25, 2020
6af9bb6
[editor] Add middle click copy and past support in the AceEditor comp…
JohanAhlen Nov 25, 2020
9cb9a2f
[editor] Support changing file paths from the context popover in the …
JohanAhlen Nov 25, 2020
f2085a4
[editor] Fix file autocompletion issues in the new AceEditor Vue comp…
JohanAhlen Nov 25, 2020
c89395c
[frontend] Add missing types for sanitize-html
JohanAhlen Nov 25, 2020
ad3eefe
[frontend] Convert hueUtils to typescript and remove custom polyfills
JohanAhlen Nov 25, 2020
2bb10a2
[frontend] Replace global totalStorage with native localStorage imple…
JohanAhlen Nov 25, 2020
14dc72c
fix(boto): S3 region parser references unassigned variable when S3 is…
tumido Nov 26, 2020
c92cd01
GH-1432 [api] Add doAs header in proxied jobbrowser requests
sreenaths Nov 26, 2020
198bcf8
[frontend] Consolidate localStorage logic in storageUtils
JohanAhlen Nov 26, 2020
e1b1653
GH-1437 [NPM] Add complete JS source into GetHue
sreenaths Nov 30, 2020
8dc1cb0
GH-1437 [NPM] Add complete JS source into GetHue
sreenaths Nov 30, 2020
a1a79fa
[editor] Drop JQuery dependency from the AceEditor component
JohanAhlen Nov 26, 2020
11551cb
[editor] Switch to using the new AceGutterHandler in the AceEditor Vu…
JohanAhlen Nov 26, 2020
835d78d
[editor] Fix issue with missing handle on a failed query in Editor v2
JohanAhlen Nov 26, 2020
1c5ee05
[editor] Fix issue where duplicate error messages are shown for faile…
JohanAhlen Nov 26, 2020
81b489e
[frontend] Fix webpack chunk naming for the impala and hive language …
JohanAhlen Nov 30, 2020
6dbf85a
[editor] Only cancel queries that are actually running when executing…
JohanAhlen Nov 30, 2020
38cb5db
[k8s] Add password_script to database configuration (#1436)
juniorz Nov 27, 2020
df2fd58
HUE-9574 [core] Apply timeout to thrift-over-http calls (#1430)
wing2fly Nov 30, 2020
9ca8d9f
[blog] Fix broken style and old link in export doc via CLI
romainr Nov 30, 2020
b67dd15
[core] Avoid 500 error in server mode when looking at stats
romainr Dec 1, 2020
61252e6
[editor] Properly mark error lines in Editor V2
JohanAhlen Dec 1, 2020
1807a72
[editor] Clear any error or success gutter markings once a statement …
JohanAhlen Dec 1, 2020
1f85bc2
[frontend] Update browserslist for jest
JohanAhlen Dec 1, 2020
2f59a2a
[docker] snappy lib OS package is missing
romainr Dec 1, 2020
78bffcf
[ksql] Do not error when single column record not in json
romainr Dec 2, 2020
b43e15e
[editor] Add missing keyboard commands to the AceEditor component
JohanAhlen Dec 2, 2020
c3de557
[frontend] Add global web component attribute for hue base URL config
JohanAhlen Dec 2, 2020
39ebbf8
[editor] Switch to axios for the format SQL ajax request
JohanAhlen Dec 2, 2020
63c5029
[frontend] Fix issue with I18n when the global HUE_I81n property isn'…
JohanAhlen Dec 2, 2020
cf8ec6e
[editor] Remove snippet dependency from AceEditor component related m…
JohanAhlen Dec 2, 2020
64aa9d3
[editor] Remove dependency on ko bindings from AceEditor component an…
JohanAhlen Dec 2, 2020
491b233
[editor] Remove usage of global huePubSub in the Ace code
JohanAhlen Dec 3, 2020
6b98f97
[frontend] Add the query-editor web component to the npm dist config
JohanAhlen Dec 3, 2020
9773880
HUE-9485 [ui] Spinner component - Enabled display of both overlay and…
sreenaths Dec 4, 2020
782b6be
[frontend] Add scss to the style linter
JohanAhlen Dec 4, 2020
a740fbe
[frontend] Remove empty style blocks from the AceEditor components
JohanAhlen Dec 4, 2020
b4c798b
[editor] Add an autocomplete parser property on the AceEditor component
JohanAhlen Dec 4, 2020
7035ebd
[editor] Consolidate AceEditor related styles
JohanAhlen Dec 4, 2020
f8749bc
[editor] Set the AceEditor styles in the shadow css of the exported w…
JohanAhlen Dec 4, 2020
f0a39ec
GH-1459 [parser] Rename 'X Syntax Error Parser' in Syntax Parser live…
sreenaths Dec 7, 2020
2817ff4
HUE-9485 [ui] Search input text is getting clipped
sreenaths Dec 4, 2020
b43ffd7
HUE-9605 [core] change_default_password config Not working in latest …
Dec 8, 2020
38beadd
[editor] Externalize sqlParserRepository for the AceAutocompleter Vue…
JohanAhlen Dec 7, 2020
6979b5f
[frontend] Switch to using the sqlParserRepository for the local opti…
JohanAhlen Dec 7, 2020
7afaf07
[editor] Fix issue with reading back errors from saved queries in edi…
JohanAhlen Dec 7, 2020
ad2c3a3
[frontend] Add qs lib for handling axios request data
JohanAhlen Dec 7, 2020
9c31deb
[editor] Switch to Axios for executor API logic in editor v2
JohanAhlen Dec 7, 2020
24c8c42
[frontend] Upgrade Mustache to 4.1.0
JohanAhlen Dec 8, 2020
c7ed2c5
[opt] Dummy interface has some incorrect Python statements
romainr Dec 7, 2020
c8cf483
HUE-9608 [core] Sensitive Information Stored in Local Storage (asnaik)
Dec 8, 2020
c67a4f7
[kafka] Use the proper notebook api client
romainr Dec 8, 2020
dc1958b
HUE-9569 [core] Upgrade cx_Oracle from 5.2.1 to 6.4.1 (#1456)
wing2fly Dec 8, 2020
575bef9
HUE-9623 [aws] Show S3 browser when IDBroker is enabled (#1467)
wing2fly Dec 8, 2020
42eb854
[user] Default app loading can fail
romainr Dec 8, 2020
771c3d7
[hdfs] Do not use object store home as home when not HDFS
romainr Dec 9, 2020
fa87482
HUE-9614 [Deprecation Warning] on_delete will be a required arg for F…
agl29 Dec 8, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[editor] Externalize sqlParserRepository for the AceAutocompleter Vue…
… component
JohanAhlen committed Dec 8, 2020
commit 38beadd4446a92c3acfed14b8d5d87c9385fd9eb
Original file line number Diff line number Diff line change
@@ -20,7 +20,7 @@
<div class="ace-editor-component">
<div :id="id" ref="editorElement" class="ace-editor" />
<ace-autocomplete
v-if="editor"
v-if="editor && autocompleteParser"
:autocomplete-parser="autocompleteParser"
:editor="editor"
:editor-id="id"
@@ -42,7 +42,12 @@
import { formatSql } from 'apps/notebook2/apiUtils';
import Executor from 'apps/notebook2/execution/executor';
import SubscriptionTracker from 'components/utils/SubscriptionTracker';
import { AutocompleteParser, IdentifierChainEntry, ParsedLocation } from 'parse/types';
import {
AutocompleteParser,
IdentifierChainEntry,
ParsedLocation,
SqlParserProvider
} from 'parse/types';
import { EditorInterpreter } from 'types/config';
import { hueWindow } from 'types/types';
import huePubSub from 'utils/huePubSub';
@@ -74,10 +79,11 @@
@Prop({ required: false, default: () => ({}) })
aceOptions?: Ace.Options;
@Prop({ required: false })
autocompleteParser?: AutocompleteParser;
sqlParserProvider?: SqlParserProvider;

subTracker = new SubscriptionTracker();
editor: Ace.Editor | null = null;
autocompleteParser: AutocompleteParser | null = null;
aceLocationHandler: AceLocationHandler | null = null;
lastFocusedEditor = false;

@@ -91,6 +97,14 @@
return;
}

if (this.sqlParserProvider) {
this.sqlParserProvider
.getAutocompleteParser(this.executor.connector().dialect)
.then(autocompleteParser => {
this.autocompleteParser = autocompleteParser;
});
}

const height = localStorage.getItem('ace.editor.custom.height') || '128';
(<HTMLElement>this.$el).style.height = height + 'px';

Original file line number Diff line number Diff line change
@@ -24,6 +24,7 @@
:executor="executor"
:initial-cursor-position="cursorPosition"
:initial-value="value"
:sql-parser-provider="sqlParserProvider"
@ace-created="aceCreated"
@create-new-doc="createNewDoc"
@cursor-changed="cursorChanged"
@@ -43,6 +44,7 @@
import AceEditor from './AceEditor.vue';
import Executor from 'apps/notebook2/execution/executor';
import SubscriptionTracker from 'components/utils/SubscriptionTracker';
import sqlParserRepository from 'parse/sql/sqlParserRepository';

@Component({
components: { AceEditor }
@@ -60,10 +62,11 @@
aceOptions?: Ace.Options;

cursorPosition?: Ace.Position;
value?: string;
editorId?: string;
subTracker = new SubscriptionTracker();
initialized = false;
sqlParserProvider = sqlParserRepository;
subTracker = new SubscriptionTracker();
value?: string;

updated(): void {
if (!this.initialized) {
Original file line number Diff line number Diff line change
@@ -122,17 +122,17 @@
})
export default class AceAutocomplete extends Vue {
@Prop({ required: true })
executor!: Executor;
autocompleteParser!: AutocompleteParser;
@Prop({ required: true })
editor!: Ace.Editor;
@Prop({ required: true })
editorId!: string;
@Prop({ required: true })
editor!: Ace.Editor;
executor!: Executor;

@Prop({ required: false, default: false })
temporaryOnly?: boolean;

@Prop({ required: false })
autocompleteParser?: AutocompleteParser;

startLayout: DOMRect | null = null;
startPixelRatio = window.devicePixelRatio;
left = 0;
Original file line number Diff line number Diff line change
@@ -28,14 +28,13 @@ import { AutocompleteParser, AutocompleteParseResult } from 'parse/types';
import { EditorInterpreter } from 'types/config';
import AutocompleteResults from './AutocompleteResults';
import huePubSub from 'utils/huePubSub';
import sqlParserRepository from 'parse/sql/sqlParserRepository';

export default class SqlAutocompleter implements Disposable {
editor: Ace.Editor;
executor: Executor;
fixedPrefix: () => string;
fixedPostfix: () => string;
autocompleteParser?: AutocompleteParser;
autocompleteParser: AutocompleteParser;
autocompleteResults: AutocompleteResults;
editorId: string;

@@ -51,7 +50,7 @@ export default class SqlAutocompleter implements Disposable {
editor: Ace.Editor;
fixedPrefix?: () => string;
fixedPostfix?: () => string;
autocompleteParser?: AutocompleteParser;
autocompleteParser: AutocompleteParser;
}) {
this.editorId = options.editorId;
this.editor = options.editor;
@@ -114,20 +113,19 @@ export default class SqlAutocompleter implements Disposable {
}) + this.fixedPostfix();

try {
const parser =
this.autocompleteParser ||
(await sqlParserRepository.getAutocompleter(this.getDialect()));
return parser.parseSql(beforeCursor, afterCursor);
return this.autocompleteParser.parseSql(beforeCursor, afterCursor);
} catch (err) {
console.warn(err);
}
}
}

async parseAll(): Promise<AutocompleteParseResult | undefined> {
const parser = await sqlParserRepository.getAutocompleter(this.getDialect());
try {
return parser.parseSql(this.editor.getTextBeforeCursor(), this.editor.getTextAfterCursor());
return this.autocompleteParser.parseSql(
this.editor.getTextBeforeCursor(),
this.editor.getTextAfterCursor()
);
} catch (err) {
console.warn(err);
}
Original file line number Diff line number Diff line change
@@ -27,7 +27,7 @@ export default class LocalStrategy extends BaseStrategy {

// TODO: Get parser from repository, need to extract SqlFunctions dep first
// to reduce size of main hue bundle
// const parser = await sqlParserRepository.getAutocompleter(snippet.dialect);
// const parser = await sqlParserRepository.getAutocompleteParser(snippet.dialect);
const sqlParseResult = sqlAutocompleteParser.parseSql(snippet.statement + ' ', '');

const hasLimit = sqlParseResult.locations.some(
Original file line number Diff line number Diff line change
@@ -15,6 +15,8 @@
// limitations under the License.

/* eslint-disable */
import { AutocompleteParser, SqlParserProvider, SyntaxParser } from 'parse/types';

/**
* AUTOCOMPLETE_MODULES and SYNTAX_MODULES are generated, do not edit manually, see tools/jison/generateParsers.js
*/
@@ -44,16 +46,19 @@ const SYNTAX_MODULES = {
};
/* eslint-enable */

class SqlParserRepository {
constructor() {
this.modulePromises = {};
}
class SqlParserRepository implements SqlParserProvider {
modulePromises: { [dialect: string]: Promise<AutocompleteParser | SyntaxParser> } = {};

async getParser(dialect, parserType) {
async getParser(dialect: string, parserType: string): Promise<AutocompleteParser | SyntaxParser> {
if (!this.modulePromises[dialect + parserType]) {
const modules = parserType === 'Autocomplete' ? AUTOCOMPLETE_MODULES : SYNTAX_MODULES;
const modules = <{ [dialect: string]: () => unknown }>(
(parserType === 'Autocomplete' ? AUTOCOMPLETE_MODULES : SYNTAX_MODULES)
);
const targetModule = <() => Promise<{ default: SyntaxParser | AutocompleteParser }>>(
(modules[dialect] || modules.generic)
);

this.modulePromises[dialect + parserType] = new Promise((resolve, reject) => {
const targetModule = modules[dialect] || modules.generic;
targetModule()
.then(module => resolve(module.default))
.catch(reject);
@@ -62,16 +67,14 @@ class SqlParserRepository {
return this.modulePromises[dialect + parserType];
}

/**
* @param dialect
* @return {Promise<*>}
*/
async getAutocompleter(dialect) {
return this.getParser(dialect, 'Autocomplete');
async getAutocompleteParser(dialect: string): Promise<AutocompleteParser> {
const autocompleteParser = await this.getParser(dialect, 'Autocomplete');
return <AutocompleteParser>autocompleteParser;
}

async getSyntaxParser(dialect) {
return this.getParser(dialect, 'Syntax');
async getSyntaxParser(dialect: string): Promise<SyntaxParser> {
const syntaxParser = await this.getParser(dialect, 'Syntax');
return <SyntaxParser>syntaxParser;
}
}

9 changes: 9 additions & 0 deletions desktop/core/src/desktop/js/parse/types.ts
Original file line number Diff line number Diff line change
@@ -190,4 +190,13 @@ export interface AutocompleteParser {
parseSql(beforeCursor: string, afterCursor: string): AutocompleteParseResult;
}

export interface SyntaxParser {
parseSyntax(beforeCursor: string, afterCursor: string): unknown;
}

export interface SqlParserProvider {
getAutocompleteParser(dialect: string): Promise<AutocompleteParser>;
getSyntaxParser(dialect: string): Promise<SyntaxParser>;
}

declare const sqlStatementsParser: SqlStatementsParser;
4 changes: 2 additions & 2 deletions desktop/core/src/desktop/js/sql/sqlAutocompleter.js
Original file line number Diff line number Diff line change
@@ -75,7 +75,7 @@ class SqlAutocompleter {
}
}) + this.fixedPostfix();
sqlParserRepository
.getAutocompleter(this.snippet.dialect())
.getAutocompleteParser(this.snippet.dialect())
.then(autocompleteParser => {
resolve(autocompleteParser.parseSql(beforeCursor, afterCursor));
})
@@ -95,7 +95,7 @@ class SqlAutocompleter {
async parseAll() {
return new Promise((resolve, reject) => {
sqlParserRepository
.getAutocompleter(this.snippet.dialect())
.getAutocompleteParser(this.snippet.dialect())
.then(autocompleteParser => {
resolve(
autocompleteParser.parseSql(
2 changes: 1 addition & 1 deletion desktop/core/src/desktop/js/sql/sqlLocationWebWorker.js
Original file line number Diff line number Diff line change
@@ -56,7 +56,7 @@ const onMessage = msg => {
clearTimeout(throttle);
throttle = setTimeout(() => {
if (msg.data.statementDetails) {
sqlParserRepository.getAutocompleter(msg.data.connector.dialect).then(parser => {
sqlParserRepository.getAutocompleteParser(msg.data.connector.dialect).then(parser => {
let locations = [];
const activeStatementLocations = [];
msg.data.statementDetails.precedingStatements.forEach(statement => {
2 changes: 1 addition & 1 deletion docs/docs-site/content/developer/parsers/_index.md
Original file line number Diff line number Diff line change
@@ -44,7 +44,7 @@ The parsers provide one function, parseSql, that accepts the text before the cur

As an example:

sqlParserRepository.getAutocompleter('impala').then(parser => {
sqlParserRepository.getAutocompleteParser('impala').then(parser => {
console.log(parser.parseSql('SELECT * FROM customers'));
});

Original file line number Diff line number Diff line change
@@ -57,7 +57,7 @@ The parsers provide one function, `parseSql`, that accepts the text before the c

As an example:

<pre><code class="javascript">sqlParserRepository.getAutocompleter('impala').then(parser =&gt; {
<pre><code class="javascript">sqlParserRepository.getAutocompleteParser('impala').then(parser =&gt; {
console.log(parser.parseSql('SELECT * FROM customers'));
});
</code></pre>
4 changes: 2 additions & 2 deletions tools/jison/generateParsers.js
Original file line number Diff line number Diff line change
@@ -47,7 +47,7 @@ const PARSER_FOLDER = '../../desktop/core/src/desktop/js/parse/sql/';
const OUTPUT_FOLDER = '../../desktop/core/src/desktop/js/parse/';
const JISON_FOLDER = '../../desktop/core/src/desktop/js/parse/jison/';
const SQL_PARSER_REPOSITORY_PATH =
'../../desktop/core/src/desktop/js/parse/sql/sqlParserRepository.js';
'../../desktop/core/src/desktop/js/parse/sql/sqlParserRepository.ts';
const SYNTAX_PARSER_IMPORT_TEMPLATE =
' KEY: () => import(/* webpackChunkName: "KEY-parser" */ \'parse/sql/KEY/KEYSyntaxParser\')';
const AUTOCOMPLETE_PARSER_IMPORT_TEMPLATE =
@@ -471,7 +471,7 @@ identifySqlParsers().then(() => {
} else {
const autocompParsers = [];
const syntaxParsers = [];
console.log('Updating sqlParserRepository.js...');
console.log('Updating sqlParserRepository.ts...');
Object.keys(parserDefinitions).forEach(key => {
if (parserDefinitions[key].sqlParser === 'AUTOCOMPLETE') {
autocompParsers.push(