Index: CHANGELOG.txt
===================================================================
RCS file: /projects/pgadmin3/CHANGELOG.txt,v
retrieving revision 1.140
retrieving revision 1.141
diff -LCHANGELOG.txt -LCHANGELOG.txt -u -w -r1.140 -r1.141
--- CHANGELOG.txt
+++ CHANGELOG.txt
@@ -17,6 +17,8 @@
+ - 2004-10-05 AP 1.2B3 Use PostgreSQL's list of keywords for syntax highlighting
+
- 2004-10-05 AP 1.2B3 Fix adding columns with constraints using table properties on 7.3 and 7.4
- 2004-10-05 DP 1.2B3 Drop rows correctly when selected in reverse in the edit grid. Also, confirm drop first.
- 2004-09-27 DP 1.2B3 Dynamically link libpq/OpenSSL for sensible installation with Win32 PostgreSQL
- 2004-09-18 DP 1.2B2 Prevent dropped servers reappearing after View System Objects change.
Index: misc.h
===================================================================
RCS file: /projects/pgadmin3/src/include/misc.h,v
retrieving revision 1.45
retrieving revision 1.46
diff -Lsrc/include/misc.h -Lsrc/include/misc.h -u -w -r1.45 -r1.46
--- src/include/misc.h
+++ src/include/misc.h
@@ -104,6 +104,8 @@
// string build helper
void AppendIfFilled(wxString &str, const wxString &delimiter, const wxString &what);
+// Create keyword list from PostgreSQL list
+void FillKeywords(wxString &str);
// Fill array, splitting the string separated by commas (maybe quoted elements)
void FillArray(wxArrayString &array, const wxString &str);
Index: ctlSQLBox.h
===================================================================
RCS file: /projects/pgadmin3/src/include/ctlSQLBox.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -Lsrc/include/ctlSQLBox.h -Lsrc/include/ctlSQLBox.h -u -w -r1.9 -r1.10
--- src/include/ctlSQLBox.h
+++ src/include/ctlSQLBox.h
@@ -24,6 +24,8 @@
// Class declarations
class ctlSQLBox : public wxStyledTextCtrl
{
+ static wxString sqlKeywords;
+
public:
ctlSQLBox(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0);
ctlSQLBox();
Index: pgObject.cpp
===================================================================
RCS file: /projects/pgadmin3/src/schema/pgObject.cpp,v
retrieving revision 1.73
retrieving revision 1.74
diff -Lsrc/schema/pgObject.cpp -Lsrc/schema/pgObject.cpp -u -w -r1.73 -r1.74
--- src/schema/pgObject.cpp
+++ src/schema/pgObject.cpp
@@ -206,7 +206,6 @@
wxString typestr=set->GetVal(wxT("type"));
int id;
- bool dontQuote=false;
switch (typestr.c_str()[0])
{
Index: dlgTable.cpp
===================================================================
RCS file: /projects/pgadmin3/src/ui/dlgTable.cpp,v
retrieving revision 1.44
retrieving revision 1.45
diff -Lsrc/ui/dlgTable.cpp -Lsrc/ui/dlgTable.cpp -u -w -r1.44 -r1.45
--- src/ui/dlgTable.cpp
+++ src/ui/dlgTable.cpp
@@ -303,14 +303,11 @@
if (table)
{
int pos;
- int index;
+ int index=-1;
wxString definition;
wxArrayString tmpDef=previousColumns;
- AppendNameChange(sql);
- AppendOwnerChange(sql);
-
for (pos=0; pos < lstColumns->GetItemCount() ; pos++)
{
definition = lstColumns->GetText(pos, 3);
@@ -319,7 +316,7 @@
definition=qtIdent(lstColumns->GetText(pos)) + wxT(" ") + lstColumns->GetText(pos, 1);
index=tmpDef.Index(definition);
if (index < 0)
- sql += wxT("ALTER TABLE ") + tabname
+ sql += wxT("ALTER TABLE ") + table->GetQuotedFullIdentifier()
+ wxT(" ADD COLUMN ") + definition + wxT(";\n");
}
else
@@ -327,13 +324,19 @@
sql += definition;
pgColumn *column=(pgColumn*) StrToLong(lstColumns->GetText(pos, 4));
+ if (column)
+ {
index=tmpDef.Index(column->GetQuotedIdentifier()
+ wxT(" ") + column->GetDefinition());
}
+ }
if (index >= 0)
tmpDef.RemoveAt(index);
}
+ AppendNameChange(sql);
+ AppendOwnerChange(sql);
+
for (index=0 ; index < (int)tmpDef.GetCount() ; index++)
{
definition = tmpDef.Item(index);
@@ -604,7 +607,11 @@
col.CenterOnParent();
col.SetDatabase(database);
if (col.Go(true) >= 0)
- lstColumns->AppendItem(PGICON_COLUMN, col.GetName(), col.GetDefinition());
+ {
+ long pos = lstColumns->AppendItem(PGICON_COLUMN, col.GetName(), col.GetDefinition());
+ if (table && !connection->BackendMinimumVersion(8, 0))
+ lstColumns->SetItem(pos, 3, col.GetSql());
+ }
CheckChange();
}
Index: ctlSQLBox.cpp
===================================================================
RCS file: /projects/pgadmin3/src/ui/ctlSQLBox.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -Lsrc/ui/ctlSQLBox.cpp -Lsrc/ui/ctlSQLBox.cpp -u -w -r1.23 -r1.24
--- src/ui/ctlSQLBox.cpp
+++ src/ui/ctlSQLBox.cpp
@@ -21,20 +21,7 @@
#include "menu.h"
-// Maximum string length exceeded for VC6...
-const wxString keywords1=
- wxT("ABORT ADD AGGREGATE ALL ALTER ANALYZE AND AS ASC ASCENDING AUTHORIZATION BEGIN BY ")
- wxT("CASCADE CASE CAST CHECK CHECKPOINT CLASS CLOSE CLUSTER COLUMN COMMENT COMMIT CONVERSION CONSTRAINT COPY CREATE CURSOR ")
- wxT("DATABASE DEALLOCATE DECLARE DEFAULT DELETE DESC DESCENDING DO DOMAIN DROP EACH ELSE END EXPLAIN ")
- wxT("FETCH FOR FOREIGN FREEZE FROM FULL FUNCTION GRANT GROUP ");
-
-const wxString keywords2=
- wxT("HAVING ILIKE IMMUTABLE IMPLICIT IN INDEX INHERITS INNER INSERT INSTEAD INTO IS JOIN KEY LANGUAGE LIKE LISTEN LOAD LOCK MOVE NO NOT NOTHING NOTIFY NULL ")
- wxT("OFF OIDS ON OPERATOR OPTION OR ORDER OUTER PLAIN PREPARE PRIMARY PROCEDURE REINDEX REFERENCES RENAME REPLACE RESET RESTART RESTRICT RETURN RETURNS REVOKE ROLLBACK ROW RULE ")
- wxT("SCHEMA SELECT SET SEQUENCE SESSION SHOW STABLE STATEMENT STORAGE STRICT TABLE THEN TO TRIGGER TRUNCATE TYPE ")
- wxT("UNION UNIQUE UNLISTEN UPDATE USER USING VACUUM VALUE VALUES VIEW VOLATILE WHEN WHERE WITH WITHOUT");
-
-wxString SQL_KEYWORDS= keywords1+keywords2;
+wxString ctlSQLBox::sqlKeywords;
#if 0
@@ -365,8 +352,10 @@
// SQL Lexer and keywords.
// SetLexer(lmPostgreSQL.GetLanguage());
+ if (sqlKeywords.IsEmpty())
+ FillKeywords(sqlKeywords);
SetLexer(wxSTC_LEX_SQL);
- SetKeyWords(0, SQL_KEYWORDS.MakeLower());
+ SetKeyWords(0, sqlKeywords);
wxAcceleratorEntry entries[1];
entries[0].Set(wxACCEL_CTRL, (int)'F', MNU_FIND);
Index: wxstd.po
===================================================================
RCS file: /projects/pgadmin3/src/ui/af_ZA/wxstd.po,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lsrc/ui/af_ZA/wxstd.po -Lsrc/ui/af_ZA/wxstd.po -u -w -r1.1 -r1.2
--- src/ui/af_ZA/wxstd.po
+++ src/ui/af_ZA/wxstd.po
@@ -2,7 +2,7 @@
msgstr ""
"Project-Id-Version: wxWidgets-2.5.2\n"
"POT-Creation-Date: 2004-05-07 14:03+0200\n"
-"PO-Revision-Date: 2004-09-15 11:52+0100\n"
+"PO-Revision-Date: 2004-09-28 13:43+0100\n"
"Last-Translator: <>\n"
"Language-Team: wxWidgets translators \n"
"MIME-Version: 1.0\n"
@@ -76,9 +76,9 @@
msgstr "%s Waarskuwing"
#: ../src/common/fldlgcmn.cpp:74
-#, fuzzy, c-format
+#, c-format
msgid "%s files (%s)|%s"
-msgstr "Lêers (%s)|%s"
+msgstr "%s lêers (%s)|%s"
#: ../src/common/msgout.cpp:188
#, c-format
@@ -122,9 +122,8 @@
msgstr "&Besonderhede"
#: ../src/html/helpfrm.cpp:276
-#, fuzzy
msgid "&File"
-msgstr "Lêer"
+msgstr "&Lêer"
#: ../src/generic/fdrepdlg.cpp:162
msgid "&Find"
@@ -288,7 +287,7 @@
#: ../src/html/helpfrm.cpp:944
#: ../src/html/helpfrm.cpp:1572
msgid "(bookmarks)"
-msgstr "(favorieten)"
+msgstr "(gunstelinge)"
#: ../src/generic/dirctrlg.cpp:679
#: ../src/generic/filedlgg.cpp:732
@@ -429,9 +428,9 @@
msgstr "Alles"
#: ../src/common/fldlgcmn.cpp:57
-#, fuzzy, c-format
+#, c-format
msgid "All files (%s)|%s"
-msgstr "Alle lêers (*)|*"
+msgstr "Alle lêers (%s)|%s"
#: ../include/wx/defs.h:1975
msgid "All files (*)|*"
@@ -701,9 +700,9 @@
msgstr "Kan registersleutel '%s' nie open nie"
#: ../src/common/zstream.cpp:166
-#, fuzzy, c-format
+#, c-format
msgid "Can't read from inflate stream: %s"
-msgstr "kan nie lees van opblaasstroom lees nie %s\n"
+msgstr "Kan nie van opblaasstroom lees nie: %s"
#: ../src/common/zstream.cpp:159
msgid "Can't read inflate stream: unexpected EOF in underlying stream."
@@ -742,9 +741,9 @@
msgstr "Kan waarde van '%s' nie verstel nie"
#: ../src/common/zstream.cpp:316
-#, fuzzy, c-format
+#, c-format
msgid "Can't write to deflate stream: %s"
-msgstr "Kan nie skryf na afblaasstroom nie: %s\n"
+msgstr "Kan nie skryf na afblaasstroom nie: %s"
#: ../src/common/dlgcmn.cpp:240
#: ../src/generic/dirdlgg.cpp:155
@@ -973,7 +972,7 @@
#: ../src/common/strconv.cpp:947
#, c-format
msgid "Conversion to charset '%s' doesn't work."
-msgstr "Omskakeling na na karakterstel '%s' werk nie."
+msgstr "Omskakeling na karakterstel '%s' werk nie."
#: ../src/html/htmlwin.cpp:782
#, c-format
@@ -1761,7 +1760,7 @@
#: ../src/common/dlgcmn.cpp:224
msgid "Forward"
-msgstr "Voorentoe"
+msgstr "Vorentoe"
#: ../src/common/xtixml.cpp:235
msgid "Forward hrefs are not supported"
@@ -2070,9 +2069,8 @@
msgstr "KOI8-R"
#: ../src/common/fmapbase.cpp:119
-#, fuzzy
msgid "KOI8-U"
-msgstr "KOI8-R"
+msgstr "KOI8-U"
#: ../src/generic/prntdlgg.cpp:428
#: ../src/generic/prntdlgg.cpp:638
@@ -2319,7 +2317,7 @@
#: ../src/gtk/fontdlg.cpp:141
#: ../src/html/helpfrm.cpp:1073
msgid "OK"
-msgstr "OK"
+msgstr "Goed"
#: ../src/common/xtixml.cpp:263
msgid "Objects must have an id attribute"
@@ -2839,7 +2837,7 @@
#: ../src/generic/fontdlgg.cpp:224
msgid "Swiss"
-msgstr "Swiss"
+msgstr "Switsers"
#: ../src/common/imagtiff.cpp:232
#: ../src/common/imagtiff.cpp:243
Index: misc.cpp
===================================================================
RCS file: /projects/pgadmin3/src/utils/misc.cpp,v
retrieving revision 1.59
retrieving revision 1.60
diff -Lsrc/utils/misc.cpp -Lsrc/utils/misc.cpp -u -w -r1.59 -r1.60
--- src/utils/misc.cpp
+++ src/utils/misc.cpp
@@ -250,6 +250,21 @@
}
+void FillKeywords(wxString &str)
+{
+ // unfortunately, the keyword list is static.
+ // If the first or the last word change, these both need to get updated.
+ const ScanKeyword *keyword=ScanKeywordLookup("abort");
+ const ScanKeyword *last=ScanKeywordLookup("zone");
+
+ wxASSERT(keyword && last);
+
+ str = wxString::FromAscii(keyword->name);
+
+ while (keyword++ < last)
+ str += wxT(" ") + wxString::FromAscii(keyword->name);
+}
+
static bool needsQuoting(wxString& value, bool forTypes)
{