This is an automated email from the ASF dual-hosted git repository. jackie pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git
The following commit(s) were added to refs/heads/master by this push: new 1ea4260 adding json-bigInt package to parse long values in json (#7120) 1ea4260 is described below commit 1ea42605f874a77debbb918ba35abb6c33de3289 Author: Sanket Shah <shahsan...@users.noreply.github.com> AuthorDate: Fri Jul 2 23:43:56 2021 +0530 adding json-bigInt package to parse long values in json (#7120) Fix #5829 Added json-bigint package and for `sql` and `pql` API disabling native JSON parsing and using json-bigint parser. --- .../src/main/resources/app/components/SideBar.tsx | 2 +- pinot-controller/src/main/resources/app/requests/index.ts | 4 ++-- pinot-controller/src/main/resources/app/styles/styles.css | 2 +- .../src/main/resources/app/utils/PinotMethodUtils.ts | 2 ++ .../src/main/resources/app/utils/axios-config.ts | 4 +++- pinot-controller/src/main/resources/package-lock.json | 13 +++++++++++++ pinot-controller/src/main/resources/package.json | 1 + 7 files changed, 23 insertions(+), 5 deletions(-) diff --git a/pinot-controller/src/main/resources/app/components/SideBar.tsx b/pinot-controller/src/main/resources/app/components/SideBar.tsx index bf3deaf..d0f9552 100644 --- a/pinot-controller/src/main/resources/app/components/SideBar.tsx +++ b/pinot-controller/src/main/resources/app/components/SideBar.tsx @@ -98,7 +98,7 @@ const useStyles = makeStyles((theme: Theme) => position: 'absolute', whiteSpace: 'nowrap', backgroundColor: 'inherit', - padding: '8px 8px 8px 0', + padding: '7px 8px 7px 0', borderRadius: '0 4px 4px 0', zIndex: 9 }, diff --git a/pinot-controller/src/main/resources/app/requests/index.ts b/pinot-controller/src/main/resources/app/requests/index.ts index 4110bb5..ae729ed 100644 --- a/pinot-controller/src/main/resources/app/requests/index.ts +++ b/pinot-controller/src/main/resources/app/requests/index.ts @@ -28,7 +28,7 @@ const headers = { 'Accept': 'text/plain, */*; q=0.01' }; -import { baseApi } from '../utils/axios-config'; +import { baseApi, transformApi } from '../utils/axios-config'; export const getTenants = (): Promise<AxiosResponse<Tenants>> => baseApi.get('/tenants'); @@ -97,7 +97,7 @@ export const getTableSchema = (name: string): Promise<AxiosResponse<TableSchema> baseApi.get(`/tables/${name}/schema`); export const getQueryResult = (params: Object, url: string): Promise<AxiosResponse<SQLResult>> => - baseApi.post(`/${url}`, params, {headers}); + transformApi.post(`/${url}`, params, {headers}); export const getClusterInfo = (): Promise<AxiosResponse<ClusterName>> => baseApi.get('/cluster/info'); diff --git a/pinot-controller/src/main/resources/app/styles/styles.css b/pinot-controller/src/main/resources/app/styles/styles.css index ffa77f4..711c558 100644 --- a/pinot-controller/src/main/resources/app/styles/styles.css +++ b/pinot-controller/src/main/resources/app/styles/styles.css @@ -116,7 +116,7 @@ h3.accordion-subtitle:before, h3.accordion-subtitle:after { } .MuiListItem-root.Mui-selected, .MuiListItem-root.Mui-selected:hover { - background-color: rgb(66 133 244 / 0.3) !important; + background-color: #c0d5f8 !important; } .box-border{ border: 1px #ccc solid; diff --git a/pinot-controller/src/main/resources/app/utils/PinotMethodUtils.ts b/pinot-controller/src/main/resources/app/utils/PinotMethodUtils.ts index 95cfce7..d67396b 100644 --- a/pinot-controller/src/main/resources/app/utils/PinotMethodUtils.ts +++ b/pinot-controller/src/main/resources/app/utils/PinotMethodUtils.ts @@ -69,6 +69,7 @@ import { authenticateUser } from '../requests'; import Utils from './Utils'; +const JSONbig = require('json-bigint')({'storeAsString': true}) // This method is used to display tenants listing on cluster manager home page // API: /tenants @@ -218,6 +219,7 @@ const getAsObject = (str: SQLResult) => { // Expected Output: {columns: [], records: []} const getQueryResults = (params, url, checkedOptions) => { return getQueryResult(params, url).then(({ data }) => { + data = JSONbig.parse(data); let queryResponse = null; queryResponse = getAsObject(data); diff --git a/pinot-controller/src/main/resources/app/utils/axios-config.ts b/pinot-controller/src/main/resources/app/utils/axios-config.ts index 5494af9..0a34237 100644 --- a/pinot-controller/src/main/resources/app/utils/axios-config.ts +++ b/pinot-controller/src/main/resources/app/utils/axios-config.ts @@ -50,4 +50,6 @@ const handleConfig = (config: any) => { export const baseApi = axios.create({ baseURL: '/' }); baseApi.interceptors.request.use(handleConfig, handleError); -baseApi.interceptors.response.use(handleResponse, handleError); \ No newline at end of file +baseApi.interceptors.response.use(handleResponse, handleError); + +export const transformApi = axios.create({baseURL: '/', transformResponse: [data => data]}); \ No newline at end of file diff --git a/pinot-controller/src/main/resources/package-lock.json b/pinot-controller/src/main/resources/package-lock.json index c7f9cad..b3771ef 100644 --- a/pinot-controller/src/main/resources/package-lock.json +++ b/pinot-controller/src/main/resources/package-lock.json @@ -1022,6 +1022,11 @@ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" }, + "bignumber.js": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", + "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==" + }, "binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", @@ -4871,6 +4876,14 @@ } } }, + "json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "requires": { + "bignumber.js": "^9.0.0" + } + }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", diff --git a/pinot-controller/src/main/resources/package.json b/pinot-controller/src/main/resources/package.json index efe684d..bf81269 100644 --- a/pinot-controller/src/main/resources/package.json +++ b/pinot-controller/src/main/resources/package.json @@ -71,6 +71,7 @@ "fs": "0.0.1-security", "html-loader": "0.5.5", "html-webpack-plugin": "^4.2.1", + "json-bigint": "^1.0.0", "jsonlint": "^1.6.3", "lodash": "^4.17.17", "moment": "^2.27.0", --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org