Hi Dave,

Please disregard my previous patch and instead attaching updated patch.

In my previous patch I used `let` keyword instead of `var` for defining
variable, for consistency & backward compatibility I have used `var` in my
latest patch.

--
Regards,
Murtuza Zabuawala
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

[image: https://community.postgresrocks.net/]
<https://community.postgresrocks.net/>

On Mon, Sep 18, 2017 at 6:37 PM, Murtuza Zabuawala <
murtuza.zabuaw...@enterprisedb.com> wrote:

> Hi Dave,
>
> PFA patch.
>
> On Mon, Sep 18, 2017 at 4:34 PM, Dave Page <dp...@pgadmin.org> wrote:
>
>> Hi
>>
>> On Mon, Sep 18, 2017 at 10:54 AM, Murtuza Zabuawala <
>> murtuza.zabuaw...@enterprisedb.com> wrote:
>>
>>> Hi,
>>>
>>> PFA minor patch to fix the issue where logic to extract the error using
>>> RegEX from error message was incorrect in Query tool(History tab).
>>> RM#2700
>>>
>>
>> Thanks - applied, but....
>>
>> - Could you please add some JS tests to ensure parseErrorMessage
>> continues to work as it should.
>>
> ​Done​
>
>
>>
>> - I'm not happy with the fact that we still display:
>>
>> can't execute an empty query ********** Error **********
>>
>> Can we not make that look more like a real error message? At the very
>> least something like:
>>
>> Error: can't execute an empty query
>>
> ​Done​
>
>
>>
>>
>>>
>>> Another minor issue which I observed on login page is that close button
>>> on alert is little misaligned(screenshot attached).
>>>
>>>
>> Also applied - thanks!
>>
>> --
>> Dave Page
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EnterpriseDB UK: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>
>
diff --git a/web/pgadmin/static/jsx/history/detail/history_error_message.jsx 
b/web/pgadmin/static/jsx/history/detail/history_error_message.jsx
index af77a90..352f229 100644
--- a/web/pgadmin/static/jsx/history/detail/history_error_message.jsx
+++ b/web/pgadmin/static/jsx/history/detail/history_error_message.jsx
@@ -14,6 +14,16 @@ import Shapes from '../../react_shapes';
 export default class HistoryErrorMessage extends React.Component {
 
   parseErrorMessage(message) {
+    /*
+     * Below regex pattern will match `********** Error **********` string in 
message
+     * and if we found it then we will remove it to make the error clear.
+     */
+    var psycopg_error_pattern = /[\*]{10}[\w|\s]+[\*]{10}/i;
+    if(psycopg_error_pattern.test(message)) {
+      message = message.replace(psycopg_error_pattern, '');
+    }
+
+    // Extract relevant error from message if pattern is found else return 
message
     return message.match(/ERROR:\s*([^\n\r]*)/i) ?
            message.match(/ERROR:\s*([^\n\r]*)/i)[1] :
            message;
diff --git a/web/regression/javascript/history/query_history_spec.jsx 
b/web/regression/javascript/history/query_history_spec.jsx
index 0a96244..118b9aa 100644
--- a/web/regression/javascript/history/query_history_spec.jsx
+++ b/web/regression/javascript/history/query_history_spec.jsx
@@ -383,6 +383,44 @@ describe('QueryHistory', () => {
           expect(queryDetail.at(0).text()).toContain('third sql statement');
         });
       });
+
+      describe('when a fourth SQL query is executed', () => {
+        beforeEach(() => {
+          historyCollection.add({
+            query: 'fourth sql statement',
+            start_time: new Date(2017, 12, 12, 1, 33, 5, 99),
+            status: false,
+            row_affected: 0,
+            total_time: '26 msec',
+            message: 'unexpected error from fourth sql message',
+          });
+
+          queryEntries = historyWrapper.find(QueryHistoryEntry);
+        });
+
+        it('displays fourth query SQL in the right pane', () => {
+          expect(queryDetail.at(0).text()).toContain('unexpected error from 
fourth sql message');
+        });
+      });
+
+      describe('when a fifth SQL query is executed', () => {
+        beforeEach(() => {
+          historyCollection.add({
+            query: 'fifth sql statement',
+            start_time: new Date(2017, 12, 12, 1, 34, 5, 99),
+            status: false,
+            row_affected: 0,
+            total_time: '26 msec',
+            message: 'testing unknown exception********** Error ********** 
using regex',
+          });
+
+          queryEntries = historyWrapper.find(QueryHistoryEntry);
+        });
+
+        it('displays fifth query SQL in the right pane', () => {
+          expect(queryDetail.at(0).text()).toContain('Error Message testing 
unknown exception using regex');
+        });
+      });
     });
 
     describe('when several days of queries were executed', () => {

Reply via email to