Re: [pgadmin][patch] [GreenPlum] When user press Explain Plan andExplain analyze plan an error is displayed

Поиск
Список
Период
Сортировка
От Akshay Joshi
Тема Re: [pgadmin][patch] [GreenPlum] When user press Explain Plan andExplain analyze plan an error is displayed
Дата
Msg-id CANxoLDdCM8=gKquZnT6BdH51-iQJNFtLmQEcnKuGVOZv8zaVOw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [pgadmin][patch] [GreenPlum] When user press Explain Plan andExplain analyze plan an error is displayed  (Victoria Henry <vhenry@pivotal.io>)
Ответы Re: [pgadmin][patch] [GreenPlum] When user press Explain Plan andExplain analyze plan an error is displayed  (Dave Page <dave.page@enterprisedb.com>)
Список pgadmin-hackers
Hi Victoria,

In "is_new_transaction_required.js" file I have modified the code and handled both "responseJSON" and "axios" responses, but in your patch you have removed "responseJSON" part which is required because "is_new_transaction_required()" function is also called from sqleditor.js with normal javascript response.

I have re-added that code and also found one issue where "from pgadmin.utils.exception import ConnectionLost" statement is missing from "web/pgadmin/utils/driver/psycopg2/server_manager.py" file, so I added that too.

Attached is the modified patch.   

On Wed, Mar 21, 2018 at 2:09 AM, Victoria Henry <vhenry@pivotal.io> wrote:
Hi Hackers,

We fixed the tests and refactored some of the code.  All tests pass now.  Attached is the reviewed patch.

Sincerely,

Joao and Victoria

On Tue, Mar 20, 2018 at 10:05 AM, Dave Page <dave.page@enterprisedb.com> wrote:
Hi

This doesn't pass the Javascript tests for me. Please investigate ASAP:

