On Tue, Jun 25, 2019 at 8:46 PM Yosry Muhammad <yosrym93@gmail.com> wrote:
Hi,
OK. Yosry, How about storing the mogirfied query in the cookie/session when the query is executed and then modifying query history storing logic to use it when called ? This way you will not need to change any parsing when query history is displayed.
--
My problem is not where to store the mogrified query, I can just replace the sql sent with the response to saving the data with the mogrified one. In order to produce the mogrified query in the first place I need a psycopg2.cursor object, but I only have access to a Connection object (the wrapper, not the actual psycopg2.connection object). Should I modify that wrapper Connection class to add a mogirfy function? or just get a cursor using the psycopg2.connection object like this: conn.conn.cursor() - which doesn't seem right. Thoughts?
That would be the way. But I think web/pgadmin/utils/driver/psycopg2/cursor.py will be corrrect place to add the mogrify function. Please note, psycopg2 does not support (,),% in the parameter names. So if the column names has any of these characters, mogrify might fail. Although it is handled with pgadmin_alias (line 493 - web/pgadmin/tools/sqleditor/__init__.py), please test this case as well.
Also, could you please help me with the selenium TimeoutException in the feature tests? 3 tests are failing because of that exception and I am not sure what is it related to. I am attaching the feature test log file in this email if you would like to take a look on it.
Can you check on latest chrome and chromdriver. You can check the chromedriver version as below. Your venv should have the chromedriver binary.