[pgadmin-hackers] CVS Commit by dpage: Fix changing of view ownership

2005-04-01 Thread cvs
Log Message:
---
Fix changing of view ownership

Modified Files:
--
pgadmin3/src/ui:
dlgView.cpp (r1.11 -> r1.12)

Index: dlgView.cpp
===
RCS file: /projects/pgadmin3/src/ui/dlgView.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -Lsrc/ui/dlgView.cpp -Lsrc/ui/dlgView.cpp -u -w -r1.11 -r1.12
--- src/ui/dlgView.cpp
+++ src/ui/dlgView.cpp
@@ -119,9 +119,6 @@
 sql += wxT("ALTER TABLE ") + view->GetQuotedFullIdentifier()
 +  wxT(" RENAME TO ") + qtIdent(name) + wxT(";\n");
 }
-if (cbOwner->GetValue() != view->GetOwner())
-sql += wxT("ALTER TABLE ") + qtIdent(name)
-+  wxT(" OWNER TO ") + qtIdent(cbOwner->GetValue()) + 
wxT(";\n");
 }
 
 if (!view || txtSqlBox->GetText() != oldDefinition)
@@ -131,6 +128,12 @@
 + wxT(";\n");
 }
 
+   if (view)
+   AppendOwnerChange(sql, wxT("TABLE ") + 
schema->GetQuotedPrefix() + qtIdent(name));
+   else
+   AppendOwnerNew(sql, wxT("TABLE ") + schema->GetQuotedPrefix() + 
qtIdent(name));
+
+
 sql +=  GetGrant(wxT("arwdRxt"), wxT("TABLE ") + schema->GetQuotedPrefix() 
+ qtIdent(name));
 
 AppendComment(sql, wxT("VIEW"), schema, view);
---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster


[pgadmin-hackers] CVS Commit by dpage: Fix changing of view ownership

2005-04-01 Thread cvs
Log Message:
---
Fix changing of view ownership

Tags:

REL-1_2_0_PATCHES

Modified Files:
--
pgadmin3/src/ui:
dlgView.cpp (r1.10.2.1 -> r1.10.2.2)

Index: dlgView.cpp
===
RCS file: /projects/pgadmin3/src/ui/dlgView.cpp,v
retrieving revision 1.10.2.1
retrieving revision 1.10.2.2
diff -Lsrc/ui/dlgView.cpp -Lsrc/ui/dlgView.cpp -u -w -r1.10.2.1 -r1.10.2.2
--- src/ui/dlgView.cpp
+++ src/ui/dlgView.cpp
@@ -119,9 +119,6 @@
 sql += wxT("ALTER TABLE ") + view->GetQuotedFullIdentifier()
 +  wxT(" RENAME TO ") + qtIdent(name) + wxT(";\n");
 }
-if (cbOwner->GetValue() != view->GetOwner())
-sql += wxT("ALTER TABLE ") + qtIdent(name)
-+  wxT(" OWNER TO ") + qtIdent(cbOwner->GetValue()) + 
wxT(";\n");
 }
 
 if (!view || txtSqlBox->GetText() != oldDefinition)
@@ -131,6 +128,12 @@
 + wxT(";\n");
 }
 
+   if (view)
+   AppendOwnerChange(sql, wxT("TABLE ") + 
schema->GetQuotedPrefix() + qtIdent(name));
+   else
+   AppendOwnerNew(sql, wxT("TABLE ") + schema->GetQuotedPrefix() + 
qtIdent(name));
+
+
 sql +=  GetGrant(wxT("arwdRxt"), wxT("TABLE ") + schema->GetQuotedPrefix() 
+ qtIdent(name));
 
 AppendComment(sql, wxT("VIEW"), schema, view);
---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


[pgadmin-hackers] CVS Commit by dpage: Fix changing of view ownership

2005-04-01 Thread cvs
Log Message:
---
Fix changing of view ownership

Modified Files:
--
pgadmin3:
CHANGELOG.txt (r1.198 -> r1.199)

