Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1asrm6-0007gc-2Q for pgadmin-hackers@arkaria.postgresql.org; Wed, 20 Apr 2016 13:02:34 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1asrm5-0008RG-Lc for pgadmin-hackers@arkaria.postgresql.org; Wed, 20 Apr 2016 13:02:33 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1asrlr-0008Az-Mv for pgadmin-hackers@postgresql.org; Wed, 20 Apr 2016 13:02:19 +0000 Received: from mail-io0-x235.google.com ([2607:f8b0:4001:c06::235]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1asrlo-00053v-FM for pgadmin-hackers@postgresql.org; Wed, 20 Apr 2016 13:02:18 +0000 Received: by mail-io0-x235.google.com with SMTP id 2so51135756ioy.1 for ; Wed, 20 Apr 2016 06:02:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgadmin-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=KdEhYIJgvjysZnUO570zqEfEyus5MfuDaNh5kH+JVoI=; b=drhTOsWEFl0aD3FL8zhpso4YaBpsbzEGPP1jcjkfTh9kH4wJ1fNOigVnot6SRfuWXr vxIMwwioLY0Fn7Su6TovK4cK85xa64DTUUd0mv8KapiwQTndiXJxY9gmbvlQU+X01VvD p2yTsLBrfFD0OVqN0lT0kKWwI9kuG/FGKzP6ObPCcTP5XegPRA+EGb5UtF9TuVkhvims hOzE6m3I2Bj2h3O5rLe/jnoYxl/U6/FExMbfY43OlDv+B59KGFVVbSoYT5sIwklgYPfE tvHOT2p5E902dr5GW/yyyOKqLcd3uwOeC3efmz6Ir0ZoZcP6MjpxI/wqHki0zGAxhT9E 2LWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=KdEhYIJgvjysZnUO570zqEfEyus5MfuDaNh5kH+JVoI=; b=IPIn4JB9JeKNYdtec0/wubD7g1gvW/g9LV1FO3VYYYN4N5oW9203j2tlZSaHj9+eV3 QMcvrtszQA2ofrumNxSrIaGoqsnOc8uJ6uiy0kVSgCXkq4C2Vfgn8O46ju+SRNabCV48 VbHsjTMH6NMEFqimdcTOjggS4JbUkaRGVubd4j1CHz8Wb9JMM9haaJKPKdPIRkfnrkdd KSPCRt6gOzK0YDIyau08HakPgy+CkaVeyeXNIWWBgFDvzyfwqO43iNRxL8T8ke7WvhJw jFwmJAoRFe4vmMhUPNSCiXNnA8sFG634nV+Ob7Y3ErS4Ri0K783ObJ0odO+0Dq6v4Nw2 CzFQ== X-Gm-Message-State: AOPr4FVOAhSiCes34A8ZScgOM+NZoDxwljnu3addCRCGrIdYrkp/Krcm2EemkvUnO9gYm6Gn28bstSapZvWJ8Q== MIME-Version: 1.0 X-Received: by 10.107.12.224 with SMTP id 93mr10248883iom.70.1461157335611; Wed, 20 Apr 2016 06:02:15 -0700 (PDT) Received: by 10.64.105.131 with HTTP; Wed, 20 Apr 2016 06:02:15 -0700 (PDT) In-Reply-To: References: Date: Wed, 20 Apr 2016 09:02:15 -0400 Message-ID: Subject: Re: [pgAdmin4][Debugger]: Initial Patch From: Dave Page To: Neel Patel Cc: pgadmin-hackers Content-Type: multipart/alternative; boundary=001a113f91aef36d9e0530ea33f7 X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --001a113f91aef36d9e0530ea33f7 Content-Type: text/plain; charset=UTF-8 Thanks - applied! On Tuesday, April 19, 2016, Neel Patel wrote: > Hi Dave, > > Please find the attached patch file with below fix. > > - Remove the duplicate CSS and used the actual class for the debugger > button toolbar. > - As per the Ashesh's comment, previously we used 2 wcDocker instance > to arrange the multiple tabs to main debugger panel. Now with this patch > file, we have used only 1 wcDocker instance. > > Do review it and let us know for comments. > > Thanks, > Neel Patel > > On Mon, Apr 18, 2016 at 6:07 PM, Dave Page > wrote: > >> Hi >> >> On Monday, April 18, 2016, Neel Patel > > wrote: >> >>> Hi Dave, >>> >>> Please find inline comments with all the fixes. >>> Attached is the updated patch file. Do review it and let me know for any >>> comments. >>> >>> If you find any issues, let me know .Now, Working on the remaining TODOs >>> as mentioned in below email. >>> >> >> Thanks - committed with some minor tweaks. One problem partly still >> remains though - you've partially copied the toolbar styling. Please use >> the actual classes used by the Properties panel. I've already updated the >> query tool in that way. Whilst your version looks much closer, it's missing >> the minimum button widths, and duplicates CSS unnecessarily. >> >> Thanks. >> >> >>> >>> On Fri, Apr 15, 2016 at 2:09 AM, Dave Page wrote: >>> >>>> Hi >>>> >>>> On Thu, Apr 14, 2016 at 1:52 PM, Neel Patel < >>>> neel.patel@enterprisedb.com> wrote: >>>> > Hi, >>>> > >>>> > Please find attached v2 patch file of the debugger which fixes the >>>> below >>>> > issues which was not present in the first patch. >>>> > In this patch, we have added new table in sqlite database to store the >>>> > functions arguments value user has given during debugging. >>>> > After applying this patch, user needs to execute "setup.py" to create >>>> the >>>> > new table in pgadmin4.db file. >>>> > >>>> > In direct debugging, when user debug the function then arguments >>>> values will >>>> > be stored in the sqlite database so when user debug the same function >>>> again >>>> > then previous values will be filled in the user input dialog. >>>> > Once the execution is completed then user will be able to do the >>>> debug of >>>> > the same function again by pressing the "Continue/Restart" button. >>>> > User can debug the "procedure" which is supported in PPAS database. >>>> > Replaced the "Glyphicon" with the "font-awesome" icons. >>>> >>>> Very cool! Committed, understanding that there are still improvements >>>> to be made. >>>> >>>> > Below are the TODOs >>>> > >>>> > Validate the input arguments values changed by user while depositing >>>> the >>>> > value during debugging. >>>> > Need to implement the code folding in the codemirror editor area. >>>> > As per the Ashesh's suggestion, need to add debug logs information so >>>> that >>>> > we can get the state of the debug function. Also need to add "arrow" >>>> next to >>>> > breakpoint in the gutters as per the pgadmin3. >>>> > Need to add "Debug package initializer" in the user input dialog for >>>> the >>>> > direct debugging. >>>> > Last but not least "Review comments" :) >>>> >>>> Here you go :-) >>>> >>>> - Ensure all messages are gettext enabled. >>>> >>> >>> Fixed. >>> >>>> >>>> - Constructs like the following won't work, because Jinja will >>>> evaluate the string " + err.errormsg + " before it ever gets evaluated >>>> as JS by the browser. >>>> >>>> Alertify.alert("{{ _('" + err.errormsg + "') }}"); >>>> >>> >>> Fixed. >>> >>> >>>> >>>> - Please adjust the button bar to use the same styling as the button >>>> bar on the Properties tab. >>>> >>> >>> Fixed >>> >>>> >>>> - Let's make the stack pane tab part of the tabset at the bottom of >>>> the debugger, and ensure docking etc. works so tabs can be split off >>>> and arranged around the main source window. >>>> >>> >>> Fixed. Now stack pane will be displayed along with another panel at >>> bottom and also docking has been introduced for all the panels so tabs will >>> be arranged around main debugger panel. >>> >>> >>>> >>>> - Stepping is quite slow. What's causing that? I wonder if we really >>>> need to have all the one line SQL templates - they're probably quite >>>> expensive to process. >>>> >>> Fixed. This is due to polling timeout was high (1 second) and we are >>> getting delay in getting the results. Now polling timeout has reduced to to >>> 200ms. >>> >>>> >>>> - Is backend_running.sql required? I've removed both versions as I >>>> can't find any references to them. Are any other templates not >>>> required? >>>> >>> Ok. No other templates. >>> >>>> >>>> Will log any other issues that come up in further work. >>>> >>>> > Below functionalities are implemented but testing are pending. >>>> > >>>> > Trigger functions need to test with the debugger. >>>> > Functions are tested with data types (like text, integer etc.) but >>>> it needs >>>> > to be tested with all the data types for direct debugging. >>>> > Functions/Procedures need to test with PPAS 9.2 and earlier version >>>> where >>>> > debugger version is different. >>>> >>>> Thanks! >>>> >>>> -- >>>> 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 --001a113f91aef36d9e0530ea33f7 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Thanks - applied!

On Tuesday, April 19, 2016, Neel Patel <neel.patel@enterprisedb.com>= wrote:
Hi Dave,
Please find the attached patch file with below fix.
<= ul>
  • Remove the duplicate CSS and used the actual class for the debugger = button toolbar.
  • As per the Ashesh's comment, previously we used= 2 wcDocker instance to arrange the multiple tabs to main debugger panel. N= ow with this patch file, we have used only 1 wcDocker instance.
  • Do review it and let us know for comments.

    Thanks,
    Neel =C2=A0Patel
    =
    On Mon, Apr 18, 2016 at 6:07 PM, Dave Page <= span dir=3D"ltr"><dpage@pgadmin.org> = wrote:
    Hi

    On Monday, April 1= 8, 2016, Neel Patel <neel.patel@enterpris= edb.com> wrote:
    H= i Dave,

    Please find inline comments with all the fixes.<= /div>
    Attached is the updated patch file. Do review it and let me know = for any comments.

    If you find any issues, let me k= now .Now, Working on the remaining TODOs as mentioned in below email.
    =

    Thanks - committed with some = minor tweaks. One problem partly still remains though - you've partiall= y copied the toolbar styling. Please use the actual classes used by the Pro= perties panel. I've already updated the query tool in that way. Whilst = your version looks much closer, it's missing the minimum button widths,= and duplicates CSS unnecessarily.

    Thanks.
    =C2=A0

    On Fri, Apr 15, 201= 6 at 2:09 AM, Dave Page <dpage@pgadmin.org><= /span> wrote:
    Hi

    On Thu, Apr 14, 2016 at 1:52 PM, Neel Patel <neel.patel@enterprisedb.= com> wrote:
    > Hi,
    >
    > Please find attached v2 patch file of the debugger which fixes the bel= ow
    > issues which was not present in the first patch.
    > In this patch, we have added new table in sqlite database to store the=
    > functions arguments value user has given during debugging.
    > After applying this patch, user needs to execute "setup.py" = to create the
    > new table in pgadmin4.db file.
    >
    > In direct debugging, when user debug the function then arguments value= s will
    > be stored in the sqlite database so when user debug the same function = again
    > then previous values will be filled in the user input dialog.
    > Once the execution is completed then user will be able to do the debug= of
    > the same function again by pressing the "Continue/Restart" b= utton.
    > User can debug the "procedure" which is supported in PPAS da= tabase.
    > Replaced the "Glyphicon" with the "font-awesome" i= cons.

    Very cool! Committed, understanding that there are still improvement= s
    to be made.

    > Below are the TODOs
    >
    > Validate the input arguments values changed by user while depositing t= he
    > value during debugging.
    > Need to implement the code folding in the codemirror editor area.
    > As per the Ashesh's suggestion, need to add debug logs information= so that
    > we can get the state of the debug function. Also need to add "arr= ow" next to
    > breakpoint in the gutters as per the pgadmin3.
    > Need to add "Debug package initializer" in the user input di= alog for the
    > direct debugging.
    > Last but not least "Review comments" :)

    Here you go :-)

    - Ensure all messages are gettext enabled.
    =C2=A0
    Fixed.=C2=A0

    - Constructs like the following won't work, because Jinja will
    evaluate the string " + err.errormsg + " before it ever gets eval= uated
    as JS by the browser.

    Alertify.alert("{{ _('" + err.errormsg + "') }}"= ;);
    =C2=A0
    Fixed.
    =C2=A0

    - Please adjust the button bar to use the same styling as the button
    bar on the Properties tab.
    =C2=A0
    Fixed=C2= =A0

    - Let's make the stack pane tab part of the tabset at the bottom of
    the debugger, and ensure docking etc. works so tabs can be split off
    and arranged around the main source window.
    =C2=A0
    Fixed. Now stack pane will be displayed along with another panel at = bottom and also docking has been introduced for all the panels so tabs will= be arranged around main debugger panel.
    =C2=A0

    - Stepping is quite slow. What's causing that? I wonder if we really need to have all the one line SQL templates - they're probably quite expensive to process.
    Fixed. This is due to polling ti= meout was high (1 second) and we are getting delay in getting the results. = Now polling timeout has reduced to to 200ms.

    - Is backend_running.sql required? I've removed both versions as I
    can't find any references to them. Are any other templates not
    required?
    Ok. No other templates.

    Will log any other issues that come up in further work.

    > Below functionalities are implemented but testing are pending.
    >
    > Trigger functions need to test with the debugger.
    > Functions are tested with data types (like text, integer etc.)=C2=A0 b= ut it needs
    > to be tested with all the data types for direct debugging.
    > Functions/Procedures need to test with PPAS 9.2 and earlier version wh= ere
    > debugger version is different.

    Thanks!

    --
    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

    --001a113f91aef36d9e0530ea33f7--