Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aqo2y-0005bE-Rv for pgadmin-hackers@arkaria.postgresql.org; Thu, 14 Apr 2016 20:39:29 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1aqo2y-0007oz-Ee for pgadmin-hackers@arkaria.postgresql.org; Thu, 14 Apr 2016 20:39:28 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1aqo2x-0007ot-VF for pgadmin-hackers@postgresql.org; Thu, 14 Apr 2016 20:39:28 +0000 Received: from mail-ig0-x233.google.com ([2607:f8b0:4001:c05::233]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1aqo2u-00042l-3b for pgadmin-hackers@postgresql.org; Thu, 14 Apr 2016 20:39:27 +0000 Received: by mail-ig0-x233.google.com with SMTP id ui10so3948922igc.1 for ; Thu, 14 Apr 2016 13:39:23 -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=f972/X/kEiSredJQe/1r/sGNUcW1zj1UwXknJ7Lec8E=; b=O/Koq2P90sK/8Stup9ACqyO7r59Wli11BadbxAa6Ch70AT9pb8ZOPGmYTjoUUFX43x 42aNEyAZM0hEYaTWVLJEmIHjIzfFI8H3h03qEKL+nkVX+Xg+7sM+iUcsSMp772DWbCgk X/WjlIogIYKyzNSKYwGX2jCHv8FLbJ/U+TeXGQ5EIbloFLWnRjpzh3VHP13PIjFpBNNS zsvNKlk30d1ALD24HtupSnXiytHt28uVbXQ7Pv1nm3TjG2fBnpwJA/FcTW5blJ58NCKN 1XW8/9T16dr9uu18zCJZRKCrdpmSnDfUudRdIhYKwoBL8Zvl6pei9z/Bxer3/+Ub5tHK q0EA== 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=f972/X/kEiSredJQe/1r/sGNUcW1zj1UwXknJ7Lec8E=; b=H6kQEdm2MxfzkkMWaiWwTLT9nYu+m53s8mcOIHMEGekDHcyBPV3KdvF9bRioEW+GF+ ekd9gxdHA+l0ng83L+0HXp9I7eGoHiaRbWIAroTqYdLkw7HQRjjUIbODFq7/GoIbs8rE B0oL3u76PJ8qbWEtxdXY6tkgNacq/8ZlufilPgzLpokuBG94SFnmcJRpYDI5mPSrQbfv Y+flRxXUv6RLsYKZfaKtR2Xxtoc5lmeryz9OTttqkmYsBXm3gFxmNmpEH73xZnGUK91A daG9nnIvbc9isriPOfu1PmXdeBLbt9+JhbUQPOJLw+R+ulj5F5Dst6nUYWEgtEBgz/wx CpmA== X-Gm-Message-State: AOPr4FWqmVE0PUcB65S/nCV47wkz4kDkFKXFAHK9JIHkjVtVEvzhiVBIXiTDDHRXixKS5zIGu3IhsOS9RWmVcA== MIME-Version: 1.0 X-Received: by 10.50.93.138 with SMTP id cu10mr708138igb.96.1460666361921; Thu, 14 Apr 2016 13:39:21 -0700 (PDT) Received: by 10.64.105.131 with HTTP; Thu, 14 Apr 2016 13:39:21 -0700 (PDT) In-Reply-To: References: Date: Thu, 14 Apr 2016 21:39:21 +0100 Message-ID: Subject: Re: [pgAdmin4][Debugger]: Initial Patch From: Dave Page To: Neel Patel Cc: pgadmin-hackers Content-Type: text/plain; charset=UTF-8 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 Hi On Thu, Apr 14, 2016 at 1:52 PM, Neel Patel 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. - 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 + "') }}"); - Please adjust the button bar to use the same styling as the button bar on the Properties tab. - 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. - 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. - 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? 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 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers