Re: [pgadmin-hackers] Re: [pgAdmin4][Patch][Feature #1971]: Remembercolumn sizes between executions of the same query in the query tool - Mailing list pgadmin-hackers
From
Surinder Kumar
Subject
Re: [pgadmin-hackers] Re: [pgAdmin4][Patch][Feature #1971]: Remembercolumn sizes between executions of the same query in the query tool
Please find updated patch which includes Jasmine test cases for functions getHash and calculateColumnWidth
Thanks,
Surinder
On Mon, Jun 5, 2017 at 11:38 PM, Shruti B Iyer <siyer@pivotal.io> wrote:
Hi Surinder!
We reviewed this patch. The changes look good and we especially like that you have extracted out the new utility functions and the epicRandomString function too.
This patch will likely affect the Query Results patch that is currently under review. In order to assist either us or yourself when making a merge between these patches, it would help to have jasmine unit testing for the two new functions, getHash and calculate_column_width.
Also, we suggest that you rename calculate_column_width to calculateColumnWidth for consistency with javascript code style.
1) In Query/tool or Edit grid, the width of table column header is fixed depending on the column type(int, boolean, char etc.) due to which the column name or type appears cut from right and doesn't looks good from user point of view. The main concern was to display as much as the content of column should be displayed.
Now the width of column is decided using the text length of column name or column type so that the column takes exact width it required and it don't appears cut.
2) Remember column size after re-running a query.
The approach is to extract table name from the query executed and use it to store its columns width.
Whenever the column(s) width of a table is adjusted, the corresponding values are updated into the object and used every time the same query is executed.
If a query is executed for e.g:
SELECT generate_series(1, 1000) as id, generate_series(1, 1000) as name, generate_series(1, 1000) as age
it
displays 3 columns
but don't have any table name. In that case,
i use a hash generator function which returns unique hash for a query written in query editor and adjusted column(s) width are stored against that hash in object.
Is there any way to get temporary table name(avoiding unique hash) for such queries ?
Also, Moved utilities functions into pgadmin/static/utils.js