Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d9BRe-0008C7-NR for pgadmin-hackers@arkaria.postgresql.org; Fri, 12 May 2017 14:21:26 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1d9BRe-0006F8-A9 for pgadmin-hackers@arkaria.postgresql.org; Fri, 12 May 2017 14:21:26 +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 1d9BRO-0004tD-0a for pgadmin-hackers@postgresql.org; Fri, 12 May 2017 14:21:10 +0000 Received: from mail-wm0-x22a.google.com ([2a00:1450:400c:c09::22a]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1d9BRF-0004oq-Ep for pgadmin-hackers@postgresql.org; Fri, 12 May 2017 14:21:08 +0000 Received: by mail-wm0-x22a.google.com with SMTP id 142so73802519wma.1 for ; Fri, 12 May 2017 07:21:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=0gaZUihw9slhubMWLVcLBdA++0n6UaMOH2rY1GVlZOc=; b=ibm9YaMY/6yvX31+BGW88+wuFy5zsJvzDSH4o3Iik7Ftf8G8haR0Jw4YKba3gIlM+o 295p0HGvUuMHu6wLoQvMO4H7Zg3WkEEug1vz+KjoCZrqWe10YE1yaXNX6QClcZsaQGPt LactRiD5nQorBu0fvWJLF52nB+oTPHho7i91KBcOFW4OkXLynB051wZt7SIkJgqeJnqA x9DoV8Zx4w/dO9uvpMrMtWdtvPisYgFscdiFm21K4IYvCFw38MiEjLMuCUN3WwaTXPSm ouNjPSZn7RcWCs+5Hvnjwwbs8WDDYK//dgkZ+Oc1UGoFK8BgREWGx43eEBVZD6zPd6aW vOJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=0gaZUihw9slhubMWLVcLBdA++0n6UaMOH2rY1GVlZOc=; b=iPkALwS+/9DfGFCV9gZxHGLlB5820ZzuRVoBeb4J1TdZAzRB8cMONAxHZTjeykxP3R 600fwZnnEYJXDCNmRCbQxJEWLxJlRGLiKtbEYssWclDz57/8sWcfSBVvD51YYLhSo9II yObqCc7nOWNZq9AcDG+KcLXjRe8cc5dBWlhodNdiu4y/QSFFb591XNlePNmkUYn10690 pF7BoqOpXNdvaQJQIwio/cx3I5zxwe7Vyo+qVGFtayyYEqudILrIwyrb+qbI2JvA4DI8 JK4wBV+YIwQcbXEn1xzzlzpb2HWA5LnlyhmfyAfJKRh2sf64AzzDQ7svKtbSQRhMOZRX VRAg== X-Gm-Message-State: AODbwcC/IRF0IzgEnksmynCWrdmBsR+1ovQ47Guc/Uwt/ZYXCCOrZFG7 /J3KkbVAVo5LlMrvI8kTtQbSj6cMK7Dp X-Received: by 10.28.229.145 with SMTP id c139mr3335521wmh.107.1494598859951; Fri, 12 May 2017 07:20:59 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.19.138 with HTTP; Fri, 12 May 2017 07:20:28 -0700 (PDT) In-Reply-To: References: From: Surinder Kumar Date: Fri, 12 May 2017 19:50:28 +0530 Message-ID: Subject: Re: pgAdmin 4 commit: Improve handling of nulls and default values in the d To: Dave Page Cc: Harshal Dhumal , pgadmin-hackers Content-Type: multipart/mixed; boundary="001a114712e221c19e054f546ad1" 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 --001a114712e221c19e054f546ad1 Content-Type: multipart/alternative; boundary="001a114712e221c198054f546acf" --001a114712e221c198054f546acf Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Dave, Please find attached patch and review. Also, I found an issue which logged and will work on it. On Fri, May 12, 2017 at 5:19 PM, Surinder Kumar < surinder.kumar@enterprisedb.com> wrote: > On Fri, May 12, 2017 at 5:00 PM, Dave Page wrote: > >> >> >> On Fri, May 12, 2017 at 12:19 PM, Harshal Dhumal < >> harshal.dhumal@enterprisedb.com> wrote: >> >>> Hi, >>> >>> Below code snippet from above commit assumes that we have to disable >>> last row after saving. >>> >>> @@ -2320,6 >>> >>> +2340,10 >>> >>> @@ define( >>> grid.setSelectedRows([]); >>> } >>> >>> + // Add last row(new row) to keep track of it >>> + if (is_added) { >>> + self.rows_to_disable.push(grid.getDat >>> aLength()-1); >>> + } >>> >>> However this is not the case all the time >>> >>> For e.g >>> Table has some data already and If user adds new row (do not save) and >>> then copy past few exiting rows (at this point newly added row no long= er >>> remains at last position). And after saving it disable last row which is >>> not the newly added row. >>> >> >> Hmm, good point. Can you/Surinder work up a fix for that in time for the >> release please? >> > =E2=80=8BSure Dave, I am working on it.=E2=80=8B > >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> > > --001a114712e221c198054f546acf Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi = Dave,

Please find attache= d patch and review.

Also,= I found an issue which logged and will work on it.

On Fri, May 12, 2017 at 5:19 PM= , Surinder Kumar <surinder.kumar@enterprisedb.com&g= t; wrote:
<= div class=3D"gmail_default" style=3D"font-size:small">On Fri, May 12, 2017 = at 5:00 PM, Dave Page <dpage@pgadmin.org> wrote:


On Fri, May 12, 2017 at 12:19 PM, Harshal Dh= umal <harshal.dhumal@enterprisedb.com> wr= ote:
Hi,

<= div>Below code snippet from above commit assumes that we have to disable la= st row after saving.

@@ -2320,6 = +2340,10 @@=C2=A0define= (
=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0grid.setSelectedRows([]);
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0}
=C2=A0
+=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0//=C2=A0Add=C2=A0last=C2=A0row(= new=C2=A0row)=C2=A0to=C2=A0keep=C2=A0track=C2=A0of=C2=A0it
+=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0if=C2=A0(is_added)=C2=A0{
+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0self.rows_to_disable.push(grid.getDataLength()-1);
+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0}

=C2=A0However this is not the case a= ll the time

For e.g=C2=A0
Table has some= data already and If user adds new row (do not save) and then copy past few= exiting rows (at this point =C2=A0newly added row no longer remains at las= t position). And after saving it disable last row which is not the newly ad= ded row.

Hmm, good point= . Can you/Surinder work up a fix for that in time for the release please?= =C2=A0
=E2=80=8BSure Dave, I am working on it.=E2=80= =8B

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitte= r: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgr= eSQL Company


--001a114712e221c198054f546acf-- --001a114712e221c19e054f546ad1 Content-Type: application/octet-stream; name="fix_disable_row_after_paste_row.patch" Content-Disposition: attachment; filename="fix_disable_row_after_paste_row.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j2lxcu9x0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci90ZW1w bGF0ZXMvc3FsZWRpdG9yL2pzL3NxbGVkaXRvci5qcyBiL3dlYi9wZ2FkbWlu L3Rvb2xzL3NxbGVkaXRvci90ZW1wbGF0ZXMvc3FsZWRpdG9yL2pzL3NxbGVk aXRvci5qcwppbmRleCBiYTlkZDQzLi41N2NhYTc2IDEwMDY0NAotLS0gYS93 ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvdGVtcGxhdGVzL3NxbGVkaXRv ci9qcy9zcWxlZGl0b3IuanMKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvc3Fs ZWRpdG9yL3RlbXBsYXRlcy9zcWxlZGl0b3IvanMvc3FsZWRpdG9yLmpzCkBA IC04MjIsNiArODIyLDI1IEBAIGRlZmluZSgKICAgICAgICAgICAkKCIjYnRu LXNhdmUiKS5wcm9wKCdkaXNhYmxlZCcsIGZhbHNlKTsKICAgICAgICAgfS5i aW5kKGVkaXRvcl9kYXRhKSk7CiAKKworICAgICAgICAvLyBMaXN0ZW5lciBm dW5jdGlvbiB3aGljaCB3aWxsIGJlIGNhbGxlZCBhZnRlciBjZWxsIGlzIGNo YW5nZWQKKyAgICAgICAgZ3JpZC5vbkFjdGl2ZUNlbGxDaGFuZ2VkLnN1YnNj cmliZShmdW5jdGlvbiAoZSwgYXJncykgeworICAgICAgICAgIC8vIEFjY2Vz cyB0byByb3cvY2VsbCB2YWx1ZSBhZnRlciBhIGNlbGwgaXMgY2hhbmdlZC4K KyAgICAgICAgICAvLyBUaGUgcHVycG9zZSBpcyB0byByZW1vdmUgcm93X2lk IGZyb20gdGVtcF9uZXdfcm93CisgICAgICAgICAgLy8gaWYgbmV3IHJvdyBo YXMgcHJpbWFyeSBrZXkgaW5zdGVhZCBvZiBbZGVmYXVsdF92YWx1ZV0KKyAg ICAgICAgICAvLyBzbyB0aGF0IGNlbGwgZWRpdCBpcyBlbmFibGVkIGZvciB0 aGF0IHJvdy4KKyAgICAgICAgICB2YXIgZ3JpZCA9IGFyZ3MuZ3JpZCwKKyAg ICAgICAgICAgIHJvd19kYXRhID0gZ3JpZC5nZXREYXRhSXRlbShhcmdzLnJv dyksCisgICAgICAgICAgICBwcmltYXJ5X2tleSA9IHJvd19kYXRhICYmIHJv d19kYXRhWzBdOworCisgICAgICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKHBy aW1hcnlfa2V5KSkgeworICAgICAgICAgICAgdmFyIGluZGV4ID0gc2VsZi5o YW5kbGVyLnRlbXBfbmV3X3Jvd3MuaW5kZXhPZihhcmdzLnJvdyk7CisgICAg ICAgICAgICBpZiAoaW5kZXggPiAtMSkgeworICAgICAgICAgICAgICBzZWxm LmhhbmRsZXIudGVtcF9uZXdfcm93cy5zcGxpY2UoaW5kZXgsIDEpOworICAg ICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAgfSk7CisKICAgICAg ICAgLy8gTGlzdGVuZXIgZnVuY3Rpb24gd2hpY2ggd2lsbCBiZSBjYWxsZWQg d2hlbiB1c2VyIGFkZHMgbmV3IHJvd3MKICAgICAgICAgZ3JpZC5vbkFkZE5l d1Jvdy5zdWJzY3JpYmUoZnVuY3Rpb24gKGUsIGFyZ3MpIHsKICAgICAgICAg ICAvLyBzZWxmLmhhbmRsZXIuZGF0YV9zdG9yZS5hZGRlZCB3aWxsIGhvbGRz IGFsbCB0aGUgbmV3bHkgYWRkZWQgcm93cy9kYXRhCkBAIC04MjksNiArODQ4 LDExIEBAIGRlZmluZSgKICAgICAgICAgICAgIGNvbHVtbiA9IGFyZ3MuY29s dW1uLAogICAgICAgICAgICAgaXRlbSA9IGFyZ3MuaXRlbSwgZGF0YV9sZW5n dGggPSB0aGlzLmdyaWQuZ2V0RGF0YUxlbmd0aCgpOwogCisgICAgICAgICAg Ly8gQWRkIG5ldyByb3cgaW4gbGlzdCB0byBrZWVwIHRyYWNrIG9mIGl0Cisg ICAgICAgICAgaWYgKF8uaXNVbmRlZmluZWQoaXRlbVswXSkpIHsKKyAgICAg ICAgICAgIHNlbGYuaGFuZGxlci50ZW1wX25ld19yb3dzLnB1c2goZGF0YV9s ZW5ndGgpOworICAgICAgICAgIH0KKwogICAgICAgICAgIGlmKGl0ZW0pIHsK ICAgICAgICAgICAgIGl0ZW0uX190ZW1wX1BLID0gX2tleTsKICAgICAgICAg ICB9CkBAIC0xNjQ3LDYgKzE2NzEsOCBAQCBkZWZpbmUoCiAgICAgICAgICAg c2VsZi5faW5pdF9wb2xsaW5nX2ZsYWdzKCk7CiAgICAgICAgICAgLy8ga2Vl cCB0cmFjayBvZiBuZXdseSBhZGRlZCByb3dzCiAgICAgICAgICAgc2VsZi5y b3dzX3RvX2Rpc2FibGUgPSBuZXcgQXJyYXkoKTsKKyAgICAgICAgICAvLyBU ZW1wb3JhcmlseSBob2xkIG5ldyByb3dzIGFkZGVkCisgICAgICAgICAgc2Vs Zi50ZW1wX25ld19yb3dzID0gbmV3IEFycmF5KCk7CiAKICAgICAgICAgICBz ZWxmLnRyaWdnZXIoCiAgICAgICAgICAgICAncGdhZG1pbi1zcWxlZGl0b3I6 bG9hZGluZy1pY29uOnNob3cnLApAQCAtMjM0MCwxMCArMjM2NiwxNSBAQCBk ZWZpbmUoCiAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC5zZXRTZWxlY3Rl ZFJvd3MoW10pOwogICAgICAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAg ICAgICAgICAgICAgLy8gQWRkIGxhc3Qgcm93KG5ldyByb3cpIHRvIGtlZXAg dHJhY2sgb2YgaXQKKyAgICAgICAgICAgICAgICAgICAgLy8gd2hldGhlciBh IGNlbGwgaXMgZWRpdGFibGUgb3Igbm90IGlzIGRlY2lkZWQgaW4KKyAgICAg ICAgICAgICAgICAgICAgLy8gZ3JpZC5vbkJlZm9yZUVkaXRDZWxsIGZ1bmN0 aW9uIChvbiBjZWxsIGNsaWNrKQorICAgICAgICAgICAgICAgICAgICAvLyBi dXQgdGhpcyBmdW5jdGlvbiBzaG91bGQgZG8gaXRzIGpvYiBhZnRlciBzYXZl CisgICAgICAgICAgICAgICAgICAgIC8vIG9wZXJhdGlvbi4gU28gYXNzaWdu IGxpc3Qgb2YgYWRkZWQgcm93cyB0byBvcmlnaW5hbAorICAgICAgICAgICAg ICAgICAgICAvLyByb3dzX3RvX2Rpc2FibGUgYXJyYXkuCiAgICAgICAgICAg ICAgICAgICAgIGlmIChpc19hZGRlZCkgewotICAgICAgICAgICAgICAgICAg ICAgIHNlbGYucm93c190b19kaXNhYmxlLnB1c2goZ3JpZC5nZXREYXRhTGVu Z3RoKCktMSk7CisgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucm93c190 b19kaXNhYmxlID0gXy5jbG9uZShzZWxmLnRlbXBfbmV3X3Jvd3MpOwogICAg ICAgICAgICAgICAgICAgICB9CisKICAgICAgICAgICAgICAgICAgICAgLy8g UmVzZXQgZGF0YSBzdG9yZQogICAgICAgICAgICAgICAgICAgICBzZWxmLmRh dGFfc3RvcmUgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGVkJzog e30sCkBAIC0yMzcwLDYgKzI0MDEsMTIgQEAgZGVmaW5lKAogICAgICAgICAg ICAgICAgICAgICAgICghXy5pc1VuZGVmaW5lZChyZXMuZGF0YS5fcm93aWQp fHwgIV8uaXNOdWxsKHJlcy5kYXRhLl9yb3dpZCkpKSB7CiAgICAgICAgICAg ICAgICAgICAgIHZhciBfcm93X2luZGV4ID0gc2VsZi5fZmluZF9yb3dpbmRl eChyZXMuZGF0YS5fcm93aWQpOwogICAgICAgICAgICAgICAgICAgICBpZihf cm93X2luZGV4IGluIHNlbGYuZGF0YV9zdG9yZS5hZGRlZF9pbmRleCkgewor ICAgICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSBuZXcgcm93IGluZGV4 IGZyb20gdGVtcF9saXN0IGlmIHNhdmUgb3BlcmF0aW9uCisgICAgICAgICAg ICAgICAgICAgICAgLy8gZmFpbHMKKyAgICAgICAgICAgICAgICAgICAgICB2 YXIgaW5kZXggPSBzZWxmLmhhbmRsZXIudGVtcF9uZXdfcm93cy5pbmRleE9m KF9yb3dpZCk7CisgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID4g LTEpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmhhbmRsZXIu dGVtcF9uZXdfcm93cy5zcGxpY2UoaW5kZXgsIDEpOworICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGF0YV9z dG9yZS5hZGRlZFtzZWxmLmRhdGFfc3RvcmUuYWRkZWRfaW5kZXhbX3Jvd19p bmRleF1dLmVyciA9IHRydWUKICAgICAgICAgICAgICAgICAgICAgfSBlbHNl IGlmIChfcm93X2luZGV4IGluIHNlbGYuZGF0YV9zdG9yZS51cGRhdGVkX2lu ZGV4KSB7CiAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRhdGFfc3RvcmUu dXBkYXRlZFtzZWxmLmRhdGFfc3RvcmUudXBkYXRlZF9pbmRleFtfcm93X2lu ZGV4XV0uZXJyID0gdHJ1ZQo= --001a114712e221c19e054f546ad1 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers --001a114712e221c19e054f546ad1--