webpack: Compiled successfully.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 152 of 486 SUCCESS (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 153 of 486 SUCCESS (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 154 of 486 SUCCESS (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 155 of 486 SUCCESS (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 156 of 486 SUCCESS (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 157 of 486 SUCCESS (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 158 of 486 SUCCESS (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is the query tool when an error occur when the connection to the server was lost when JSON response is available when login is not required should highlight the error in the SQL panel FAILED
Expected spy SqlEditor._highlight_error to have been called with [ 'Some error in JSON' ] but it was never called.
    at regression/javascript/sqleditor/execute_query_spec.js:11753:58
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 285 of 486 (1 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is the query tool when an error occur when the connection to the server was lost when JSON response is available when login is not required should highlight the error in the SQL panel FAILED
Expected spy SqlEditor._highlight_error to have been called with [ 'Some error in JSON' ] but it was never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is the query tool when an error occur when the connection to the server was lost when JSON response is available when login is not required should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'Some error in JSON' ] but it was never called.
    at regression/javascript/sqleditor/execute_query_spec.js:11760:60
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 286 of 486 (2 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is the query tool when an error occur when the connection to the server was lost when JSON response is available when login is not required should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'Some error in JSON' ] but it was never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is the query tool when an error occur when the connection to the server was lost when JSON response is available when login is required should login is displayed FAILED
Expected spy UserManagement.pga_login to have been called.
    at regression/javascript/sqleditor/execute_query_spec.js:11840:56
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 296 of 486 (3 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is the query tool when an error occur when the connection to the server was lost when JSON response is available when login is required should login is displayed FAILED
Expected spy UserManagement.pga_login to have been called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is the query tool when an error occur when the connection to the server was lost when no JSON response is available when login is not required should highlight the error in the SQL panel FAILED
Expected spy SqlEditor._highlight_error to have been called with [ 'Some plain text error' ] but it was never called.
    at regression/javascript/sqleditor/execute_query_spec.js:11875:58
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 299 of 486 (4 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is the query tool when an error occur when the connection to the server was lost when no JSON response is available when login is not required should highlight the error in the SQL panel FAILED
Expected spy SqlEditor._highlight_error to have been called with [ 'Some plain text error' ] but it was never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is the query tool when an error occur when the connection to the server was lost when no JSON response is available when login is not required should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'Some plain text error' ] but it was never called.
    at regression/javascript/sqleditor/execute_query_spec.js:11882:60
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 300 of 486 (5 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is the query tool when an error occur when the connection to the server was lost when no JSON response is available when login is not required should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'Some plain text error' ] but it was never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is the query tool when an error occur when the connection to the server was lost when no JSON response is available when login is required should login is displayed FAILED
Expected spy UserManagement.pga_login to have been called.
    at regression/javascript/sqleditor/execute_query_spec.js:11964:56
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 310 of 486 (6 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is the query tool when an error occur when the connection to the server was lost when no JSON response is available when login is required should login is displayed FAILED
Expected spy UserManagement.pga_login to have been called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is the query tool when an error occur when the connection to the server was lost when cannot reach the Python Server should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'Not connected to the server or the connection to the server has been closed.' ] but it was never called.
    at regression/javascript/sqleditor/execute_query_spec.js:12002:58
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 314 of 486 (7 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is the query tool when an error occur when the connection to the server was lost when cannot reach the Python Server should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'Not connected to the server or the connection to the server has been closed.' ] but it was never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is NOT the query tool when an error occur when the connection to the server was lost when JSON response is available should highlight the error in the SQL panel FAILED
Expected spy SqlEditor._highlight_error to have been called with [ 'Some error in JSON' ] but it was never called.
    at regression/javascript/sqleditor/execute_query_spec.js:12232:56
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 334 of 486 (8 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is NOT the query tool when an error occur when the connection to the server was lost when JSON response is available should highlight the error in the SQL panel FAILED
Expected spy SqlEditor._highlight_error to have been called with [ 'Some error in JSON' ] but it was never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is NOT the query tool when an error occur when the connection to the server was lost when JSON response is available should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'Some error in JSON' ] but it was never called.
    at regression/javascript/sqleditor/execute_query_spec.js:12239:58
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 335 of 486 (9 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is NOT the query tool when an error occur when the connection to the server was lost when JSON response is available should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'Some error in JSON' ] but it was never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is NOT the query tool when an error occur when the connection to the server was lost when no JSON response is available should highlight the error in the SQL panel FAILED
Expected spy SqlEditor._highlight_error to have been called with [ 'Some plain text error' ] but it was never called.
    at regression/javascript/sqleditor/execute_query_spec.js:12282:56
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 340 of 486 (10 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is NOT the query tool when an error occur when the connection to the server was lost when no JSON response is available should highlight the error in the SQL panel FAILED
Expected spy SqlEditor._highlight_error to have been called with [ 'Some plain text error' ] but it was never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is NOT the query tool when an error occur when the connection to the server was lost when no JSON response is available should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'Some plain text error' ] but it was never called.
    at regression/javascript/sqleditor/execute_query_spec.js:12289:58
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 341 of 486 (11 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is NOT the query tool when an error occur when the connection to the server was lost when no JSON response is available should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'Some plain text error' ] but it was never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is NOT the query tool when an error occur when the connection to the server was lost when cannot reach the Python Server should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'Not connected to the server or the connection to the server has been closed.' ] but it was never called.
    at regression/javascript/sqleditor/execute_query_spec.js:12340:58
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 347 of 486 (12 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor is NOT the query tool when an error occur when the connection to the server was lost when cannot reach the Python Server should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'Not connected to the server or the connection to the server has been closed.' ] but it was never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statement is not empty when cannot reach the Python Server should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'Not connected to the server or the connection to the server has been closed.' ] but it was never called.
    at regression/javascript/sqleditor/execute_query_spec.js:12645:54
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 376 of 486 (13 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statement is not empty when cannot reach the Python Server should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'Not connected to the server or the connection to the server has been closed.' ] but it was never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statement is not empty when error is returned by the server when login is not required should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'some error message' ] but it was never called.
    at regression/javascript/sqleditor/execute_query_spec.js:12693:56
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 381 of 486 (14 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statement is not empty when error is returned by the server when login is not required should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'some error message' ] but it was never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statement is not empty when error is returned by the server when login is required should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'some error message' ] but it was never called.
    at regression/javascript/sqleditor/execute_query_spec.js:12751:56
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 388 of 486 (15 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statement is not empty when error is returned by the server when login is required should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'some error message' ] but it was never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statement is not empty when error is returned by the server when login is required should save the state FAILED
Expected spy SqlEditor.save_state to have been called with [ 'execute', [ '' ] ] but it was never called.
    at regression/javascript/sqleditor/execute_query_spec.js:12774:48
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 391 of 486 (16 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statement is not empty when error is returned by the server when login is required should save the state FAILED
Expected spy SqlEditor.save_state to have been called with [ 'execute', [ '' ] ] but it was never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statement is not empty when error is returned by the server when login is required should display pga login FAILED
Expected spy UserManagement.pga_login to have been called.
    at regression/javascript/sqleditor/execute_query_spec.js:12780:52
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 392 of 486 (17 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statement is not empty when error is returned by the server when login is required should display pga login FAILED
Expected spy UserManagement.pga_login to have been called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statement is not empty when error is returned by the server when a new transaction is not required should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'some error message' ] but it was never called.
    at regression/javascript/sqleditor/execute_query_spec.js:12809:56
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 395 of 486 (18 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statement is not empty when error is returned by the server when a new transaction is not required should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'some error message' ] but it was never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statement is not empty when error is returned by the server when a new transaction is required should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'some error message' ] but it was never called.
    at regression/javascript/sqleditor/execute_query_spec.js:12874:56
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 403 of 486 (19 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statement is not empty when error is returned by the server when a new transaction is required should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to have been called with [ false, 'some error message' ] but it was never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statement is not empty when error is returned by the server when a new transaction is required should save the state FAILED
Expected spy SqlEditor.save_state to have been called with [ 'execute', [ '' ] ] but it was never called.
    at regression/javascript/sqleditor/execute_query_spec.js:12897:48
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 406 of 486 (20 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statement is not empty when error is returned by the server when a new transaction is required should save the state FAILED
Expected spy SqlEditor.save_state to have been called with [ 'execute', [ '' ] ] but it was never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statement is not empty when error is returned by the server when a new transaction is required should initialize a new transaction FAILED
Expected spy SqlEditor.init_transaction to have been called.
    at regression/javascript/sqleditor/execute_query_spec.js:12909:54
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 408 of 486 (21 FAILED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statement is not empty when error is returned by the server when a new transaction is required should initialize a new transaction FAILED
Expected spy SqlEditor.init_transaction to have been called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 486 of 486 (21 FAILED) (7.05 secs / 0 secs)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
make: *** [check-js] Error 1


On Tue, Mar 20, 2018 at 1:12 PM, Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Hackers

Attached is the patch file to fix the RM #2815.

On Tue, Mar 20, 2018 at 3:24 PM, Dave Page <dave.page@enterprisedb.com> wrote:


On Tue, Mar 20, 2018 at 9:48 AM, Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:


On Tue, Mar 20, 2018 at 3:06 PM, Dave Page <dave.page@enterprisedb.com> wrote:
I'm a little concerned that noone mentioned this earlier; I'm supposed to be building the release this afternoon, and I expect this change to at the very least be complex to fully test and verify. What's the ETA on the patch? What steps are being taken to ensure it's correct and doesn't cause regressions?

    Harshal has already mentioned in the RM. Currently I am changing the logic, but it may take time to complete, fully test and verify. I'll try my best to do it asap.

Sure, but how many of us are watching every comment on every RM? I know I'm not (I currently average ~400 emails/day).
 

On Tue, Mar 20, 2018 at 7:51 AM, Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Joao

It seems that this fix broke the functionality of RM #2815. It is mentioned in the RM what needs to be fixed now and I am currently working on it.
While fixing the issue following problem that I found
  • In "start_running_query.py" file, we need to remove check "if conn.connected()" from "__execute_query" function as we required exception to be thrown while executing the query to identify the ConnectionLost.  
  • In "execute_query.js" we have used axios to execute the query and in case of exception, object is different then normal javascript response object. 
  • We call following functions when exception or error comes and send the "<object>.response.data" as parameter 
    • wasConnectionLostToServer(): Check for the readyState parameter, which is not the part of "<object>.response.data". 
    • extractErrorMessage(): Check for the "responseJSON" and "responseJSON.info"which is not the part of "<object>.response.data".
    • is_pga_login_required(): Check for the "responseJSON" and "responseJSON.info"which is not the part of "<object>.response.data".
    • is_new_transaction_required(): Check for the "responseJSON" and "responseJSON.info"which is not the part of "<object>.response.data".
From the above list, some of the function calls are generic where they need "responseJSON" and "responseJSON.info", so we can't change that. Possible solution could be pass one extra flag as parameter to identify the object is a axios response or javascript response to above functions and change the logic accordingly.

Please let me know your thoughts or any other suggestion. 
      

On Fri, Feb 9, 2018 at 8:17 PM, Dave Page <dpage@pgadmin.org> wrote:
Thanks, applied.

On Fri, Feb 9, 2018 at 2:35 PM, Joao De Almeida Pereira <jdealmeidapereira@pivotal.io> wrote:
Hello,
Attached you can find the fix for the current pronlem


On Fri, Feb 9, 2018 at 7:29 AM Dave Page <dpage@pgadmin.org> wrote:
Hi Joao,

It looks like Jenkins has taken umbrage to this change, at least with Python 3.x. Can you take a look please?


Thanks.

On Fri, Feb 9, 2018 at 11:54 AM, Dave Page <dpage@pgadmin.org> wrote:
Thanks, patches applied.

On Fri, Feb 2, 2018 at 10:50 PM, Joao De Almeida Pereira <jdealmeidapereira@pivotal.io> wrote:
Hi Hackers,
This is quite a big patch in order to solve the problem with the Explain Plan.

We sent 2 patches that have the following:
- update-javascript-packages.diff 
    Add package:
     is-docker to select a specific setting when running the Chrome tests in
     Docker

    Upgrade the version of:
    - babel-loader
    - extract-text-webpack-plugin
    - jasmine-core
    - jasmine-enzyme
    - moment
- explain-plan-greenplum.diff
  Extract SQLEditor.execute and SQLEditor._poll into their own files and add test around them
  Extract SQLEditor backend functions that start executing query to their own files and add tests around it
  Move the Explain SQL from the front-end and now pass the Explain plan parameters as a JSON object in the start query call.
  Extract the compile_template_name into a function that can be used by the different places that try to select the version of the template and the server type


Thanks
Joao



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



--
Akshay Joshi
Sr. Software Architect





--
Dave Page
VP, Chief Architect, Tools & Installers
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake



--
Akshay Joshi
Sr. Software Architect





--
Dave Page
VP, Chief Architect, Tools & Installers
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake



--
Akshay Joshi
Sr. Software Architect





--
Dave Page
VP, Chief Architect, Tools & Installers
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake




--
Akshay Joshi
Sr. Software Architect


Phone: +91 20-3058-9517
Mobile: +91 976-788-8246
Вложения

В списке pgadmin-hackers по дате отправления:

Предыдущее
От: Murtuza Zabuawala
Дата:
Сообщение: Checklist before sending patch to pgAdmin4-hackers
Следующее
От: Dave Page
Дата:
Сообщение: pgAdmin 4 commit: Fix a number of broken connection detectionscenarios