[pgadmin-hackers] SVN Commit by dpage: r7575 - in branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US: . pg

2009-01-30 Thread svn
Author: dpage

Date: 2009-01-30 09:47:09 + (Fri, 30 Jan 2009)

New Revision: 7575

Revision summary: http://svn.pgadmin.org/cgi-bin/viewcvs.cgi/?rev=7575&view=rev

Log:
Update docs for 8.2.12


Added:
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/release-7-4-24.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/release-8-0-20.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/release-8-1-16.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/release-8-2-11.html
Modified:
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/admin.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-clusterdb.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-createdb.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-createlang.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-createuser.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-dropdb.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-droplang.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-dropuser.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-ecpg.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-initdb.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-ipcclean.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-pg-ctl.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-pg-dumpall.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-pgconfig.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-pgcontroldata.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-pgdump.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-pgresetxlog.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-pgrestore.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-postgres.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-postmaster.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-psql.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-reindexdb.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/app-vacuumdb.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/appendixes.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/applevel-consistency.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/arrays.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/auth-methods.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/backup-file.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/backup.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/biblio.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/bki-commands.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/bki-example.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/bki-structure.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/bki.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/bug-reporting.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-aggregate.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-am.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-amop.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-amproc.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-attrdef.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-attribute.html
   
branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-auth-members.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-authid.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-autovacuum.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-cast.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-class.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-constraint.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-conversion.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-database.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-depend.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-description.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-index.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-inherits.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-language.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-largeobject.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-listener.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-namespace.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-opclass.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-operator.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-pltemplate.html
   branches/REL-1_6_0_PATCHES/pgadmin3/docs/en_US/pg/catalog-pg-proc.html
   branches/RE

Re: [pgadmin-hackers] PATCH: Column Level Privileges

2009-01-30 Thread Dave Page
On Thu, Jan 29, 2009 at 5:17 PM, Ashesh Vashi
 wrote:
> Hi All,
>
> Please find the patch for Column Level Privileges support.
> I have also attached some of the test-cases for it.

Hi Ashesh,

Couple of minor issues/questions:

- Why didn't you derive the dialog from dlgSecurityProperty? I assume
it would have been too messy as it's already derived from
dlgTypeProperty?

- As a general rule, we disable controls not relevant to a particular
version of Postgres. We should do the same with this tab - disable the
controls rather than hide them on servers < 8.4.

- Can we lose the comment above the column permissions in the reverse
engineered SQL please? We don't add similar ones for other additional
queries so we shouldn't here (though perhaps in the future we might
add such comments everywhere that is appropriate).

- Not just an issue with your code, but also the existing privilege
tabs - could you please tweak the column sizes of the list control
such that the headers can be read by default?

Thanks!

-- 
Dave Page
EnterpriseDB UK:   http://www.enterprisedb.com

-- 
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers


Re: [pgadmin-hackers] PATCH: Column Level Privileges

2009-01-30 Thread Ashesh Vashi

Hi Dave,

Couple of minor issues/questions:

- Why didn't you derive the dialog from dlgSecurityProperty? I assume
it would have been too messy as it's already derived from
dlgTypeProperty?

dlgSecurityProperty and dlgTypeProperty both are derived from dlgPropery.
If we derive the dlgColumn from both of them, it will leads to the 
famous Diamond problem.

We can avoid this problem by multiple inheritance using virtual base class.
And hence, it will increase the complexity. :(

- As a general rule, we disable controls not relevant to a particular
version of Postgres. We should do the same with this tab - disable the
controls rather than hide them on servers < 8.4.

sure.

- Can we lose the comment above the column permissions in the reverse
engineered SQL please? We don't add similar ones for other additional
queries so we shouldn't here (though perhaps in the future we might
add such comments everywhere that is appropriate).

Sure.

- Not just an issue with your code, but also the existing privilege
tabs - could you please tweak the column sizes of the list control
such that the headers can be read by default?

sure.

Thanks!
  

I will update you as soon as possible.
--
Thanks & Regards,
Ashesh Vashi

EnterpriseDB INDIA: http://www.enterprisedb.com


Re: [pgadmin-hackers] PATCH: Column Level Privileges

2009-01-30 Thread Ashesh Vashi

Hi Dave,

Dave Page wrote:

- As a general rule, we disable controls not relevant to a particular
version of Postgres. We should do the same with this tab - disable the
controls rather than hide them on servers < 8.4.

Done

- Can we lose the comment above the column permissions in the reverse
engineered SQL please? We don't add similar ones for other additional
queries so we shouldn't here (though perhaps in the future we might
add such comments everywhere that is appropriate).

Done.

- Not just an issue with your code, but also the existing privilege
tabs - could you please tweak the column sizes of the list control
such that the headers can be read by default?