Index: CHANGELOG.txt
===
RCS file: /projects/pgadmin3/CHANGELOG.txt,v
retrieving revision 1.198
retrieving revision 1.199
diff -LCHANGELOG.txt -LCHANGELOG.txt -u -w -r1.198 -r1.199
--- CHANGELOG.txt
+++ CHANGELOG.txt
@@ -17,6 +17,7 @@
 
 
 
+2005-04-01 DP  1.2.2 Fix changing of view ownership
 2005-03-28 APFK MATCH FULL
 2005-03-28 APOption: User defined system schemas
 2005-03-27 APGuru hint for server connections
---(end of broadcast)---
TIP 6: Have you searched our list archives?

   http://archives.postgresql.org


[pgadmin-hackers] CVS Commit by andreas: Speed up of column property retrieval

2005-04-01 Thread cvs
Log Message:
---
Speed up of column property retrieval

Modified Files:
--
pgadmin3:
CHANGELOG.txt (r1.199 -> r1.200)
pgadmin3/src/include:
pgColumn.h (r1.29 -> r1.30)
pgadmin3/src/schema:
pgColumn.cpp (r1.41 -> r1.42)
pgadmin3/src/utils:
sysSettings.cpp (r1.71 -> r1.72)

Index: CHANGELOG.txt
===
RCS file: /projects/pgadmin3/CHANGELOG.txt,v
retrieving revision 1.199
retrieving revision 1.200
diff -LCHANGELOG.txt -LCHANGELOG.txt -u -w -r1.199 -r1.200
--- CHANGELOG.txt
+++ CHANGELOG.txt
@@ -17,6 +17,7 @@
 
 
 
+2005-04-01 APSpeed up of column property retrieval
 2005-04-01 DP  1.2.2 Fix changing of view ownership
 2005-03-28 APFK MATCH FULL
 2005-03-28 APOption: User defined system schemas
Index: pgColumn.h
===
RCS file: /projects/pgadmin3/src/include/pgColumn.h,v
retrieving revision 1.29
retrieving revision 1.30
diff -Lsrc/include/pgColumn.h -Lsrc/include/pgColumn.h -u -w -r1.29 -r1.30
--- src/include/pgColumn.h
+++ src/include/pgColumn.h
@@ -82,6 +82,8 @@
 void iSetSerialSequence(const wxString &s) { serialSequence=s; }
 wxString GetSerialSchema() const { return serialSchema; }
 void iSetSerialSchema(const wxString &s) { serialSchema=s; }
+void iSetPkCols(const wxString &s) { pkCols = s; }
+void iSetIsFK(const bool b) { isFK = b; }
 
 bool DropObject(wxFrame *frame, wxTreeCtrl *browser, bool cascaded);
 bool GetSystemObject() const { return colNumber < 0; }
@@ -94,7 +96,7 @@
 
 private:
 wxString varTypename, quotedTypename, defaultVal, tableName, 
quotedFullTable, storage, rawTypename;
-wxString serialSequence, serialSchema;
+wxString serialSequence, serialSchema, pkCols;
 long colNumber, length, precision, statistics, attstattarget;
 long typlen, typmod, inheritedCount;
 bool isPK, isFK, notNull, isArray;
Index: pgColumn.cpp
===
RCS file: /projects/pgadmin3/src/schema/pgColumn.cpp,v
retrieving revision 1.41
retrieving revision 1.42
diff -Lsrc/schema/pgColumn.cpp -Lsrc/schema/pgColumn.cpp -u -w -r1.41 -r1.42
--- src/schema/pgColumn.cpp
+++ src/schema/pgColumn.cpp
@@ -158,21 +158,11 @@
 if (!expandedKids)
 {
 expandedKids = true;
-// append type here
-// fk, pk lesen
-pgSet *set = ExecuteSet(
-wxT("SELECT indkey FROM pg_index\n")
-wxT(" WHERE indrelid=") + GetTableOidStr() +
-   wxT(" AND indisprimary"));
-if (set)
-{
-wxString indkey, str;
-while (!isPK && !set->Eof())
-{
-wxStringTokenizer indkey(set->GetVal(0));
+
+wxStringTokenizer indkey(pkCols);
 while (indkey.HasMoreTokens())
 {
-str=indkey.GetNextToken();
+wxString str=indkey.GetNextToken();
 if (StrToLong(str) == GetColNumber())
 {
 isPK = true;
@@ -180,12 +170,10 @@
 }
 }
 
-set->MoveNext();
-}
-delete set;
-}
-
-set=ExecuteSet(
+if (!GetDatabase()->BackendMinimumVersion(7, 4))
+{
+// 7.3 misses the ANY(array) comparision
+pgSet *set=ExecuteSet(
 wxT("SELECT conkey\n")
 wxT("  FROM pg_constraint ct\n")
 wxT("  JOIN pg_class cl on cl.oid=confrelid\n")
@@ -213,6 +201,7 @@
 delete set;
 }
 }
+}
 
 if (properties)
 {
@@ -278,10 +267,18 @@
 if (!settings->GetShowSystemObjects())
 systemRestriction = wxT("\n   AND attnum > 0");
 
-pgSet *columns= database->ExecuteSet(
+wxString sql=
 wxT("SELECT att.*, def.*, CASE WHEN attndims > 0 THEN 1 ELSE 0 END AS 
isarray, CASE WHEN ty.typname = 'bpchar' THEN 'char' WHEN ty.typname = 
'_bpchar' THEN '_char' ELSE ty.typname END AS typname, tn.nspname as 
typnspname, et.typname as elemtypname,\n")
 wxT("  cl.relname, na.nspname, att.attstattarget, description, 
cs.relname AS sername, ns.nspname AS serschema,\n")
-wxT("  (SELECT count(1) FROM pg_type t2 WHERE t2.typname=ty.typname) > 
1 AS isdup\n")
+wxT("  (SELECT count(1) FROM pg_type t2 WHERE t2.typname=ty.typname) > 
1 AS isdup, indkey");
+
+if (database->BackendMinimumVersion(7, 4))
+sql += 
+wxT(",\n")
+wxT("  EXISTS(SELECT 1 FROM  pg_constraint WHERE 
conrelid=att.attrelid AND contype='f'")
+wxT(" AND att.attnum=ANY(conkey)) As isfk");
+
+sql += wxT("\n")
 wxT("  FROM pg_attribute att\n")
 wxT("  JOIN pg_type ty ON ty.oid=atttypid\n")
 wxT("  JOIN pg_namespace tn ON tn.oid=ty.typnamespa

[pgadmin-hackers] CVS Commit by andreas: Fix some typos comment out job trigger (not yet

2005-04-01 Thread cvs
Log Message:
---
Fix some typos
comment out job trigger (not yet implemented)

Modified Files:
--
pgagent:
pgagent.sql (r1.7 -> r1.8)

Index: pgagent.sql
===
RCS file: /projects/pgagent/pgagent.sql,v
retrieving revision 1.7
retrieving revision 1.8
diff -Lpgagent.sql -Lpgagent.sql -u -w -r1.7 -r1.8
--- pgagent.sql
+++ pgagent.sql
@@ -86,11 +86,11 @@
 jscweekdays  bool[7]  NOT NULL DEFAULT '{f,f,f,f,f,f,f}',
 jscmonthdays bool[32] NOT NULL DEFAULT 
'{f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f}',
 jscmonthsbool[12] NOT NULL DEFAULT 
'{f,f,f,f,f,f,f,f,f,f,f,f}',
-CONSTRAINT pga_schedule_jscminutes_size CHECK (array_upper(jscminutess, 1) = 
60),
+CONSTRAINT pga_schedule_jscminutes_size CHECK (array_upper(jscminutes, 1) = 
60),
 CONSTRAINT pga_schedule_jschours_size CHECK (array_upper(jschours, 1) = 24),
 CONSTRAINT pga_schedule_jscweekdays_size CHECK (array_upper(jscweekdays, 1) = 
7),
 CONSTRAINT pga_schedule_jscmonthdays_size CHECK (array_upper(jscmonthdays, 1) 
= 32),
-CONSTRAINT pga_schedule_jscmonths_size CHECK (array_upper(jscmonths, 1) = 12),
+CONSTRAINT pga_schedule_jscmonths_size CHECK (array_upper(jscmonths, 1) = 12)
 ) WITHOUT OIDS;
 CREATE INDEX pga_jobschedule_jobid ON pgagent.pga_schedule(jscjobid);
 COMMENT ON TABLE pgagent.pga_schedule IS 'Schedule for a job';
@@ -550,10 +550,12 @@
 COMMENT ON FUNCTION pgagent.pga_is_leap_year(int2) IS 'Returns TRUE is $1 is a 
leap year';
   
   
+/*
+!!! not yet implemented?
 CREATE TRIGGER pga_job_trigger BEFORE UPDATE
ON pgagent.pga_job FOR EACH ROW
EXECUTE PROCEDURE pgagent.pga_job_trigger();
-
+*/
 
 
 CREATE OR REPLACE FUNCTION pgagent.pga_schedule_trigger() RETURNS trigger AS '
@@ -573,14 +575,14 @@
 END IF;
 END;
 ' LANGUAGE 'plpgsql';
-COMMENT ON FUNCTION pgagent.pga_schedule_trigger() IS 'Update the job\'s next 
run time whenever a schedule changes';
+COMMENT ON FUNCTION pgagent.pga_schedule_trigger() IS 'Update the job''s next 
run time whenever a schedule changes';
 
 
 
 CREATE TRIGGER pga_schedule_trigger AFTER INSERT OR UPDATE OR DELETE
ON pgagent.pga_schedule FOR EACH ROW
EXECUTE PROCEDURE pgagent.pga_schedule_trigger();
-COMMENT ON TRIGGER pga_schedule_trigger ON pgagent.pga_schedule IS 'Update the 
job\'s next run time whenever a schedule changes';
+COMMENT ON TRIGGER pga_schedule_trigger ON pgagent.pga_schedule IS 'Update the 
job''s next run time whenever a schedule changes';
 
 
 CREATE OR REPLACE FUNCTION pgagent.pga_exception_trigger() RETURNS "trigger" 
AS '
@@ -611,11 +613,11 @@
 END IF;
 END;
 ' LANGUAGE 'plpgsql' VOLATILE;
-COMMENT ON FUNCTION pgagent.pga_schedule_trigger() IS 'Update the job\'s next 
run time whenever an exception changes';
+COMMENT ON FUNCTION pgagent.pga_schedule_trigger() IS 'Update the job''s next 
run time whenever an exception changes';
 
 
 
 CREATE TRIGGER pga_exception_trigger AFTER INSERT OR UPDATE OR DELETE
   ON pgagent.pga_exception FOR EACH ROW
   EXECUTE PROCEDURE pgagent.pga_exception_trigger();
-COMMENT ON TRIGGER pga_exception_trigger ON pgagent.pga_exception IS 'Update 
the job\'s next run time whenever an exception changes';
\ No newline at end of file
+COMMENT ON TRIGGER pga_exception_trigger ON pgagent.pga_exception IS 'Update 
the job''s next run time whenever an exception changes';
\ No newline at end of file
---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster


Re: [pgadmin-hackers] CVS Commit by andreas: Fix some typos comment out job trigger (not yet

2005-04-01 Thread Dave Page
Please don't modify the agent stuff too much - I have a fair bit of uncommitted 
work and I'd rather not have to do a complex merge!!

Regards, Dave.


-Original Message-
From: [EMAIL PROTECTED] on behalf of [EMAIL PROTECTED]
Sent: Fri 4/1/2005 6:51 PM
To: pgadmin-hackers@postgresql.org
Subject: [pgadmin-hackers] CVS Commit by andreas: Fix some typos comment out 
job trigger (not yet 
 
Log Message:
---
Fix some typos
comment out job trigger (not yet implemented)

Modified Files:
--
pgagent:
pgagent.sql (r1.7 -> r1.8)


<>
---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faq