Done.
Changed the column size to 70.
I think - it should fit in all the platform.

Please find the updated patch.

--
Thanks & Regards,
Ashesh Vashi

EnterpriseDB INDIA: http://www.enterprisedb.com
Index: ctl/ctlSecurityPanel.cpp
===
--- ctl/ctlSecurityPanel.cpp	(revision 7575)
+++ ctl/ctlSecurityPanel.cpp	(working copy)
@@ -13,6 +13,7 @@
 // wxWindows headers
 #include 
 #include 
+#include 
 
 // App headers
 #include "pgAdmin3.h"
@@ -75,7 +76,9 @@
 itemSizer1->AddGrowableCol(0);
 itemSizer1->AddGrowableRow(0);
 lbPrivileges = new ctlListView(this, CTL_LBPRIV, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxLC_REPORT);
-lbPrivileges->CreateColumns(imgList, _("User/Group"), _("Privileges"), -1);
+lbPrivileges->SetImageList(imgList, wxIMAGE_LIST_SMALL);
+lbPrivileges->AddColumn(_("User/Group"), 70, wxLIST_FORMAT_LEFT);
+lbPrivileges->AddColumn(_("Privileges"), 70, wxLIST_FORMAT_LEFT);
 itemSizer1->Add(lbPrivileges, 0, wxEXPAND|wxALIGN_CENTRE_VERTICAL|wxTOP|wxLEFT|wxRIGHT, 4);
 item0->Add(itemSizer1, 0, wxEXPAND|wxALL, 5);
 
@@ -157,7 +160,7 @@
 }
 
 
-wxString ctlSecurityPanel::GetGrant(const wxString &allPattern, const wxString &grantObject, wxArrayString *currentAcl)
+wxString ctlSecurityPanel::GetGrant(const wxString &allPattern, const wxString &grantObject, wxArrayString *currentAcl, wxString column)
 {
 wxArrayString tmpAcl;
 if (currentAcl)
@@ -198,7 +201,7 @@
 {
 if (privPartiallyAssigned)
 sql += pgObject::GetPrivileges(allPattern, wxT(""), grantObject, name);
-sql += pgObject::GetPrivileges(allPattern, value, grantObject, name);
+sql += pgObject::GetPrivileges(allPattern, value, grantObject, name, column);
 }
 }
 
@@ -210,7 +213,7 @@
 name = wxT("GROUP ") + qtIdent(name.Mid(6));
 else
 name=qtIdent(name);
-sql += pgObject::GetPrivileges(allPattern, wxT(""), grantObject, name);
+sql += pgObject::GetPrivileges(allPattern, wxT(""), grantObject, name, column);
 }
 return sql;
 }
Index: include/ctl/ctlSecurityPanel.h
===
--- include/ctl/ctlSecurityPanel.h	(revision 7575)
+++ include/ctl/ctlSecurityPanel.h	(working copy)
@@ -46,7 +46,11 @@
 ctlComboBox *cbGroups;
 wxStaticText *stGroup;
 void SetConnection(pgConn *conn);
-wxString GetGrant(const wxString &allPattern, const wxString &grantObject, wxArrayString *currentAcl=0);
+
+/*
+ *  Except column level privileges, column will be always an empty string in any case
+ */
+wxString GetGrant(const wxString &allPattern, const wxString &grantObject, wxArrayString *currentAcl=0, wxString column = wxEmptyString);
 bool DisablePrivilege(const wxString &priv);
 protected:
 wxNotebook *nbNotebook;
Index: include/schema/pgObject.h
===
--- include/schema/pgObject.h	(revision 7575)
+++ include/schema/pgObject.h	(working copy)
@@ -47,8 +47,13 @@
 pgObject(pgaFactory &factory, const wxString& newName=wxEmptyString);
 
 public:
-
-static wxString GetPrivileges(const wxString& allPattern, const wxString& acl, const wxString& grantObject, const wxString& user);
+/*
+*  Except column level privileges, column will be always an empty
+*  string in any case
+*/
+static wxString GetPrivileges(const wxString& allPattern,
+ const wxString& acl, const wxString& grantObject,
+ const wxString& user, const wxString& column=wxT(""));
 static int GetTypeId(const wxString &typname);
 
 pgaFactory *GetFactory() { return factory; }
@@ -97,7 +102,11 @@
 virtual wxMenu *GetNewMenu();
 
 virtual wxString GetSql(ctlTree *browser) { return wxT(""); }
-wxString GetGrant(const wxString& allPattern, const wxString& grantFor=wxT(""));
+/*
+*  Except column level privileges, column will be always an empty
+*  string in any case
+*/
+wxString GetGrant(const wxString& allPattern, const wxString& grantFor=wxT(""), const wxString& column=wxT(""));
 wxString GetCommentSql();
 wxString GetO