From: <da...@us...> - 2006-03-01 16:55:42
|
Revision: 1908 Author: dandfra Date: 2006-03-01 08:55:26 -0800 (Wed, 01 Mar 2006) ViewCVS: http://svn.sourceforge.net/tora/?rev=1908&view=rev Log Message: ----------- Autocompletion prima parte Modified Paths: -------------- trunk/tora/toeditextensions.cpp trunk/tora/toeditextensions.h trunk/tora/tohighlightedtext.cpp trunk/tora/tohighlightedtext.h trunk/tora/utils.h Modified: trunk/tora/toeditextensions.cpp =================================================================== --- trunk/tora/toeditextensions.cpp 2006-03-01 02:34:46 UTC (rev 1907) +++ trunk/tora/toeditextensions.cpp 2006-03-01 16:55:26 UTC (rev 1908) @@ -73,6 +73,7 @@ static int UpperCase; static int LowerCase; static int GotoLine; +static int AutoComplete; #define CONF_EXPAND_SPACES "ExpandSpaces" #define CONF_COMMA_BEFORE "CommaBefore" @@ -114,8 +115,19 @@ IndentButton->setEnabled(enable); if (DeindentButton) DeindentButton->setEnabled(enable); + toHighlightedText * cur=dynamic_cast<toHighlightedText *>(widget); + toMainWidget()->editMenu()->setItemEnabled(AutoComplete, cur); } +void toEditExtensions::autoComplete(){ + toHighlightedText *cur=dynamic_cast<toHighlightedText *>(Current); + if(cur) + cur->autoCompleteFromAPIs(); + else{ + TO_DEBUGOUT("cur null"); + } +} + void toEditExtensions::lostFocus(toEditWidget *widget) { if (widget) @@ -528,6 +540,8 @@ GotoLine = toMainWidget()->editMenu()->insertItem(qApp->translate("toEditExtensionTool", "Goto Line"), &EditExtensions, SLOT(gotoLine())); + AutoComplete=toMainWidget()->editMenu()->insertItem(qApp->translate("toEditExtensionTool", "Complete"),&EditExtensions,SLOT(autoComplete()),toKeySequence(qApp->translate("toEditExtensionTool", "Ctrl+Space","Edit|Complete"))); + IndentButton = new QToolButton(QPixmap(const_cast<const char**>(indent_xpm)), qApp->translate("toEditExtensionTool", "Indent block in editor"), qApp->translate("toEditExtensionTool", "Indent block in editor"), Modified: trunk/tora/toeditextensions.h =================================================================== --- trunk/tora/toeditextensions.h 2006-03-01 02:34:46 UTC (rev 1907) +++ trunk/tora/toeditextensions.h 2006-03-01 16:55:26 UTC (rev 1908) @@ -77,6 +77,8 @@ void lowerCase(void); void gotoLine(void); + + void autoComplete(void); }; class toEditExtensionGoto : public toEditExtensionGotoUI Modified: trunk/tora/tohighlightedtext.cpp =================================================================== --- trunk/tora/tohighlightedtext.cpp 2006-03-01 02:34:46 UTC (rev 1907) +++ trunk/tora/tohighlightedtext.cpp 2006-03-01 16:55:26 UTC (rev 1908) @@ -57,6 +57,7 @@ #include <qnamespace.h> #include <qextscintillalexersql.h> +#include <qpoint.h> #include "todefaultkeywords.h" @@ -290,25 +291,35 @@ setMarkerBackgroundColor(Qt::red,errorMarker); debugMarker=markerDefine(Rectangle,8); setMarkerBackgroundColor(Qt::darkGreen,debugMarker); - setMarkerBackgroundColor(Qt::red,errorMarker); setMarginMarkerMask(1,0); + setAutoCompletionReplaceWord(true); setAutoIndent(true); connect(this,SIGNAL(cursorPositionChanged(int,int)),this,SLOT(setStatusMessage(void ))); complAPI=new QextScintillaAPIs(); connect (this,SIGNAL(cursorPositionChanged(int,int)),this,SLOT(positionChanged(int,int))); - this->SendScintilla(QextScintillaBase::SCI_AUTOCSETSEPARATOR,'!'); + timer=new QTimer(this); + connect( timer, SIGNAL(timeout()), this, SLOT(autoCompleteFromAPIs()) ); + popup=new QListBox(0,"popup",Qt::WType_Popup|Qt::WStyle_NoBorder|Qt::WStyle_Customize); + popup->hide(); + connect(popup,SIGNAL(clicked(QListBoxItem*)),this,SLOT(completeFromAPI(QListBoxItem*))); + connect(popup,SIGNAL(returnPressed(QListBoxItem*)),this,SLOT(completeFromAPI(QListBoxItem*))); } toHighlightedText::~toHighlightedText() { if(complAPI) delete complAPI; + if(popup) + delete popup; } void toHighlightedText::positionChanged(int row, int col){ - /*if (col>0 && this->text(row)[col-1]=='.'){ - this->autoCompleteFromAPIs(); - }*/ + if (col>0 && this->text(row)[col-1]=='.'){ + timer->start(500,true); + }else{ + if(timer->isActive()) + timer->stop(); + } } static QString UpperIdent(const QString &str){ @@ -319,84 +330,23 @@ } void toHighlightedText::autoCompleteFromAPIs(){ - complAPI->clear(); - int curline, curcol; - getCursorPosition (&curline, &curcol); - - QString line = text(curline); - - if (!isReadOnly() && curcol >= 0 && line[curcol-1] == '.'){ - //if (!hasSelectedText()) - // return ; - if (toTool::globalConfig(CONF_CODE_COMPLETION, "Yes").isEmpty()) - return ; - - toSQLParse::editorTokenizer tokens(this, curcol, curline); - QString name = tokens.getToken(false); - QString owner; - if (name == ".") - name = tokens.getToken(false); - - QString token = tokens.getToken(false); - if (token == ".") - owner = tokens.getToken(false); - else{ - QString cmp = UpperIdent(name); - QString lastToken; - while ((invalidToken(tokens.line(), tokens.offset() + token.length()) || UpperIdent(token) != cmp || lastToken == ".") && token != ";" && !token.isEmpty()){ - lastToken = token; - token = tokens.getToken(false); - } - - if(token == ";" || token.isEmpty()){ - tokens.setLine(curline); - tokens.setOffset(curcol); - token = tokens.getToken(); - while ((invalidToken(tokens.line(), tokens.offset()) || UpperIdent(token) != cmp && lastToken != ".") && token != ";" && !token.isEmpty()) - token = tokens.getToken(); - lastToken = token; - tokens.getToken(false); - } - if(token != ";" && !token.isEmpty()){ - token = tokens.getToken(false); - if (token != "TABLE" && token != "UPDATE" && token != "FROM" && token != "INTO" && (toIsIdent(token[0]) || token[0] == '\"')){ - name = token; - token = tokens.getToken(false); - if (token == ".") - owner = tokens.getToken(false); - }else if (token == ")"){ - return ; - } - } - } - if (!owner.isEmpty()){ - name = owner + QString::fromLatin1(".") + name; - } - if (!name.isEmpty()){ - try{ - toConnection &conn = toCurrentConnection(this); - toQDescList &desc = conn.columns(conn.realName(name, false)); - for (toQDescList::iterator i = desc.begin();i != desc.end();i++){ - QString t; - int ind = (*i).Name.find("("); - if (ind < 0) - ind = (*i).Name.find("RETURNING") - 1; //it could be a function or procedure without parameters. -1 to remove the space - if (ind >= 0) - t = conn.quote((*i).Name.mid(0, ind)) + (*i).Name.mid(ind); - else - t = conn.quote((*i).Name); - /*if (!(*i).Comment.isEmpty()){ - t += QString::fromLatin1(" - "); - t += (*i).Comment; - } - t+="!";*/ - complAPI->add(t); - } - this->setAutoCompletionAPIs(complAPI); - this->setCallTipsAPIs(complAPI); - QextScintilla::autoCompleteFromAPIs(); - }catch (...){} - } + QStringList compleList=this->getCompletionList(); + if(!compleList.isEmpty()){ + long position, posx, posy; + int curCol, curRow; + this->getCursorPosition(&curRow,&curCol); + position=this->SendScintilla(SCI_GETCURRENTPOS); + posx=this->SendScintilla(SCI_POINTXFROMPOSITION,0,position); + posy=this->SendScintilla(SCI_POINTYFROMPOSITION,0,position)+ + this->SendScintilla(SCI_TEXTHEIGHT,curRow); + QPoint p(posx,posy); + p=this->mapToGlobal(p); + popup->move(p); + popup->clear(); + popup->insertStringList(compleList); + popup->show(); + }else{ + popup->hide(); } } @@ -580,3 +530,110 @@ else toStatusMessage((*err).second, true); } + +QStringList toHighlightedText::getCompletionList(){ + int curline, curcol; + QStringList toReturn; + getCursorPosition (&curline, &curcol); + + QString line = text(curline); + + if (!isReadOnly() && curcol >= 0){ + if (toTool::globalConfig(CONF_CODE_COMPLETION, "Yes").isEmpty()) + return toReturn; + + toSQLParse::editorTokenizer tokens(this, curcol, curline); + QString partial; + if (line[curcol-1]!='.'){ + partial=tokens.getToken(false); + }else{ + partial=""; + } + + QString name = tokens.getToken(false); + QString owner; + if (name == "."){ + name = tokens.getToken(false); + } + + QString token = tokens.getToken(false); + if (token == ".") + owner = tokens.getToken(false); + else{ + QString cmp = UpperIdent(name); + QString lastToken; + while ((invalidToken(tokens.line(), tokens.offset() + token.length()) || UpperIdent(token) != cmp || lastToken == ".") && token != ";" && !token.isEmpty()){ + lastToken = token; + token = tokens.getToken(false); + } + + if(token == ";" || token.isEmpty()){ + tokens.setLine(curline); + tokens.setOffset(curcol); + token = tokens.getToken(); + while ((invalidToken(tokens.line(), tokens.offset()) || UpperIdent(token) != cmp && lastToken != ".") && token != ";" && !token.isEmpty()) + token = tokens.getToken(); + lastToken = token; + tokens.getToken(false); + } + if(token != ";" && !token.isEmpty()){ + token = tokens.getToken(false); + if (token != "TABLE" && token != "UPDATE" && token != "FROM" && token != "INTO" && (toIsIdent(token[0]) || token[0] == '\"')){ + name = token; + token = tokens.getToken(false); + if (token == ".") + owner = tokens.getToken(false); + }else if (token == ")"){ + return toReturn; + } + } + } + if (!owner.isEmpty()){ + name = owner + QString::fromLatin1(".") + name; + } + if (!name.isEmpty()){ + try{ + toConnection &conn = toCurrentConnection(this); + toQDescList &desc = conn.columns(conn.realName(name, false)); + for (toQDescList::iterator i = desc.begin();i != desc.end();i++){ + QString t; + int ind = (*i).Name.find("("); + if (ind < 0) + ind = (*i).Name.find("RETURNING") - 1; //it could be a function or procedure without parameters. -1 to remove the space + if (ind >= 0) + t = conn.quote((*i).Name.mid(0, ind)) + (*i).Name.mid(ind); + else + t = conn.quote((*i).Name); + if (t.find(partial)==0) + toReturn.append(t); + } + }catch (...){} + } + } + toReturn.sort(); + return toReturn; +} + +void toHighlightedText::completeFromAPI(QListBoxItem* item){ + if(item){ + int curline, curcol, start,end; + getCursorPosition (&curline, &curcol); + QString line = text(curline); + toSQLParse::editorTokenizer tokens(this, curcol, curline); + if (line[curcol-1]!='.'){ + tokens.getToken(false); + start=tokens.offset(); + }else{ + start=curcol; + } + tokens.getToken(true); + end=tokens.offset(); + disconnect(this,SIGNAL(cursorPositionChanged(int,int)),this,SLOT(positionChanged(int,int))); + setSelection(curline,start,curline,end); + this->removeSelectedText(); + this->insert(item->text()); + this->setCursorPosition(curline,start+item->text().length()); + connect (this,SIGNAL(cursorPositionChanged(int,int)),this,SLOT(positionChanged(int,int))); + } + popup->hide(); +} Modified: trunk/tora/tohighlightedtext.h =================================================================== --- trunk/tora/tohighlightedtext.h 2006-03-01 02:34:46 UTC (rev 1907) +++ trunk/tora/tohighlightedtext.h 2006-03-01 16:55:26 UTC (rev 1908) @@ -47,8 +47,11 @@ #include <list> #include <map> +#include <qtimer.h> +#include <qstringlist.h> class QListBox; +class QListBoxItem; class QPainter; class toSyntaxSetup; @@ -231,9 +234,11 @@ */ std::map<int, QString> Errors; QextScintillaAPIs* complAPI; + QTimer* timer; protected: int debugMarker; int errorMarker; + QListBox* popup; public: @@ -344,6 +349,10 @@ */ void tableAtCursor(QString &owner, QString &table, bool highlight = false); +protected: + QStringList getCompletionList(); + + private: bool invalidToken(int line, int col); @@ -362,6 +371,8 @@ void positionChanged(int row, int col); + virtual void completeFromAPI(QListBoxItem * item); + private slots: void setStatusMessage(void); }; Modified: trunk/tora/utils.h =================================================================== --- trunk/tora/utils.h 2006-03-01 02:34:46 UTC (rev 1907) +++ trunk/tora/utils.h 2006-03-01 16:55:26 UTC (rev 1908) @@ -69,6 +69,15 @@ # endif #endif +#define TO_DEBUG +#ifdef TO_DEBUG +#include <stdio.h> +static FILE* toraLog=NULL; +#define TO_DEBUGOUT(x) if(!toraLog) toraLog=fopen("C:\\Temp\\tora.log","a"); fprintf(toraLog,"%s\n",(const char *)x);fflush(toraLog); +#else +#define TO_DEBUGOUT(x) +#endif + #if 0 /** * The class to use for a printer object. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <da...@us...> - 2006-03-03 12:02:40
|
Revision: 1913 Author: dandfra Date: 2006-03-03 04:02:20 -0800 (Fri, 03 Mar 2006) ViewCVS: http://svn.sourceforge.net/tora/?rev=1913&view=rev Log Message: ----------- autocompletion second step + fix for bug #1437575 Modified Paths: -------------- trunk/tora/NEWS trunk/tora/otlv4.h trunk/tora/tohighlightedtext.cpp trunk/tora/tohighlightedtext.h trunk/tora/windows/config.h Modified: trunk/tora/NEWS =================================================================== --- trunk/tora/NEWS 2006-03-02 20:15:55 UTC (rev 1912) +++ trunk/tora/NEWS 2006-03-03 12:02:20 UTC (rev 1913) @@ -1,5 +1,8 @@ 1.3.22cvs: 2006-03-01: Autocompletion first step +2006-03-03: Autocompletion second step +2006-03-03: Fixed bug #1437575 +2006-03-03: update to version 1.3.22svn the windows client too 1.3.21: Modified: trunk/tora/otlv4.h =================================================================== --- trunk/tora/otlv4.h 2006-03-02 20:15:55 UTC (rev 1912) +++ trunk/tora/otlv4.h 2006-03-03 12:02:20 UTC (rev 1913) @@ -1,5 +1,5 @@ // ============================================================== -// Oracle, ODBC and DB2/CLI Template Library, Version 4.0.129, +// Oracle, ODBC and DB2/CLI Template Library, Version 4.0.131, // Copyright (C) Sergei Kuchin, 1996,2006 // Author: Sergei Kuchin // This library is free software. Permission to use, copy, @@ -15,7 +15,7 @@ #include "otl_include_0.h" #endif -#define OTL_VERSION_NUMBER (0x040081L) +#define OTL_VERSION_NUMBER (0x040083L) #if defined(_MSC_VER) #if (_MSC_VER >= 1400) @@ -17468,6 +17468,8 @@ const int inTimestamp=SQLT_TIMESTAMP; const int inTimestamp_TZ=SQLT_TIMESTAMP_TZ; const int inTimestamp_LTZ=SQLT_TIMESTAMP_LTZ; +const int inIntervalYM=SQLT_INTERVAL_YM; +const int inIntervalDS=SQLT_INTERVAL_DS; #endif const int extVarChar2=1; @@ -19000,6 +19002,8 @@ case inTimestamp:return extTimestamp; case inTimestamp_TZ:return extTimestamp_TZ; case inTimestamp_LTZ:return extTimestamp_LTZ; + case inIntervalYM:return extCChar; + case inIntervalDS:return extCChar; #else case inDate: return extDate; #endif @@ -19022,6 +19026,12 @@ switch(aftype){ case extCChar: switch(int_type){ +#if defined(OTL_ORA_TIMESTAMP) + case inIntervalYM: + return 30; + case inIntervalDS: + return 30; +#endif case inRowId: return 30; case inDate: @@ -19485,9 +19495,9 @@ if(ftype==otl_var_varchar_long) v.unicode_var_len=elem_size-sizeof(sb4); else{ -#if defined(OTL_ORA8I) || defined(OTL_ORA9I) - if(var_elem_size>4000) - v.unicode_var_len=4000; +#if defined(OTL_ORA_MAX_UNICODE_VARCHAR_SIZE) + if(var_elem_size>OTL_ORA_MAX_UNICODE_VARCHAR_SIZE) + v.unicode_var_len=OTL_ORA_MAX_UNICODE_VARCHAR_SIZE; else v.unicode_var_len=var_elem_size; #else @@ -20851,8 +20861,10 @@ virtual otl_read_stream_interface& operator>>(otl_datetime& s) OTL_THROWS_OTL_EXCEPTION = 0; +#if !defined(OTL_UNICODE) virtual otl_read_stream_interface& operator>>(char& c) OTL_THROWS_OTL_EXCEPTION = 0; +#endif virtual otl_read_stream_interface& operator>>(unsigned char& c) OTL_THROWS_OTL_EXCEPTION = 0; @@ -20867,8 +20879,10 @@ operator>>(OTL_UNICODE_STRING_TYPE& s) OTL_THROWS_OTL_EXCEPTION = 0; #endif +#if !defined(OTL_UNICODE) virtual otl_read_stream_interface& operator>>(char* s) OTL_THROWS_OTL_EXCEPTION = 0; +#endif virtual otl_read_stream_interface& operator>>(unsigned char* s) OTL_THROWS_OTL_EXCEPTION = 0; Modified: trunk/tora/tohighlightedtext.cpp =================================================================== --- trunk/tora/tohighlightedtext.cpp 2006-03-02 20:15:55 UTC (rev 1912) +++ trunk/tora/tohighlightedtext.cpp 2006-03-03 12:02:20 UTC (rev 1913) @@ -46,7 +46,6 @@ #include <ctype.h> #include <qapplication.h> -#include <qlistbox.h> #include <qpainter.h> #include <qpalette.h> #include <qsimplerichtext.h> @@ -66,8 +65,6 @@ // Default SQL lexer static QextScintillaLexerSQL sqlLexer(0); - - toSyntaxAnalyzer::toSyntaxAnalyzer(const char **keywords) { for (int i = 0;keywords[i];i++) @@ -269,7 +266,36 @@ return false; } +toComplPopup::toComplPopup(toHighlightedText* edit) + :QListBox(0,"popup",Qt::WType_Popup|Qt::WStyle_NoBorder|Qt::WStyle_Customize){ + this->editor=edit; +} +toComplPopup::~toComplPopup(){ +} + + +void toComplPopup::keyPressEvent(QKeyEvent * e){ + if ((e->text() && e->text().length()>0 +#ifdef WIN32 + && e->text()!="\r" +#else + && e->text()!="\n" +#endif + ) || e->key()==Qt::Key_Backspace){ + if ( e->key()==Qt::Key_Backspace){ + TO_DEBUGOUT("Backspace"); + }else{ + TO_DEBUGOUT(e->text()); + } + this->editor->keyPressEvent(e); + this->editor->autoCompleteFromAPIs(); + }else + QListBox::keyPressEvent(e); + +} + + toHighlightedText::toHighlightedText(QWidget *parent, const char *name) : toMarkedText(parent, name), lexer(0), syntaxColoring(false) { @@ -299,7 +325,7 @@ connect (this,SIGNAL(cursorPositionChanged(int,int)),this,SLOT(positionChanged(int,int))); timer=new QTimer(this); connect( timer, SIGNAL(timeout()), this, SLOT(autoCompleteFromAPIs()) ); - popup=new QListBox(0,"popup",Qt::WType_Popup|Qt::WStyle_NoBorder|Qt::WStyle_Customize); + popup=new toComplPopup(this); popup->hide(); connect(popup,SIGNAL(clicked(QListBoxItem*)),this,SLOT(completeFromAPI(QListBoxItem*))); connect(popup,SIGNAL(returnPressed(QListBoxItem*)),this,SLOT(completeFromAPI(QListBoxItem*))); @@ -330,8 +356,9 @@ } void toHighlightedText::autoCompleteFromAPIs(){ - QStringList compleList=this->getCompletionList(); - if(!compleList.isEmpty()){ + QString partial; + QStringList compleList=this->getCompletionList(&partial); + if(!compleList.isEmpty() || popup->isVisible()){ long position, posx, posy; int curCol, curRow; this->getCursorPosition(&curRow,&curCol); @@ -344,6 +371,16 @@ popup->move(p); popup->clear(); popup->insertStringList(compleList); + if(partial && partial.length()>0){ + int i; + for(i=0;i<popup->numRows();i++){ + if(popup->item(i)->text().find(partial)==0){ + popup->setSelected(i,true); + exit; + } + } + + } popup->show(); }else{ popup->hide(); @@ -531,7 +568,7 @@ toStatusMessage((*err).second, true); } -QStringList toHighlightedText::getCompletionList(){ +QStringList toHighlightedText::getCompletionList(QString* partial){ int curline, curcol; QStringList toReturn; getCursorPosition (&curline, &curcol); @@ -543,11 +580,10 @@ return toReturn; toSQLParse::editorTokenizer tokens(this, curcol, curline); - QString partial; if (line[curcol-1]!='.'){ - partial=tokens.getToken(false); + *partial=tokens.getToken(false); }else{ - partial=""; + *partial=""; } QString name = tokens.getToken(false); @@ -604,7 +640,7 @@ t = conn.quote((*i).Name.mid(0, ind)) + (*i).Name.mid(ind); else t = conn.quote((*i).Name); - if (t.find(partial)==0) + if (t.find(*partial)==0) toReturn.append(t); } }catch (...){} Modified: trunk/tora/tohighlightedtext.h =================================================================== --- trunk/tora/tohighlightedtext.h 2006-03-02 20:15:55 UTC (rev 1912) +++ trunk/tora/tohighlightedtext.h 2006-03-03 12:02:20 UTC (rev 1913) @@ -49,11 +49,12 @@ #include <map> #include <qtimer.h> #include <qstringlist.h> +#include <qlistbox.h> -class QListBox; class QListBoxItem; class QPainter; class toSyntaxSetup; +class toHighlightedText; /** This class implements a syntax parser to provide information to * a syntax highlighted editor. @@ -212,7 +213,15 @@ static toSyntaxAnalyzer &defaultAnalyzer(); }; - +class toComplPopup : public QListBox { + private: + toHighlightedText* editor; + public: + toComplPopup(toHighlightedText* high); + virtual ~toComplPopup(); + protected: + virtual void keyPressEvent(QKeyEvent * e ); +}; /** * A simple editor which supports syntax highlighting. * @@ -238,9 +247,10 @@ protected: int debugMarker; int errorMarker; - QListBox* popup; + toComplPopup* popup; public: + friend class toComplPopup; /** Create a new editor. * @param parent Parent of widget. @@ -350,7 +360,7 @@ void tableAtCursor(QString &owner, QString &table, bool highlight = false); protected: - QStringList getCompletionList(); + QStringList getCompletionList(QString* partial); private: Modified: trunk/tora/windows/config.h =================================================================== --- trunk/tora/windows/config.h 2006-03-02 20:15:55 UTC (rev 1912) +++ trunk/tora/windows/config.h 2006-03-03 12:02:20 UTC (rev 1913) @@ -241,7 +241,7 @@ /* #undef TO_NO_ORACLE */ /* Version number of package */ -#define TOVERSION "1.3.18" +#define TOVERSION "1.3.22svn" /* Define to 1 if the X Window System is missing or not being used. */ /* #undef X_DISPLAY_MISSING */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <da...@us...> - 2006-03-07 15:20:10
|
Revision: 1916 Author: dandfra Date: 2006-03-07 07:19:49 -0800 (Tue, 07 Mar 2006) ViewCVS: http://svn.sourceforge.net/tora/?rev=1916&view=rev Log Message: ----------- fixed some autocompletion bug Modified Paths: -------------- trunk/tora/NEWS trunk/tora/tohighlightedtext.cpp trunk/tora/tohighlightedtext.h Modified: trunk/tora/NEWS =================================================================== --- trunk/tora/NEWS 2006-03-05 19:38:39 UTC (rev 1915) +++ trunk/tora/NEWS 2006-03-07 15:19:49 UTC (rev 1916) @@ -3,6 +3,7 @@ 2006-03-03: Autocompletion second step 2006-03-03: Fixed bug #1437575 2006-03-03: update to version 1.3.22svn the windows client too +2006-03-07: fixed some bug with completion 1.3.21: Modified: trunk/tora/tohighlightedtext.cpp =================================================================== --- trunk/tora/tohighlightedtext.cpp 2006-03-05 19:38:39 UTC (rev 1915) +++ trunk/tora/tohighlightedtext.cpp 2006-03-07 15:19:49 UTC (rev 1916) @@ -282,7 +282,7 @@ #else && e->text()!="\n" #endif - ) || e->key()==Qt::Key_Backspace){ + && e->text()!=" ") || e->key()==Qt::Key_Backspace){ if ( e->key()==Qt::Key_Backspace){ TO_DEBUGOUT("Backspace"); }else{ @@ -290,6 +290,9 @@ } this->editor->keyPressEvent(e); this->editor->autoCompleteFromAPIs(); + }else if (e->text() && e->text().length()>0 && e->text()==" "){ + this->editor->keyPressEvent(e); + this->hide(); }else QListBox::keyPressEvent(e); @@ -318,7 +321,6 @@ debugMarker=markerDefine(Rectangle,8); setMarkerBackgroundColor(Qt::darkGreen,debugMarker); setMarginMarkerMask(1,0); - setAutoCompletionReplaceWord(true); setAutoIndent(true); connect(this,SIGNAL(cursorPositionChanged(int,int)),this,SLOT(setStatusMessage(void ))); complAPI=new QextScintillaAPIs(); @@ -358,7 +360,11 @@ void toHighlightedText::autoCompleteFromAPIs(){ QString partial; QStringList compleList=this->getCompletionList(&partial); - if(!compleList.isEmpty() || popup->isVisible()){ + if(compleList.count()==1 && compleList.first()==partial){ + this->completeWithText(compleList.first()); + if(popup->isVisible()) + popup->hide(); + }else if(!compleList.isEmpty() || popup->isVisible()){ long position, posx, posy; int curCol, curRow; this->getCursorPosition(&curRow,&curCol); @@ -650,26 +656,38 @@ return toReturn; } +void toHighlightedText::completeWithText(QString itemText){ + int curline, curcol, start,end; + getCursorPosition (&curline, &curcol); + QString line = text(curline); + toSQLParse::editorTokenizer tokens(this, curcol, curline); + if (line[curcol-1]!='.'){ + tokens.getToken(false); + start=tokens.offset(); + }else{ + start=curcol; + } + if(line[curcol].isSpace()){ + end=curcol; + }else{ + tokens.getToken(true); + if(tokens.line()!=curline) + end=line.length(); + else + end=tokens.offset(); + } + disconnect(this,SIGNAL(cursorPositionChanged(int,int)),this,SLOT(positionChanged(int,int))); + setSelection(curline,start,curline,end); + this->removeSelectedText(); + this->insert(itemText); + this->setCursorPosition(curline,start+itemText.length()); + connect (this,SIGNAL(cursorPositionChanged(int,int)),this,SLOT(positionChanged(int,int))); +} + + void toHighlightedText::completeFromAPI(QListBoxItem* item){ if(item){ - int curline, curcol, start,end; - getCursorPosition (&curline, &curcol); - QString line = text(curline); - toSQLParse::editorTokenizer tokens(this, curcol, curline); - if (line[curcol-1]!='.'){ - tokens.getToken(false); - start=tokens.offset(); - }else{ - start=curcol; - } - tokens.getToken(true); - end=tokens.offset(); - disconnect(this,SIGNAL(cursorPositionChanged(int,int)),this,SLOT(positionChanged(int,int))); - setSelection(curline,start,curline,end); - this->removeSelectedText(); - this->insert(item->text()); - this->setCursorPosition(curline,start+item->text().length()); - connect (this,SIGNAL(cursorPositionChanged(int,int)),this,SLOT(positionChanged(int,int))); + this->completeWithText(item->text()); } popup->hide(); } Modified: trunk/tora/tohighlightedtext.h =================================================================== --- trunk/tora/tohighlightedtext.h 2006-03-05 19:38:39 UTC (rev 1915) +++ trunk/tora/tohighlightedtext.h 2006-03-07 15:19:49 UTC (rev 1916) @@ -361,6 +361,7 @@ protected: QStringList getCompletionList(QString* partial); + void completeWithText(QString itemText); private: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <da...@us...> - 2006-03-08 13:00:43
|
Revision: 1961 Author: dalex Date: 2006-03-08 05:00:31 -0800 (Wed, 08 Mar 2006) ViewCVS: http://svn.sourceforge.net/tora/?rev=1961&view=rev Log Message: ----------- updated build system to the new structure Modified Paths: -------------- trunk/tora/Makefile.mingw trunk/tora/README.WINDOWS Modified: trunk/tora/Makefile.mingw =================================================================== --- trunk/tora/Makefile.mingw 2006-03-07 21:20:58 UTC (rev 1960) +++ trunk/tora/Makefile.mingw 2006-03-08 13:00:31 UTC (rev 1961) @@ -48,13 +48,17 @@ # Where to create installation bundle INSTALLDIR=/c/TOra +# OTL is now in external directory +OTL_DIR=../ext/otl + # What to compile, can be tora for tora-mono for monolithic, tora-static for static version # (for Windows build these targets seems to have no difference so they better left default) TARGET=tora # Additional includes needed to compile program INCLUDES="-I$(OCI_HOME)/include" \ - "-I$(QTDIR)/include" + "-I$(QTDIR)/include" \ + "-I$(OTL_DIR)" # C++ Compiler to use GCC=g++ @@ -200,7 +204,6 @@ SOURCES=\ toabout.cpp \ - toaboutui.cpp \ toalert.cpp \ toanalyze.cpp \ tobackground.cpp \ @@ -208,58 +211,39 @@ tobarchart.cpp \ tobrowser.cpp \ tobrowserconstraint.cpp \ - tobrowserconstraintui.cpp \ - tobrowserfilterui.cpp \ tobrowserindex.cpp \ - tobrowserindexui.cpp \ tobrowsertable.cpp \ - tobrowsertableui.cpp \ tochangeconnection.cpp \ - tochartalarmui.cpp \ tochartmanager.cpp \ - tochartsetupui.cpp \ toconnection.cpp \ tocurrent.cpp \ - todatabasesettingui.cpp \ todatatype.cpp \ todebug.cpp \ - todebugchangeui.cpp \ todebugtext.cpp \ - todebugwatch.cpp \ - toeditextensiongotoui.cpp \ toeditextensions.cpp \ - toeditextensionsetupui.cpp \ toeditwidget.cpp \ toextract.cpp \ tofilesize.cpp \ toglobalsetting.cpp \ - toglobalsettingui.cpp \ tohelp.cpp \ - tohelpaddfileui.cpp \ - tohelpsetupui.cpp \ tohighlightedtext.cpp \ tohtml.cpp \ toinvalid.cpp \ tolegendchart.cpp \ tolinechart.cpp \ - tolinechartsetupui.cpp \ tomain.cpp \ tomarkedtext.cpp \ tomemoeditor.cpp \ - tomessageui.cpp \ tonewconnection.cpp \ - tonewconnectionui.cpp \ tonoblockquery.cpp \ tooracleconnection.cpp \ tooracleextract.cpp \ tooraclepreload.cpp \ - tooraclesettingui.cpp \ tooutput.cpp \ toparamget.cpp \ topassword.cpp \ topiechart.cpp \ topreferences.cpp \ - topreferencesui.cpp \ toprofiler.cpp \ toproject.cpp \ toqsqlconnection.cpp \ @@ -270,7 +254,6 @@ toresultcombo.cpp \ toresultconstraint.cpp \ toresultcontent.cpp \ - toresultcontentfilterui.cpp \ toresultdepend.cpp \ toresultextract.cpp \ toresultfield.cpp \ @@ -278,7 +261,6 @@ toresultitem.cpp \ toresultlabel.cpp \ toresultline.cpp \ - toresultlistformatui.cpp \ toresultlock.cpp \ toresultlong.cpp \ toresultparam.cpp \ @@ -289,15 +271,9 @@ toresultstorage.cpp \ toresultview.cpp \ torollback.cpp \ - torollbackdialogui.cpp \ toscript.cpp \ - toscriptui.cpp \ tosearchreplace.cpp \ - tosearchreplaceui.cpp \ tosecurity.cpp \ - tosecurityquotaui.cpp \ - tosecurityroleui.cpp \ - tosecurityuserui.cpp \ tosession.cpp \ tosgastatement.cpp \ tosgatrace.cpp \ @@ -306,36 +282,68 @@ tosqledit.cpp \ tosqlparse.cpp \ tostorage.cpp \ - tostoragedatafileui.cpp \ tostoragedefinition.cpp \ - tostoragedefinitionui.cpp \ - tostoragedialogui.cpp \ - tostorageprefsui.cpp \ - tostoragetablespaceui.cpp \ tosyntaxsetup.cpp \ - tosyntaxsetupui.cpp \ totableselect.cpp \ totabwidget.cpp \ totemplate.cpp \ - totemplateaddfileui.cpp \ - totemplateeditui.cpp \ totemplateprovider.cpp \ - totemplatesetupui.cpp \ totemporary.cpp \ totextview.cpp \ tothread.cpp \ totool.cpp \ - totoolsettingui.cpp \ totuning.cpp \ - totuningoverviewui.cpp \ - totuningsettingui.cpp \ tovisualize.cpp \ towaitevents.cpp \ toworksheet.cpp \ - toworksheetsetupui.cpp \ toworksheetstatistic.cpp \ utils.cpp +UI_FILES = \ + toaboutui.ui \ + tobrowserconstraintui.ui \ + tobrowserfilterui.ui \ + tobrowserindexui.ui \ + tobrowsertableui.ui \ + tooraclesettingui.ui \ + tostoragetablespaceui.ui \ + tochartalarmui.ui \ + topreferencesui.ui \ + tosyntaxsetupui.ui \ + tochartsetupui.ui \ + toresultcontentfilterui.ui \ + totemplateaddfileui.ui \ + todatabasesettingui.ui \ + toresultlistformatui.ui \ + totemplateeditui.ui \ + todebugchangeui.ui \ + torollbackdialogui.ui \ + totemplatesetupui.ui \ + todebugwatch.ui \ + toscriptui.ui \ + totoolsettingui.ui \ + toeditextensiongotoui.ui \ + tosearchreplaceui.ui \ + totuningoverviewui.ui \ + toeditextensionsetupui.ui \ + tosecurityquotaui.ui \ + totuningsettingui.ui \ + toglobalsettingui.ui \ + tosecurityroleui.ui \ + toworksheetsetupui.ui \ + tohelpaddfileui.ui \ + tosecurityuserui.ui \ + tohelpsetupui.ui \ + tostoragedatafileui.ui \ + tolinechartsetupui.ui \ + tostoragedefinitionui.ui \ + tomessageui.ui \ + tostoragedialogui.ui \ + tonewconnectionui.ui \ + tostorageprefsui.ui + +GENERATED_SOURCES=$(UI_FILES:%.ui=%.cpp) + default: all TRANSLATIONS=\ @@ -346,7 +354,7 @@ CPPFLAGS=$(CPPFLAGS_GLOB) $(DEFINES) $(INCLUDES) CFLAGS=$(CFLAGS_GLOB) $(INCLUDES) $(DEFINES) -OBJECTS=$(filter %.o,$(SOURCES:%.cpp=objs/%.o)) objs/main.o +OBJECTS=$(filter %.o,$(SOURCES:%.cpp=objs/%.o) $(GENERATED_SOURCES:%.cpp=objs/%.o)) objs/main.o TRANSOBJ=$(filter %.qm,$(TRANSLATIONS:%.ts=%.qm)) DEPENDS=$(filter %.d,$(SOURCES:%.cpp=.depends/%.d)) .depends/main.d @@ -364,7 +372,7 @@ %.cpp %.h: %.ui @echo Generating $(<:%.ui=%.cpp) \& $(<:%.ui=%.h) $(UIC) -o $(<:%.ui=%.h) $< - $(UIC) -i $(<:%.ui=%.h) -o $(<:%.ui=%.cpp) $< + $(UIC) -i $(<:%.ui=%.h) -o $(<:%.ui=%.cpp) $< plugins/%.tso: @echo Linking plugin $@ @@ -452,7 +460,7 @@ main.cpp: tora_toad.h tora_toad.h: tora_toad.qm - $(PERL) chex.pl < $< > $@ + $(PERL) ../utils/chex.pl < $< > $@ tora_toad.qm: tora_toad.ts $(LRELEASE) $< Modified: trunk/tora/README.WINDOWS =================================================================== --- trunk/tora/README.WINDOWS 2006-03-07 21:20:58 UTC (rev 1960) +++ trunk/tora/README.WINDOWS 2006-03-08 13:00:31 UTC (rev 1961) @@ -45,16 +45,16 @@ 5. Build and install QScintilla by running qscintilla\build.cmd - 6. Rename Makefile.migw to Makefile in your TOra directory + 6. Copy Makefile.migw to src/Makefile in your TOra directory - 7. Edit Makefile and change path for PERL, QTDIR, OCI_DLL and OCI_HOME + 7. Edit src/Makefile and change path for PERL, QTDIR, OCI_DLL and OCI_HOME (and optionally for INSTALLDIR). Optionally edit the TARGET to set the desirable executable. Also check the CFLAGS_GLOB and LFLAGS_GLOB for the debug option (-g) depending on whether you want debug executable or not. You may also need to create default version of config.h - 8. Run 'make' in MSYS environment from TOra directory. + 8. Run 'make' in MSYS environment from TOra src directory. 9. Optionally run 'make install' - this will strip down the executable and copy the necessary files (not yet all of them) to the install This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <kna...@us...> - 2006-03-11 20:29:25
|
Revision: 1967 Author: knackeback Date: 2006-03-11 12:29:13 -0800 (Sat, 11 Mar 2006) ViewCVS: http://svn.sourceforge.net/tora/?rev=1967&view=rev Log Message: ----------- changes due to remove of qtlegacy directory Modified Paths: -------------- trunk/tora/Makefile.OSX trunk/tora/Makefile.mingw Modified: trunk/tora/Makefile.OSX =================================================================== --- trunk/tora/Makefile.OSX 2006-03-11 20:24:42 UTC (rev 1966) +++ trunk/tora/Makefile.OSX 2006-03-11 20:29:13 UTC (rev 1967) @@ -434,7 +434,7 @@ -rm -rf .depends >/dev/null 2>&1 -rm -rf .xvpics >/dev/null 2>&1 -rm -rf icons/.xvpics >/dev/null 2>&1 - -rm -f *.moc qtlegacy/*.moc >/dev/null 2>&1 + -rm -f *.moc >/dev/null 2>&1 -rm -f rpmcommon rpmoracle rpmmysql >/dev/null 2>&1 -rm -f \#*\# >/dev/null 2>&1 -rm -f configure.setup >/dev/null 2>&1 Modified: trunk/tora/Makefile.mingw =================================================================== --- trunk/tora/Makefile.mingw 2006-03-11 20:24:42 UTC (rev 1966) +++ trunk/tora/Makefile.mingw 2006-03-11 20:29:13 UTC (rev 1967) @@ -444,7 +444,7 @@ -rm -rf .depends >/dev/null 2>&1 -rm -rf .xvpics >/dev/null 2>&1 -rm -rf icons/.xvpics >/dev/null 2>&1 - -rm -f *.moc qtlegacy/*.moc >/dev/null 2>&1 + -rm -f *.moc >/dev/null 2>&1 -rm -f rpmcommon rpmoracle rpmmysql >/dev/null 2>&1 -rm -f \#*\# >/dev/null 2>&1 -rm -f Makefile >/dev/null 2>&1 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <kna...@us...> - 2006-03-12 19:52:14
|
Revision: 1971 Author: knackeback Date: 2006-03-12 11:51:59 -0800 (Sun, 12 Mar 2006) ViewCVS: http://svn.sourceforge.net/tora/?rev=1971&view=rev Log Message: ----------- replace chex.pl with a C++-version Modified Paths: -------------- trunk/tora/Makefile.am trunk/tora/README.WINDOWS trunk/tora/configure.ac Modified: trunk/tora/Makefile.am =================================================================== --- trunk/tora/Makefile.am 2006-03-12 19:49:55 UTC (rev 1970) +++ trunk/tora/Makefile.am 2006-03-12 19:51:59 UTC (rev 1971) @@ -21,4 +21,4 @@ dist-hook: rm -rf `find $(distdir) -name .svn` -SUBDIRS = src ext utils doc +SUBDIRS = utils src ext doc Modified: trunk/tora/README.WINDOWS =================================================================== --- trunk/tora/README.WINDOWS 2006-03-12 19:49:55 UTC (rev 1970) +++ trunk/tora/README.WINDOWS 2006-03-12 19:51:59 UTC (rev 1971) @@ -20,8 +20,7 @@ The makefiles were only tested in Mingw MSYS environment so it is advised that you obtain and install full MINGW and MSYS packages - from http://www.mingw.org. It is also necessary to have Perl - installed (ActiveState perl package will do). + from http://www.mingw.org. This requires mingw compiled binaries of QT which could be obtained at http://qtwin.sourceforge.net/ @@ -47,7 +46,7 @@ 6. Copy Makefile.migw to src/Makefile in your TOra directory - 7. Edit src/Makefile and change path for PERL, QTDIR, OCI_DLL and OCI_HOME + 7. Edit src/Makefile and change path for QTDIR, OCI_DLL and OCI_HOME (and optionally for INSTALLDIR). Optionally edit the TARGET to set the desirable executable. Also check the CFLAGS_GLOB and LFLAGS_GLOB for the debug option (-g) depending on whether you @@ -80,4 +79,4 @@ experimental stage. - \ No newline at end of file + Modified: trunk/tora/configure.ac =================================================================== --- trunk/tora/configure.ac 2006-03-12 19:49:55 UTC (rev 1970) +++ trunk/tora/configure.ac 2006-03-12 19:51:59 UTC (rev 1971) @@ -57,9 +57,10 @@ AM_CONDITIONAL(HAVE_ORACLE, test "$enable_oracle" = yes) AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([utils/Makefile]) +AC_CONFIG_FILES([utils/chex/Makefile]) AC_CONFIG_FILES([src/Makefile]) AC_CONFIG_FILES([ext/Makefile]) AC_CONFIG_FILES([doc/Makefile]) -AC_CONFIG_FILES([utils/Makefile]) AC_CONFIG_FILES([rpm/tora.spec]) AC_OUTPUT This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <da...@us...> - 2006-03-13 08:42:11
|
Revision: 1974 Author: dandfra Date: 2006-03-13 00:41:55 -0800 (Mon, 13 Mar 2006) ViewCVS: http://svn.sourceforge.net/tora/?rev=1974&view=rev Log Message: ----------- Updated build system from chex.pl --> chex.cpp Modified Paths: -------------- trunk/tora/Makefile.mingw trunk/tora/NEWS Modified: trunk/tora/Makefile.mingw =================================================================== --- trunk/tora/Makefile.mingw 2006-03-12 20:01:23 UTC (rev 1973) +++ trunk/tora/Makefile.mingw 2006-03-13 08:41:55 UTC (rev 1974) @@ -42,7 +42,7 @@ OCI_HOME=/c/oracle/ora81/oci QTDIR=/c/qt-3 -# Perl executable - needed for key transalations generation +##Perl PERL=/c/Perl/bin/perl # Where to create installation bundle @@ -459,9 +459,12 @@ main.cpp: tora_toad.h -tora_toad.h: tora_toad.qm - $(PERL) ../utils/chex.pl < $< > $@ +tora_toad.h: tora_toad.qm chex.exe + chex.exe $< > $@ +chex.exe: ../utils/chex/chex.cpp + $(GCC) $< -o $@ + tora_toad.qm: tora_toad.ts $(LRELEASE) $< Modified: trunk/tora/NEWS =================================================================== --- trunk/tora/NEWS 2006-03-12 20:01:23 UTC (rev 1973) +++ trunk/tora/NEWS 2006-03-13 08:41:55 UTC (rev 1974) @@ -4,6 +4,8 @@ 2006-03-03: Fixed bug #1437575 2006-03-03: update to version 1.3.22svn the windows client too 2006-03-07: fixed some bug with completion +2006-03-09: fixed a bug with indentetion (inserted empty lines) +2006-03-13: update Makefile.mingw to reflect chec.pl-> chex.cpp change 1.3.21: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <da...@us...> - 2006-03-13 14:03:43
|
Revision: 1975 Author: dandfra Date: 2006-03-13 06:03:27 -0800 (Mon, 13 Mar 2006) ViewCVS: http://svn.sourceforge.net/tora/?rev=1975&view=rev Log Message: ----------- When searching for tnsnames.ora look to TNS_ADMIN on Windows too, to support Oracle Instant Client user Modified Paths: -------------- trunk/tora/NEWS trunk/tora/src/tooracleconnection.cpp Modified: trunk/tora/NEWS =================================================================== --- trunk/tora/NEWS 2006-03-13 08:41:55 UTC (rev 1974) +++ trunk/tora/NEWS 2006-03-13 14:03:27 UTC (rev 1975) @@ -1,4 +1,4 @@ -1.3.22cvs: +1.3.22svn: 2006-03-01: Autocompletion first step 2006-03-03: Autocompletion second step 2006-03-03: Fixed bug #1437575 @@ -6,6 +6,7 @@ 2006-03-07: fixed some bug with completion 2006-03-09: fixed a bug with indentetion (inserted empty lines) 2006-03-13: update Makefile.mingw to reflect chec.pl-> chex.cpp change +2006-03-13: When searching for tnsnames.ora look to TNS_ADMIN on Windows too, to support Oracle Instant Client user 1.3.21: Modified: trunk/tora/src/tooracleconnection.cpp =================================================================== --- trunk/tora/src/tooracleconnection.cpp 2006-03-13 08:41:55 UTC (rev 1974) +++ trunk/tora/src/tooracleconnection.cpp 2006-03-13 14:03:27 UTC (rev 1975) @@ -39,6 +39,7 @@ #ifdef WIN32 # include "windows/cregistry.h" +#include <Windows.h> #endif #define OTL_STL @@ -946,11 +947,16 @@ { str = buffer; str += "\\network\\admin"; - } - } + }else + throw 0; + }else + throw 0; } catch (...) - {} + { + if(GetEnvironmentVariableA("TNS_ADMIN",buffer,siz)>0) + str=buffer; + } } #else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nn...@us...> - 2006-03-14 23:16:12
|
Revision: 1979 Author: nneul Date: 2006-03-14 15:16:04 -0800 (Tue, 14 Mar 2006) ViewCVS: http://svn.sourceforge.net/tora/?rev=1979&view=rev Log Message: ----------- Remove refs to TOAD and OAS, and remove Quotes dialog and text Modified Paths: -------------- trunk/tora/NEWS trunk/tora/src/toabout.cpp trunk/tora/src/toconnection.cpp trunk/tora/src/toglobalsetting.cpp trunk/tora/src/tohelp.cpp trunk/tora/src/tomain.cpp trunk/tora/src/tooracleconnection.cpp trunk/tora/src/totemplate.cpp trunk/tora/src/totool.cpp trunk/tora/src/utils.cpp Modified: trunk/tora/NEWS =================================================================== --- trunk/tora/NEWS 2006-03-14 04:55:32 UTC (rev 1978) +++ trunk/tora/NEWS 2006-03-14 23:16:04 UTC (rev 1979) @@ -7,6 +7,8 @@ 2006-03-09: fixed a bug with indentetion (inserted empty lines) 2006-03-13: update Makefile.mingw to reflect chec.pl-> chex.cpp change 2006-03-13: When searching for tnsnames.ora look to TNS_ADMIN on Windows too, to support Oracle Instant Client user +2006-03-14: Remove references to TOAD and OAS and various conditional compiles for them +2006-03-14: Remove Quotes part of about dialog. 1.3.21: Modified: trunk/tora/src/toabout.cpp =================================================================== --- trunk/tora/src/toabout.cpp 2006-03-14 04:55:32 UTC (rev 1978) +++ trunk/tora/src/toabout.cpp 2006-03-14 23:16:04 UTC (rev 1979) @@ -51,12 +51,6 @@ #include "icons/largelogo.xpm" -#ifdef OAS -#include "oasabout.h" -#else -# ifdef TOAD -#include "toadabout.h" -# else static const char *AboutText = "<IMG SRC=largelogo.xpm><BR>\n" "Version %1 (<A HREF=http://tora.sourceforge.net>http://tora.sourceforge.net</A>)\n" "<P>\n" @@ -139,237 +133,7 @@ "<B>Joachim Zetzsche</B>,\n" "<B>Massimiliano Ziccardi</B>,\n" "<B>Raj Thukral</B>...\n"; -# endif -#endif -#ifndef TOAD -static const char *QuoteText = "<H3>People who think they know everything tend to irritate those of us who do.</H3>\n" - "<DIV ALIGN=RIGHT>Oscar Wilde</DIV>\n" - "<H3>My taste is simple, the best.</H3>\n" - "<DIV ALIGN=RIGHT>Oscar Wilde</DIV>\n" - "<H3>God bless the American legal system<BR>\n" - "A glories machine that turns stupidity into cold hard cash!</H3>\n" - "<DIV ALIGN=RIGHT>The Drew Carey Show</DIV>\n" - "<H3>Working weeks come to its end, party time is here again.</H3>\n" - "<DIV ALIGN=RIGHT>Come with me, Depeche Mode</DIV>\n" - "<H3>I want to run<BR>I want to hide<BR>I want to tear down the walls<BR>\n" - "That hold me inside</H3>\n" - "<DIV ALIGN=RIGHT>Where the streets have no name, U2</DIV>\n" - "<H3>Got a letter from the government the other day.<BR>\n" - "Opened it and read it. It said they were suckers.</H3>\n" - "<DIV ALIGN=RIGHT>Black Steel In The Hour Of Chaos, Public Enemy</DIV>\n" - "<H3>It's a small world and it smells funny<BR>\n" - "I'd buy another if it wasn't for the money</H3>\n" - "<DIV ALIGN=RIGHT>Vision Thing, Sisters of Mercy</DIV>\n" - "<H3>I'm a 21:st century digital boy<BR>\n" - "I don't know how to live, but I got a lot of toys</H3>\n" - "<DIV ALIGN=RIGHT>21:st century digital boy, Bad Religion\n" - "</DIV>\n" - "<H3>When will the world listen to reason?<BR>\n" - "When will the truth come into season?<BR>\n" - "I have a feeling it will be a long time.</H3>\n" - "<DIV ALIGN=RIGHT>It'll be a long time, Offspring\n" - "</DIV>\n" - "<H3>Happiness isn't something you experience, it's something you remember.</H3>\n" - "<DIV ALIGN=RIGHT>Oscar Levant\n" - "</DIV>\n" - "<H3>I didn't believe in reincarnation in any of my other lives.<BR>\n" - "I don't see why I should have to believe in it in this one.</H3>\n" - "<DIV ALIGN=RIGHT>Strange de Jim\n" - "</DIV>\n" - "<H3>If a man has a strong faith he can indulge in the luxury of skepticism.</H3>\n" - "<DIV ALIGN=RIGHT>Friedrich Nietzsche\n" - "</DIV>\n" - "<H3>I'm a firm believer in the concept of a ruling class,<BR>\n" - "especially since I rule.</H3>\n" - "<DIV ALIGN=RIGHT>The movie \"Clerks\"\n" - "</DIV>\n" - "<H3>Stay alert! Trust no one! Keep your laser handy!</H3>\n" - "<DIV ALIGN=RIGHT>Roleplaying game Paranoia\n" - "</DIV>\n" - "<H3>The best definition of a gentleman is a man who can play the accordion -- but doesn't.</H3>\n" - "<DIV ALIGN=RIGHT>Tom Crichton\n" - "</DIV>\n" - "<H3>The trouble with being punctual is that nobody's there to appreciate it.</H3>\n" - "<DIV ALIGN=RIGHT>Franklin P. Jones\n" - "</DIV>\n" - "<H3>Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.</H3>\n" - "<DIV ALIGN=RIGHT>Albert Einstein\n" - "</DIV>\n" - "<H3>If there's no light at the end of the tunnel, get down there and light the darn thing yourself!</H3>\n" - "<DIV ALIGN=RIGHT>Lauri Watts\n" - "</DIV>\n" - "<H3>Unix is the most user friendly system I know, the point is the it is really selective about who is indeed its friend.</H3>\n" - "<DIV ALIGN=RIGHT>Luigi Genoni\n" - "</DIV>\n" - "<H3>The difference between theory and practice, is that in theory, there is no difference between theory and practice.</H3>\n" - "<DIV ALIGN=RIGHT>Richard Moore\n" - "</DIV>\n" - "<H3>Your mind is like a parachute. It works best when open.</H3>\n" - "<DIV ALIGN=RIGHT>Matthias Elter\n" - "</DIV>\n" - "<H3>I might disagree with what you have to say,\n" - "but I'll defend your right to say it to the death.</H3>\n" - "<DIV ALIGN=RIGHT>Voltaire\n" - "</DIV>\n" - "<H3>Software is like sex, it is better when it is free.</H3>\n" - "<DIV ALIGN=RIGHT>Linus Torvalds\n" - "</DIV>\n" - "<H3>The 3 great virtues of a programmer:<BR>\n" - "Laziness, Impatience, and Hubris.</H3>\n" - "<DIV ALIGN=RIGHT>Larry Wall\n" - "</DIV>\n" - "<H3>It's the mature and adult thing to do!<BR>\n" - "How does that affect me?</H3>\n" - "<DIV ALIGN=RIGHT>Seinfeldt\n" - "</DIV>\n" - "<H3>Men don't want children!<BR>\n" - "Any man who thinks or says he wants children is no longer a man<BR>\n" - "but a pussywhipped freak of nature.</H3>\n" - "<DIV ALIGN=RIGHT>Bill Hicks, Rant in E-Minor\n" - "</DIV>\n" - "<H3>Dates are for having fun and people should use them to get to know each other.<BR>\n" - "Even boys have something to say if you listen long enough.</H3>\n" - "<DIV ALIGN=RIGHT>Lynette, age 8\n" - "</DIV>\n" - "<H3>CNNESPNABCBCVTNT, but mostly BS</H3>\n" - "<DIV ALIGN=RIGHT>Television, Disposable Heroes of Hiphoprasy\n" - "</DIV>\n" - "<H3>What did you do yesterday?<BR>\n" - "I did absolutely nothing and it was everything I thought it would be.</H3>\n" - "<DIV ALIGN=RIGHT>The movie \"Officespace\"\n" - "</DIV>\n" - "<H3>Think about how stupid the average person is.<BR>Then realise that half of them are more stupid than that.</H3>\n" - "<DIV ALIGN=RIGHT>George Carlin\n" - "</DIV>\n" - "<H3>I drink to make other people interesting.</H3>\n" - "<DIV ALIGN=RIGHT>George Jean Nathan\n" - "</DIV>\n" - "<H3>When everybody is out to get you, paranoid just seems like a good idea.</H3>\n" - "<DIV ALIGN=RIGHT>Woody Allen\n" - "</DIV>\n" - "<H3>How to relate to women:<BR>\n" - "Treat them like compilers that take simple statements and turn them into\n" - "big productions.</H3>\n" - "<DIV ALIGN=RIGHT>Userfriendly\n" - "</DIV>\n" - "<H3>Communism doesn't work because people like to own stuff.</H3>\n" - "<DIV ALIGN=RIGHT>Frank Zappa\n" - "</DIV>\n" - "<H3>Sure there have been injuries and deaths in boxing,<BR>\n" - "but none of them serious.</H3>\n" - "<DIV ALIGN=RIGHT>Boxer Alan Minter\n" - "</DIV>\n" - "<H3>Plans are useless, but planning is indispensible.</H3>\n" - "<DIV ALIGN=RIGHT>Dwight Eisenhower\n" - "</DIV>\n" - "<H3>Life is a sexually transmittable desease with terminal outcome.</H3>\n" - "<DIV ALIGN=RIGHT>Unknown\n" - "</DIV>\n" - "<H3>I'm on a seafood diet.<P>\n" - "So am I. When I see food I eat it.</H3>\n" - "<DIV ALIGN=RIGHT>The Drew Carey Show\n" - "</DIV>\n" - "<H3>I'm bi-sexual. Whenever I want sex I have to buy it.</H3>\n" - "<DIV ALIGN=RIGHT>Splitting Heirs\n" - "</DIV>\n" - "<H3>What do you think of western civilisation?<BR>\n" - "I think it would be a good idea.</H3>\n" - "<DIV ALIGN=RIGHT>Muhatma Gandhi\n" - "</DIV>\n" - "<H3>Failure is not an option, it comes bundled with the software.</H3>\n" - "<DIV ALIGN=RIGHT>Unknown\n" - "</DIV>\n" - "<H3>If you don't know where you are going you are never lost.</H3>\n" - "<DIV ALIGN=RIGHT>Unknown\n" - "</DIV>\n" - "<H3>If you're right 90% of the time, why quibble about the remaining 3%?</H3>\n" - "<DIV ALIGN=RIGHT>Unknown\n" - "</DIV>\n" - "<H3>Hiroshima '45 Chernobyl '86 Windows '95</H3>\n" - "<DIV ALIGN=RIGHT>Unknown\n" - "</DIV>\n" - "<H3>Acceptance testing: An unsuccessfull attempt to find bugs.</H3>\n" - "<DIV ALIGN=RIGHT>Unknown\n" - "</DIV>\n" - "<H3>Great minds discuss ideas,<BR>\n" - "Average minds discuss events,<BR>\n" - "Small minds discuss people.</H3>\n" - "<DIV ALIGN=RIGHT>Unknown\n" - "</DIV>\n" - "<H3>Don't take life to seriously, you'll never get out of it alive anyway.</H3>\n" - "<DIV ALIGN=RIGHT>Unknown\n" - "</DIV>\n" - "<H3>Light travels faster than sound.<BR>\n" - "That is why some people appear bright<BR>\n" - "until you hear them speak.</H3>\n" - "<DIV ALIGN=RIGHT>Unknown\n" - "</DIV>\n" - "<H3>Jag spenderade mina pengar p\xE5 sprit kvinnor och s\xE5ng.<BR>\n" - "Resten sl\xF6sade jag bort.</H3>\n" - "<H3>(Roughly: I spent my money on women, drinking and singing..<BR>\n" - "The rest I squandered).</H3>\n" - "<DIV ALIGN=RIGHT>Unknown Swede\n" - "</DIV>\n" - "<H3>A hen is an egg's way of making another egg.</H3>\n" - "<DIV ALIGN=RIGHT>Unknown\n" - "</DIV>\n" - "<H3>Those who live by the sword, get shot by those who don't.</H3>\n" - "<DIV ALIGN=RIGHT>Unknown\n" - "</DIV>\n" - "<H3>\n" - "<UL>\n" - "<LI>Make it idiot proof, and someone will make a better idiot.<P>\n" - "<LI>I don't suffer from insanity. I enjoy every minute of it.<P>\n" - "<LI>Press any key to continue or any other key to quit<P>\n" - "<LI>The box said \"Requires Windows 95 or better.\" So I installed LINUX<P>\n" - "<LI><-- Your information went that way --><P>\n" - "<LI>Go away, or I will replace you with a very small shell script.<P>\n" - "<LI>Do not meddle in the affairs of sysadmins, for they are suddle and quick to anger.\n" - "<LI>SELECT * FROM users WHERE clue > 0<BR>\n" - "0 rows returned\n" - "</UL>\n" - "</H3>\n" - "<DIV ALIGN=RIGHT>Think Geek (http://www.thinkgeek.com/)\n" - "</DIV>\n" - "<H3>\n" - "<UL>\n" - "<LI>Luck can't last a lifetime unless you die young!<P>\n" - "<LI>Misfortune: While good fortune often eludes you, this kind never misses.<P>\n" - "<LI>For every winner, there are dozens of losers. Odds are you are one of them.<P>\n" - "<LI>Failure: When your best just isn't good enough.<P>\n" - "<LI>Quitters never win, winners never quit, but those who never win and never quit are idiots.<P>\n" - "<LI>If you can't learn to do something well, learn to enjoy doing it poorly.<P>\n" - "<LI>If at first you don't succeed, failure may be your style.<P>\n" - "<LI>There are no stupid questions, but there are a lot of inquisitive idiots.<P>\n" - "<LI>There is no joy greater than soaring high on the wings of your dreams,\n" - " except mayby the joy of watching a dreamer who has nowhere to land but in the ocean of reality.<P>\n" - "<LI>The only consistent feature of all of your dissatisfying relationships is you.<P>\n" - "<LI>When you earnestly believe you can compensate for a lack of skill by doubling your efforts,\n" - " there's no end to what you can't do.<P>\n" - "<LI>Never underestimate the power of stupid people in large groups.<P>\n" - "<LI>The downside of being better than everyone else is that people tend to assume you're pretentious.<P>\n" - "<LI>In the battle between you and the world, bet on the world.<P>\n" - "<LI>You'll always miss 100% of the shots you don't take, and, statistically speaking, 99% of the shots you do.<P>\n" - "<LI>The secret to success is knowing who to blame for your failures.<P>\n" - "<LI>When birds fly in the right formation, they need only exert half the effort.\n" - " Even in nature, teamwork results in collective laziness.<P>\n" - "<LI>It's amazing how much easier it is for a team to work together when no one has any idea where they're going.<P>\n" - "<LI>Attitudes are contagious. Mine might kill you.<P>\n" - "<LI>When people are free to do as they please, they usually imitate each other.<P>\n" - "<LI>If we don't take care of the customer, mayby they'll stop bugging us.<P>\n" - "<LI>It takes months to find a customer, but only seconds to lose one.\n" - " The good news is we should run out of them in no time.<P>\n" - "<LI>Mediocrity: It takes a lot less time, and most people won't notice the difference until it's too late.<P>\n" - "<LI>Laziness: Success is a jurney, not a destination. So stop running.<P>\n" - "<LI>Hard work often pays off after time, but laziness always pays off now.<P>\n" - "<LI>The tallest blade of grass is the first to be cut by the lawnmower.\n" - "</UL>\n" - "</H3>\n" - "<DIV ALIGN=RIGHT>Despair INC (http://www.despair.com/)\n" - "</DIV>"; -#endif - #define ABOUT_CAPTION TOAPPNAME " %1" void toAllocLogo(void) @@ -407,25 +171,8 @@ switch (page) { -#ifndef TOAD - case 2: - setCaption(tr("Quotes")); - TextView->setText(tr(QuoteText)); - TextView->setPaper(QColor(255, 255, 255)); - TextView->setTextFormat(RichText); - CancelButton->hide(); - break; -#endif - case 1: -#if defined(TO_LICENSE) || defined(TOAD) - - setCaption(tr("End User License")); -#else - setCaption(tr("GNU General Public License")); -#endif - TextView->setText(tr(LicenseText)); TextView->setPaper(QColor(255, 255, 255)); TextView->setTextFormat(PlainText); @@ -436,14 +183,7 @@ setCaption(tr(ABOUT_CAPTION).arg(QString::fromLatin1(TOVERSION))); QString buffer = tr(AboutText).arg(QString::fromLatin1(TOVERSION)); TextView->setText(buffer); -#if defined(OAS) || defined(TOAD) - - TextView->setPaper(QColor(255, 255, 255)); -#else - TextView->setPaper(QColor(227, 184, 54)); -#endif - TextView->setTextFormat(RichText); CancelButton->hide(); break; Modified: trunk/tora/src/toconnection.cpp =================================================================== --- trunk/tora/src/toconnection.cpp 2006-03-14 04:55:32 UTC (rev 1978) +++ trunk/tora/src/toconnection.cpp 2006-03-14 23:16:04 UTC (rev 1979) @@ -1679,16 +1679,8 @@ dirname = QString(getenv("TEMP")); else #endif - dirname = QString(home); -#ifdef TOAD - - dirname += "/.toad_cache"; -#else - dirname += "/.tora_cache"; -#endif - } return dirname; } Modified: trunk/tora/src/toglobalsetting.cpp =================================================================== --- trunk/tora/src/toglobalsetting.cpp 2006-03-14 04:55:32 UTC (rev 1978) +++ trunk/tora/src/toglobalsetting.cpp 2006-03-14 23:16:04 UTC (rev 1979) @@ -158,13 +158,6 @@ DockToolbar->hide(); #endif -#ifdef TOAD - - LocaleLabel->hide(); - Locale->hide(); - ToadBindings->hide(); -#endif - if (toMonolithic()) { PluginLabel->hide(); Modified: trunk/tora/src/tohelp.cpp =================================================================== --- trunk/tora/src/tohelp.cpp 2006-03-14 04:55:32 UTC (rev 1978) +++ trunk/tora/src/tohelp.cpp 2006-03-14 23:16:04 UTC (rev 1979) @@ -259,12 +259,7 @@ QWidget *toHelpTool::configurationTab(QWidget *parent) { -#ifdef TOAD - return NULL; -#else - return new toHelpPrefs(this, parent); -#endif } void toHelpTool::displayHelp(void) @@ -499,13 +494,8 @@ else window = Window; QString file = path(); -#ifndef TOAD file += context; -#else - - file += "/toc.htm"; -#endif #ifdef TO_KDE window->Help->openURL(file); Modified: trunk/tora/src/tomain.cpp =================================================================== --- trunk/tora/src/tomain.cpp 2006-03-14 04:55:32 UTC (rev 1978) +++ trunk/tora/src/tomain.cpp 2006-03-14 23:16:04 UTC (rev 1979) @@ -115,16 +115,10 @@ #include "icons/tora.xpm" #include "icons/undo.xpm" #include "icons/up.xpm" -#ifdef TOAD -#include "icons/options.xpm" -#endif - -#ifndef OAS #include "icons/commit.xpm" #include "icons/rollback.xpm" #include "icons/stop.xpm" #include "icons/refresh.xpm" -#endif #define DEFAULT_TITLE TOAPPNAME " %s" @@ -144,7 +138,6 @@ tr("&New Connection..."), TO_NEW_CONNECTION); FileMenu->insertItem(QPixmap(const_cast<const char**>(disconnect_xpm)), tr("&Close Connection"), this, SLOT(delConnection()), 0, TO_CLOSE_CONNECTION); -#ifndef OAS FileMenu->insertSeparator(); FileMenu->insertItem(QPixmap(const_cast<const char**>(commit_xpm)), tr("&Commit Connection"), TO_FILE_COMMIT); @@ -152,7 +145,6 @@ FileMenu->insertItem(tr("C&urrent Connection"), TO_FILE_CURRENT); FileMenu->insertItem(QPixmap(const_cast<const char**>(stop_xpm)), tr("Stop All Queries"), TO_STOP_ALL); FileMenu->insertItem(QPixmap(const_cast<const char**>(refresh_xpm)), tr("Reread Object Cache"), TO_FILE_CLEARCACHE); -#endif FileMenu->insertSeparator(); FileMenu->insertItem(QPixmap(const_cast<const char**>(fileopen_xpm)), tr("&Open File..."), TO_FILE_OPEN); @@ -174,13 +166,11 @@ FileMenu->setAccel(toKeySequence(tr("Ctrl+O", "File|File open")), TO_FILE_OPEN); FileMenu->setAccel(toKeySequence(tr("Ctrl+W", "File|File save")), TO_FILE_SAVE); FileMenu->setAccel(toKeySequence(tr("Ctrl+Shift+W", "File|File save as")), TO_FILE_SAVE_AS); -#ifndef OAS FileMenu->setAccel(toKeySequence(tr("Ctrl+Shift+C", "File|Commit")), TO_FILE_COMMIT); FileMenu->setAccel(toKeySequence(tr("Ctrl+J", "File|Stop all")), TO_STOP_ALL); FileMenu->setAccel(toKeySequence(tr("Ctrl+<", "File|Rollback")) | CTRL, TO_FILE_ROLLBACK); FileMenu->setAccel(toKeySequence(tr("Ctrl+Shift+U", "File|Current connection")), TO_FILE_CURRENT); -#endif updateRecent(); @@ -202,11 +192,7 @@ EditMenu->insertItem(tr("Select &All"), TO_EDIT_SELECT_ALL); EditMenu->insertItem(tr("Read All &Items"), TO_EDIT_READ_ALL); EditMenu->insertSeparator(); - EditMenu->insertItem( -#ifdef TOAD - QPixmap(const_cast<const char**>(options_xpm)), -#endif - tr("&Preferences..."), TO_EDIT_OPTIONS); + EditMenu->insertItem(tr("&Preferences..."), TO_EDIT_OPTIONS); QAccel *accel = new QAccel(this); accel->connectItem(accel->insertItem(toKeySequence(tr("Ctrl+Insert", "Edit|Copy"))), this, SLOT(copyButton())); @@ -247,14 +233,7 @@ PrintButton->setEnabled(false); LoadButton->setEnabled(false); SaveButton->setEnabled(false); -#ifdef TOAD - new QToolButton(QPixmap(const_cast<const char**>(options_xpm)), - tr("Edit options"), - tr("Edit options"), - this, SLOT(optionButton()), EditToolbar); -#endif - EditToolbar->addSeparator(); UndoButton = new QToolButton(QPixmap(const_cast<const char**>(undo_xpm)), tr("Undo"), @@ -299,7 +278,6 @@ tr("Disconnect current connection"), this, SLOT(delConnection()), ConnectionToolbar); DisconnectButton->setEnabled(false); -#ifndef OAS ConnectionToolbar->addSeparator(); NeedConnection[new QToolButton(QPixmap(const_cast<const char**>(commit_xpm)), @@ -315,11 +293,7 @@ tr("Stop all running queries on connection"), tr("Stop all running queries on connection"), this, SLOT(stopButton()), ConnectionToolbar)] = true; -#else - ConnectionToolbar->hide(); -#endif - ConnectionToolbar->addSeparator(); ConnectionSelection = new QComboBox(ConnectionToolbar, TO_KDE_TOOLBAR_WIDGET); ConnectionSelection->setMinimumWidth(250); @@ -329,20 +303,13 @@ ToolsMenu = new QPopupMenu(this); HelpMenu = new QPopupMenu(this); -#ifndef TOAD HelpMenu->insertItem(tr("C&urrent Context..."), TO_HELP_CONTEXT); -#endif - HelpMenu->insertItem(tr("&Contents..."), TO_HELP_CONTENTS); HelpMenu->insertSeparator(); HelpMenu->insertItem(tr("&About " TOAPPNAME "..."), TO_HELP_ABOUT); HelpMenu->insertItem(tr("&License..."), TO_HELP_LICENSE); -#ifndef TOAD - HelpMenu->insertItem(tr("&Quotes..."), TO_HELP_QUOTES); -#endif - HelpMenu->setAccel(toKeySequence(tr("F1", "Help|Help")), TO_HELP_CONTEXT); int toolID = TO_TOOLS; Modified: trunk/tora/src/tooracleconnection.cpp =================================================================== --- trunk/tora/src/tooracleconnection.cpp 2006-03-14 04:55:32 UTC (rev 1978) +++ trunk/tora/src/tooracleconnection.cpp 2006-03-14 23:16:04 UTC (rev 1979) @@ -1293,9 +1293,7 @@ otl_stream info(1, "BEGIN\n" " SYS.DBMS_APPLICATION_INFO.SET_CLIENT_INFO('" TOAPPNAME -#ifndef OAS " (http://tora.sourceforge.net)" -#endif "');\n" " SYS.DBMS_APPLICATION_INFO.SET_MODULE('" TOAPPNAME "','Access Database');\n" "END;", Modified: trunk/tora/src/totemplate.cpp =================================================================== --- trunk/tora/src/totemplate.cpp 2006-03-14 04:55:32 UTC (rev 1978) +++ trunk/tora/src/totemplate.cpp 2006-03-14 23:16:04 UTC (rev 1979) @@ -73,8 +73,8 @@ { std::map<QCString, QString> def; QString file = toPluginPath(); -#if (!defined(OAS)) && (!defined(TO_NO_ORACLE)) +#if !defined(TO_NO_ORACLE) file += QString::fromLatin1("/sqlfunctions.tpl"); def["PL/SQL Functions"] = file; file = toPluginPath(); Modified: trunk/tora/src/totool.cpp =================================================================== --- trunk/tora/src/totool.cpp 2006-03-14 04:55:32 UTC (rev 1978) +++ trunk/tora/src/totool.cpp 2006-03-14 23:16:04 UTC (rev 1979) @@ -206,13 +206,8 @@ std::map<QCString, toTool *> *toTool::Tools; std::map<QCString, QString> *toTool::Configuration; -#ifdef TOAD -#define CONFIG_FILE "/.toadrc" -#define DEF_CONFIG_FILE "/etc/toadrc" -#else #define CONFIG_FILE "/.torarc" #define DEF_CONFIG_FILE "/etc/torarc" -#endif const char **toTool::pictureXPM(void) { Modified: trunk/tora/src/utils.cpp =================================================================== --- trunk/tora/src/utils.cpp 2006-03-14 04:55:32 UTC (rev 1978) +++ trunk/tora/src/utils.cpp 2006-03-14 23:16:04 UTC (rev 1979) @@ -749,11 +749,7 @@ try { if (registry.GetStringValue(HKEY_LOCAL_MACHINE, -# ifdef TOAD - "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\TOAD for MySQL", -# else "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\TOra", -# endif "UninstallString", buffer, siz)) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nn...@us...> - 2006-03-14 23:29:21
|
Revision: 1983 Author: nneul Date: 2006-03-14 15:29:14 -0800 (Tue, 14 Mar 2006) ViewCVS: http://svn.sourceforge.net/tora/?rev=1983&view=rev Log Message: ----------- remove old .cvsignore files Removed Paths: ------------- trunk/tora/.cvsignore trunk/tora/doc/help/images/.cvsignore trunk/tora/rpm/.cvsignore trunk/tora/src/icons/.cvsignore Deleted: trunk/tora/.cvsignore =================================================================== --- trunk/tora/.cvsignore 2006-03-14 23:25:59 UTC (rev 1982) +++ trunk/tora/.cvsignore 2006-03-14 23:29:14 UTC (rev 1983) @@ -1,240 +0,0 @@ -.depends -LICENSE.h -Makefile -objs -plugins -toabout.moc -toaboutui.cpp -toaboutui.h -toaboutui.moc -toalert.moc -toanalyze.moc -tobackup.moc -tobarchart.moc -tobrowser.moc -tobrowserconstraint.moc -tobrowserconstraintui.cpp -tobrowserconstraintui.h -tobrowserconstraintui.moc -tobrowserfilterui.cpp -tobrowserfilterui.h -tobrowserfilterui.moc -tobrowserindex.moc -tobrowserindexui.cpp -tobrowserindexui.h -tobrowserindexui.moc -tobrowsertable.moc -tobrowsertableui.cpp -tobrowsertableui.h -tobrowsertableui.moc -tochangeconnection.moc -tochartalarmui.cpp -tochartalarmui.h -tochartalarmui.moc -tochartmanager.moc -tochartsetupui.cpp -tochartsetupui.h -tochartsetupui.moc -tocurrent.moc -todatabasesettingui.cpp -todatabasesettingui.h -todatabasesettingui.moc -todatatype.moc -todebug.moc -todebugchangeui.cpp -todebugchangeui.h -todebugchangeui.moc -todebugwatch.cpp -todebugwatch.h -todebugwatch.moc -toeditextensiongotoui.cpp -toeditextensiongotoui.h -toeditextensiongotoui.moc -toeditextensions.moc -toeditextensionsetupui.cpp -toeditextensionsetupui.h -toeditextensionsetupui.moc -tofilesize.moc -toglobalsettingui.cpp -toglobalsettingui.h -toglobalsettingui.moc -tohelp.moc -tohelpaddfileui.cpp -tohelpaddfileui.h -tohelpaddfileui.moc -tohelpbrowser.moc -tohelpsetupui.cpp -tohelpsetupui.h -tohelpsetupui.moc -tohighlightedtext.moc -toinvalid.moc -tolegendchart.moc -tolinechart.moc -tolinechartsetupui.cpp -tolinechartsetupui.h -tolinechartsetupui.moc -tomain.moc -tomainwindow.kde.moc -tomainwindow.moc -tomarkedtext.2.moc -tomarkedtext.3.moc -tomarkedtext.moc -tomemoeditor.moc -tomessageui.cpp -tomessageui.h -tomessageui.moc -tonewconnection.moc -tonewconnectionui.cpp -tonewconnectionui.h -tonewconnectionui.moc -tooraclesettingui.cpp -tooraclesettingui.h -tooraclesettingui.moc -tooutput.moc -toparamget.moc -topiechart.moc -topreferences.moc -topreferencesui.cpp -topreferencesui.h -topreferencesui.moc -toprofiler.moc -toproject.moc -tora -tora-mono -tora.pro -tora_fr.qm -tora_it.qm -tora_se.qm -tora_toad.h -tora_toad.qm -toresult.moc -toresultbar.moc -toresultcols.moc -toresultcombo.moc -toresultconstraint.moc -toresultcontent.moc -toresultcontentfilterui.cpp -toresultcontentfilterui.h -toresultcontentfilterui.moc -toresultdepend.moc -toresultextract.moc -toresultfield.moc -toresultindexes.moc -toresultitem.moc -toresultlabel.moc -toresultline.moc -toresultlistformatui.cpp -toresultlistformatui.h -toresultlistformatui.moc -toresultlock.moc -toresultlong.moc -toresultparam.moc -toresultpie.moc -toresultplan.moc -toresultreferences.moc -toresultstats.moc -toresultstorage.moc -toresultview.moc -torollback.moc -torollbackdialogui.cpp -torollbackdialogui.h -torollbackdialogui.moc -toscript.moc -toscriptui.cpp -toscriptui.h -toscriptui.moc -tosearchreplace.moc -tosearchreplaceui.cpp -tosearchreplaceui.h -tosearchreplaceui.moc -tosecurity.moc -tosecurityquotaui.cpp -tosecurityquotaui.h -tosecurityquotaui.moc -tosecurityroleui.cpp -tosecurityroleui.h -tosecurityroleui.moc -tosecurityuserui.cpp -tosecurityuserui.h -tosecurityuserui.moc -tosession.moc -tosgastatement.moc -tosgatrace.moc -tosmtp.moc -tosqledit.moc -tostorage.moc -tostoragedatafileui.cpp -tostoragedatafileui.h -tostoragedatafileui.moc -tostoragedefinitionui.cpp -tostoragedefinitionui.h -tostoragedefinitionui.moc -tostoragedialogui.cpp -tostoragedialogui.h -tostoragedialogui.moc -tostorageprefsui.cpp -tostorageprefsui.h -tostorageprefsui.moc -tostoragetablespaceui.cpp -tostoragetablespaceui.h -tostoragetablespaceui.moc -tosyntaxsetup.moc -tosyntaxsetupui.cpp -tosyntaxsetupui.h -tosyntaxsetupui.moc -totableselect.moc -totabwidget.moc -totemplate.moc -totemplateaddfileui.cpp -totemplateaddfileui.h -totemplateaddfileui.moc -totemplateeditui.cpp -totemplateeditui.h -totemplateeditui.moc -totemplatesetupui.cpp -totemplatesetupui.h -totemplatesetupui.moc -totemporary.moc -totool.moc -totoolsettingui.cpp -totoolsettingui.h -totoolsettingui.moc -totuning.moc -totuningoverviewui.cpp -totuningoverviewui.h -totuningoverviewui.moc -totuningsettingui.cpp -totuningsettingui.h -totuningsettingui.moc -tovisualize.moc -towaitevents.moc -toworksheet.moc -toworksheetsetupui.cpp -toworksheetsetupui.h -toworksheetsetupui.moc -toworksheetstatistic.moc -utils.moc -*.lo -*.la -*.moc -.deps -.libs -COPYING -Makefile.in -autom4te.cache -ccache.log -config.guess -config.h.in -config.log -config.status -config.sub -depcomp -install-sh -libtool -missing -mkinstalldirs -stamp-h1 -aclocal.m4 -config.h -configure -*.tar.gz Deleted: trunk/tora/doc/help/images/.cvsignore =================================================================== --- trunk/tora/doc/help/images/.cvsignore 2006-03-14 23:25:59 UTC (rev 1982) +++ trunk/tora/doc/help/images/.cvsignore 2006-03-14 23:29:14 UTC (rev 1983) @@ -1 +0,0 @@ -.xvpics Deleted: trunk/tora/rpm/.cvsignore =================================================================== --- trunk/tora/rpm/.cvsignore 2006-03-14 23:25:59 UTC (rev 1982) +++ trunk/tora/rpm/.cvsignore 2006-03-14 23:29:14 UTC (rev 1983) @@ -1 +0,0 @@ -tora.spec Deleted: trunk/tora/src/icons/.cvsignore =================================================================== --- trunk/tora/src/icons/.cvsignore 2006-03-14 23:25:59 UTC (rev 1982) +++ trunk/tora/src/icons/.cvsignore 2006-03-14 23:29:14 UTC (rev 1983) @@ -1 +0,0 @@ -.xvpics This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nn...@us...> - 2006-03-15 13:34:53
|
Revision: 1985 Author: nneul Date: 2006-03-15 05:34:48 -0800 (Wed, 15 Mar 2006) ViewCVS: http://svn.sourceforge.net/tora/?rev=1985&view=rev Log Message: ----------- apply patch for rhel-3 compat Modified Paths: -------------- trunk/tora/NEWS trunk/tora/src/tomarkedtext.cpp trunk/tora/src/tosqledit.cpp trunk/tora/src/totemplate.cpp Modified: trunk/tora/NEWS =================================================================== --- trunk/tora/NEWS 2006-03-15 12:00:15 UTC (rev 1984) +++ trunk/tora/NEWS 2006-03-15 13:34:48 UTC (rev 1985) @@ -9,6 +9,8 @@ 2006-03-13: When searching for tnsnames.ora look to TNS_ADMIN on Windows too, to support Oracle Instant Client user 2006-03-14: Remove references to TOAD and OAS and various conditional compiles for them 2006-03-14: Remove Quotes part of about dialog. +2006-03-14: Fix problem with last character of sql entry box +2006-03-14: Apply patch #1438322 to regain some QT3.1 compatability for RHEL-3 1.3.21: Modified: trunk/tora/src/tomarkedtext.cpp =================================================================== --- trunk/tora/src/tomarkedtext.cpp 2006-03-15 12:00:15 UTC (rev 1984) +++ trunk/tora/src/tomarkedtext.cpp 2006-03-15 13:34:48 UTC (rev 1985) @@ -619,7 +619,11 @@ // means. // That means the selection is broken for now. +#if QT_VERSION > 0x031000 QextScintilla::insert(str); +#else + insert(str); +#endif // get new position and select if requested if(select) { Modified: trunk/tora/src/tosqledit.cpp =================================================================== --- trunk/tora/src/tosqledit.cpp 2006-03-15 12:00:15 UTC (rev 1984) +++ trunk/tora/src/tosqledit.cpp 2006-03-15 13:34:48 UTC (rev 1985) @@ -374,7 +374,11 @@ TrashButton->setEnabled(true); CommitButton->setEnabled(true); +#if QT_VERSION > 0x031000 bool update = Name->isModified(); +#else + bool update = Name->edited(); +#endif Name->setEdited(false); Description->setModified(false); @@ -387,7 +391,11 @@ bool toSQLEdit::checkStore(bool justVer) { +#if QT_VERSION > 0x031000 if ((Name->isModified() || +#else + if ((Name->edited() || +#endif Editor->editor()->isModified() || (!justVer && Version->currentText() != LastVersion) || Description->isModified()) && Modified: trunk/tora/src/totemplate.cpp =================================================================== --- trunk/tora/src/totemplate.cpp 2006-03-15 12:00:15 UTC (rev 1984) +++ trunk/tora/src/totemplate.cpp 2006-03-15 13:34:48 UTC (rev 1985) @@ -213,7 +213,9 @@ toHelp::connectDialog(this); LastTemplate = TemplateMap.end(); updateFromMap(); +#if QT_VERSION >= 0x040000 Description->setWrapMode(QextScintilla::WrapWord); +#endif } virtual void remove (void) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <da...@us...> - 2006-03-18 14:03:47
|
Revision: 1994 Author: dandfra Date: 2006-03-18 06:03:25 -0800 (Sat, 18 Mar 2006) ViewCVS: http://svn.sourceforge.net/tora/?rev=1994&view=rev Log Message: ----------- Fixed autocompletion on linux Reverted patch #1438322 Modified Paths: -------------- trunk/tora/INSTALL trunk/tora/NEWS trunk/tora/src/tohighlightedtext.cpp trunk/tora/src/tomarkedtext.cpp trunk/tora/src/tosqledit.cpp trunk/tora/src/totemplate.cpp Modified: trunk/tora/INSTALL =================================================================== --- trunk/tora/INSTALL 2006-03-16 20:40:24 UTC (rev 1993) +++ trunk/tora/INSTALL 2006-03-18 14:03:25 UTC (rev 1994) @@ -1,7 +1,7 @@ Installation Instructions ************************* -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004 Free +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives @@ -189,9 +189,14 @@ ./configure CC=/usr/local2/bin/gcc -will cause the specified gcc to be used as the C compiler (unless it is -overridden in the site shell script). +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). Here is a another example: + /bin/bash ./configure CONFIG_SHELL=/bin/bash + +Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent +configuration-related scripts to be executed by `/bin/bash'. + `configure' Invocation ====================== Modified: trunk/tora/NEWS =================================================================== --- trunk/tora/NEWS 2006-03-16 20:40:24 UTC (rev 1993) +++ trunk/tora/NEWS 2006-03-18 14:03:25 UTC (rev 1994) @@ -11,6 +11,8 @@ 2006-03-14: Remove Quotes part of about dialog. 2006-03-14: Fix problem with last character of sql entry box 2006-03-14: Apply patch #1438322 to regain some QT3.1 compatability for RHEL-3 +2006-03-18: Reverted patch #1438322: it hangs tora PL/SQL Debugger +2006-03-18: Fixed autocompletion on Linux 1.3.21: Modified: trunk/tora/src/tohighlightedtext.cpp =================================================================== --- trunk/tora/src/tohighlightedtext.cpp 2006-03-16 20:40:24 UTC (rev 1993) +++ trunk/tora/src/tohighlightedtext.cpp 2006-03-18 14:03:25 UTC (rev 1994) @@ -45,6 +45,7 @@ #include <ctype.h> + #include <qapplication.h> #include <qpainter.h> #include <qpalette.h> @@ -280,14 +281,9 @@ #ifdef WIN32 && e->text()!="\r" #else - && e->text()!="\n" + && e->key()!=Qt::Key_Return #endif && e->text()!=" ") || e->key()==Qt::Key_Backspace){ - if ( e->key()==Qt::Key_Backspace){ - TO_DEBUGOUT("Backspace"); - }else{ - TO_DEBUGOUT(e->text()); - } this->editor->keyPressEvent(e); this->editor->autoCompleteFromAPIs(); }else if (e->text() && e->text().length()>0 && e->text()==" "){ @@ -382,7 +378,7 @@ for(i=0;i<popup->numRows();i++){ if(popup->item(i)->text().find(partial)==0){ popup->setSelected(i,true); - exit; + break; } } Modified: trunk/tora/src/tomarkedtext.cpp =================================================================== --- trunk/tora/src/tomarkedtext.cpp 2006-03-16 20:40:24 UTC (rev 1993) +++ trunk/tora/src/tomarkedtext.cpp 2006-03-18 14:03:25 UTC (rev 1994) @@ -618,12 +618,9 @@ // the inserted text. Now I'm not really sure what the heck that // means. - // That means the selection is broken for now. -#if QT_VERSION > 0x031000 + QextScintilla::insert(str); -#else - insert(str); -#endif + // get new position and select if requested if(select) { Modified: trunk/tora/src/tosqledit.cpp =================================================================== --- trunk/tora/src/tosqledit.cpp 2006-03-16 20:40:24 UTC (rev 1993) +++ trunk/tora/src/tosqledit.cpp 2006-03-18 14:03:25 UTC (rev 1994) @@ -374,12 +374,9 @@ TrashButton->setEnabled(true); CommitButton->setEnabled(true); -#if QT_VERSION > 0x031000 bool update = Name->isModified(); -#else - bool update = Name->edited(); -#endif + Name->setEdited(false); Description->setModified(false); Editor->editor()->setModified(false); @@ -391,11 +388,7 @@ bool toSQLEdit::checkStore(bool justVer) { -#if QT_VERSION > 0x031000 if ((Name->isModified() || -#else - if ((Name->edited() || -#endif Editor->editor()->isModified() || (!justVer && Version->currentText() != LastVersion) || Description->isModified()) && Modified: trunk/tora/src/totemplate.cpp =================================================================== --- trunk/tora/src/totemplate.cpp 2006-03-16 20:40:24 UTC (rev 1993) +++ trunk/tora/src/totemplate.cpp 2006-03-18 14:03:25 UTC (rev 1994) @@ -213,9 +213,7 @@ toHelp::connectDialog(this); LastTemplate = TemplateMap.end(); updateFromMap(); -#if QT_VERSION >= 0x040000 Description->setWrapMode(QextScintilla::WrapWord); -#endif } virtual void remove (void) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <kna...@us...> - 2006-03-18 19:50:49
|
Revision: 1995 Author: knackeback Date: 2006-03-18 11:50:23 -0800 (Sat, 18 Mar 2006) ViewCVS: http://svn.sourceforge.net/tora/?rev=1995&view=rev Log Message: ----------- rename COPYRIGHT to COPYING to avoid duplicate copyright information Modified Paths: -------------- trunk/tora/Makefile.am trunk/tora/autogen.sh Added Paths: ----------- trunk/tora/COPYING Removed Paths: ------------- trunk/tora/COPYRIGHT Copied: trunk/tora/COPYING (from rev 1994, trunk/tora/COPYRIGHT) =================================================================== --- trunk/tora/COPYING (rev 0) +++ trunk/tora/COPYING 2006-03-18 19:50:23 UTC (rev 1995) @@ -0,0 +1,76 @@ +/***** + * + * TOra - An Oracle Toolkit for DBA's and developers + * Copyright (C) 2003-2005 Quest Software, Inc + * Portions Copyright (C) 2005 Other Contributors + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; only version 2 of + * the License is valid for this program. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * As a special exception, you have permission to link this program + * with the Oracle Client libraries and distribute executables, as long + * as you follow the requirements of the GNU GPL in regard to all of the + * software in the executable aside from Oracle client libraries. + * + * Specifically you are not permitted to link this program with the + * Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. + * And you are not permitted to distribute binaries compiled against + * these libraries without written consent from Quest Software, Inc. + * Observe that this does not disallow linking to the Qt Free Edition. + * + * You may link this product with any GPL'd Qt library such as Qt/Free + * + * All trademarks belong to their respective owners. + * + *****/ + + +##### +# +# TOra - An Oracle Toolkit for DBA's and developers +# Copyright (C) 2003-2005 Quest Software, Inc +# Portions Copyright (C) 2005 Other Contributors +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; only version 2 of +# the License is valid for this program. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception, you have permission to link this program +# with the Oracle Client libraries and distribute executables, as long +# as you follow the requirements of the GNU GPL in regard to all of the +# software in the executable aside from Oracle client libraries. +# +# Specifically you are not permitted to link this program with the +# Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. +# And you are not permitted to distribute binaries compiled against +# these libraries without written consent from Quest Software, Inc. +# Observe that this does not disallow linking to the Qt Free Edition. +# +# You may link this product with any GPL'd Qt library such as Qt/Free +# +# All trademarks belong to their respective owners. +# +##### + + Deleted: trunk/tora/COPYRIGHT =================================================================== --- trunk/tora/COPYRIGHT 2006-03-18 14:03:25 UTC (rev 1994) +++ trunk/tora/COPYRIGHT 2006-03-18 19:50:23 UTC (rev 1995) @@ -1,76 +0,0 @@ -/***** - * - * TOra - An Oracle Toolkit for DBA's and developers - * Copyright (C) 2003-2005 Quest Software, Inc - * Portions Copyright (C) 2005 Other Contributors - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; only version 2 of - * the License is valid for this program. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * As a special exception, you have permission to link this program - * with the Oracle Client libraries and distribute executables, as long - * as you follow the requirements of the GNU GPL in regard to all of the - * software in the executable aside from Oracle client libraries. - * - * Specifically you are not permitted to link this program with the - * Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. - * And you are not permitted to distribute binaries compiled against - * these libraries without written consent from Quest Software, Inc. - * Observe that this does not disallow linking to the Qt Free Edition. - * - * You may link this product with any GPL'd Qt library such as Qt/Free - * - * All trademarks belong to their respective owners. - * - *****/ - - -##### -# -# TOra - An Oracle Toolkit for DBA's and developers -# Copyright (C) 2003-2005 Quest Software, Inc -# Portions Copyright (C) 2005 Other Contributors -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; only version 2 of -# the License is valid for this program. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception, you have permission to link this program -# with the Oracle Client libraries and distribute executables, as long -# as you follow the requirements of the GNU GPL in regard to all of the -# software in the executable aside from Oracle client libraries. -# -# Specifically you are not permitted to link this program with the -# Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. -# And you are not permitted to distribute binaries compiled against -# these libraries without written consent from Quest Software, Inc. -# Observe that this does not disallow linking to the Qt Free Edition. -# -# You may link this product with any GPL'd Qt library such as Qt/Free -# -# All trademarks belong to their respective owners. -# -##### - - Modified: trunk/tora/Makefile.am =================================================================== --- trunk/tora/Makefile.am 2006-03-18 14:03:25 UTC (rev 1994) +++ trunk/tora/Makefile.am 2006-03-18 19:50:23 UTC (rev 1995) @@ -10,7 +10,7 @@ EXTRA_DIST = debian \ rpm \ BUGS \ - COPYRIGHT \ + COPYING \ Makefile.OSX \ Makefile.mingw \ $(READMES) \ Modified: trunk/tora/autogen.sh =================================================================== --- trunk/tora/autogen.sh 2006-03-18 14:03:25 UTC (rev 1994) +++ trunk/tora/autogen.sh 2006-03-18 19:50:23 UTC (rev 1995) @@ -98,7 +98,7 @@ fi check_automake_version -automake --add-missing --copy --force-missing +automake --copy --force-missing if test "$?" != "0"; then err "automake failed. exit." fi This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <da...@us...> - 2006-03-20 09:34:40
|
Revision: 1996 Author: dandfra Date: 2006-03-20 01:34:27 -0800 (Mon, 20 Mar 2006) ViewCVS: http://svn.sourceforge.net/tora/?rev=1996&view=rev Log Message: ----------- Linux autocompletion works on Windows too. Remove the ifdef Modified Paths: -------------- trunk/tora/NEWS trunk/tora/src/tohighlightedtext.cpp Modified: trunk/tora/NEWS =================================================================== --- trunk/tora/NEWS 2006-03-18 19:50:23 UTC (rev 1995) +++ trunk/tora/NEWS 2006-03-20 09:34:27 UTC (rev 1996) @@ -13,6 +13,7 @@ 2006-03-14: Apply patch #1438322 to regain some QT3.1 compatability for RHEL-3 2006-03-18: Reverted patch #1438322: it hangs tora PL/SQL Debugger 2006-03-18: Fixed autocompletion on Linux +2006-03-20: Linux autocompletion works on Windows too. Remove the ifdef 1.3.21: Modified: trunk/tora/src/tohighlightedtext.cpp =================================================================== --- trunk/tora/src/tohighlightedtext.cpp 2006-03-18 19:50:23 UTC (rev 1995) +++ trunk/tora/src/tohighlightedtext.cpp 2006-03-20 09:34:27 UTC (rev 1996) @@ -277,12 +277,7 @@ void toComplPopup::keyPressEvent(QKeyEvent * e){ - if ((e->text() && e->text().length()>0 -#ifdef WIN32 - && e->text()!="\r" -#else - && e->key()!=Qt::Key_Return -#endif + if ((e->text() && e->text().length()>0 && e->key()!=Qt::Key_Return && e->text()!=" ") || e->key()==Qt::Key_Backspace){ this->editor->keyPressEvent(e); this->editor->autoCompleteFromAPIs(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <kna...@us...> - 2006-03-27 20:05:53
|
Revision: 2017 Author: knackeback Date: 2006-03-27 12:05:39 -0800 (Mon, 27 Mar 2006) ViewCVS: http://svn.sourceforge.net/tora/?rev=2017&view=rev Log Message: ----------- add cppunit to TOra Modified Paths: -------------- trunk/tora/Makefile.am trunk/tora/configure.ac Modified: trunk/tora/Makefile.am =================================================================== --- trunk/tora/Makefile.am 2006-03-27 20:03:39 UTC (rev 2016) +++ trunk/tora/Makefile.am 2006-03-27 20:05:39 UTC (rev 2017) @@ -21,4 +21,4 @@ dist-hook: rm -rf `find $(distdir) -name .svn` -SUBDIRS = utils src ext doc +SUBDIRS = utils src ext test doc Modified: trunk/tora/configure.ac =================================================================== --- trunk/tora/configure.ac 2006-03-27 20:03:39 UTC (rev 2016) +++ trunk/tora/configure.ac 2006-03-27 20:05:39 UTC (rev 2017) @@ -51,6 +51,8 @@ MRJ_CHECK_ORACLE TORA_CHECK_QSCINTILLA AX_PATH_LIB_PCRE +AM_PATH_CPPUNIT([1.10.2], found_cppunit=yes) +AM_CONDITIONAL([CPPUNIT], [test "x$found_cppunit" = "xyes"]) # Makefile.am uses these AM_CONDITIONAL(ENABLE_MONO, test "$enable_mono" = yes) @@ -60,6 +62,8 @@ AC_CONFIG_FILES([utils/Makefile]) AC_CONFIG_FILES([utils/chex/Makefile]) AC_CONFIG_FILES([src/Makefile]) +AC_CONFIG_FILES([test/Makefile]) +AC_CONFIG_FILES([test/configuration/Makefile]) AC_CONFIG_FILES([ext/Makefile]) AC_CONFIG_FILES([doc/Makefile]) AC_CONFIG_FILES([doc/help/Makefile]) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <da...@us...> - 2006-04-05 09:05:25
|
Revision: 2040 Author: dandfra Date: 2006-04-05 02:05:03 -0700 (Wed, 05 Apr 2006) ViewCVS: http://svn.sourceforge.net/tora/?rev=2040&view=rev Log Message: ----------- It Compiles on Windows, readded lost patch Modified Paths: -------------- trunk/tora/Makefile.mingw trunk/tora/NEWS trunk/tora/src/toconfiguration.cpp trunk/tora/src/utils.cpp Modified: trunk/tora/Makefile.mingw =================================================================== --- trunk/tora/Makefile.mingw 2006-04-04 19:21:49 UTC (rev 2039) +++ trunk/tora/Makefile.mingw 2006-04-05 09:05:03 UTC (rev 2040) @@ -61,7 +61,7 @@ # Additional includes needed to compile program INCLUDES="-I$(OCI_HOME)/include" \ "-I$(QTDIR)/include" \ - "-I$(OTL_DIR)" + "-I$(OTL_DIR)" \ "-I$(LOKI_DIR)" # C++ Compiler to use Modified: trunk/tora/NEWS =================================================================== --- trunk/tora/NEWS 2006-04-04 19:21:49 UTC (rev 2039) +++ trunk/tora/NEWS 2006-04-05 09:05:03 UTC (rev 2040) @@ -14,6 +14,7 @@ 2006-03-18: Reverted patch #1438322: it hangs tora PL/SQL Debugger 2006-03-18: Fixed autocompletion on Linux 2006-03-20: Linux autocompletion works on Windows too. Remove the ifdef +2006-04-05: Fixed compilation on windows. Re-added missing patch from Michael Meskes 1.3.21: Modified: trunk/tora/src/toconfiguration.cpp =================================================================== --- trunk/tora/src/toconfiguration.cpp 2006-04-04 19:21:49 UTC (rev 2039) +++ trunk/tora/src/toconfiguration.cpp 2006-04-05 09:05:03 UTC (rev 2040) @@ -4,8 +4,50 @@ #include <qregexp.h> #include "utils.h" +#ifdef WIN32 +#include "windows/cregistry.h" +#endif +#ifdef WIN32 +# ifdef TOAD +# define APPLICATION_NAME "SOFTWARE\\Quest Software\\Toad for MySQL\\" +# else +# define APPLICATION_NAME "SOFTWARE\\Quest Software\\tora\\" +# define FALLBACK_NAME "SOFTWARE\\Underscore\\tora\\" +# endif +static char *toKeyPath(const QString &str, CRegistry ®istry) +{ + static char *buf = NULL; + int pos = str.length() - 1; + while (pos >= 0 && str.at(pos) != '\\') + pos--; + if (pos < 0) + throw QT_TRANSLATE_NOOP("toKeyPath", "Couldn't find \\ in path"); + QString ret = str.mid(0, pos); + if (buf) + free(buf); + buf = strdup(ret); + registry.CreateKey(HKEY_CURRENT_USER, buf); + return buf; +} + +static char *toKeyValue(const QString &str) +{ + static char *buf = NULL; + int pos = str.length() - 1; + while (pos >= 0 && str.at(pos) != '\\') + pos--; + if (pos < 0) + throw QT_TRANSLATE_NOOP("toKeyValue", "Couldn't find \\ in path"); + if (buf) + free(buf); + buf = strdup(str.mid(pos + 1)); + return buf; +} + +#endif + toConfiguration::toConfiguration() { @@ -251,47 +293,8 @@ return (*i).second; } -#ifdef WIN32 -# ifdef TOAD -# define APPLICATION_NAME "SOFTWARE\\Quest Software\\Toad for MySQL\\" -# else -# define APPLICATION_NAME "SOFTWARE\\Quest Software\\tora\\" -# define FALLBACK_NAME "SOFTWARE\\Underscore\\tora\\" -# endif -static char *toKeyPath(const QString &str, CRegistry ®istry) -{ - static char *buf = NULL; - int pos = str.length() - 1; - while (pos >= 0 && str.at(pos) != '\\') - pos--; - if (pos < 0) - throw QT_TRANSLATE_NOOP("toKeyPath", "Couldn't find \\ in path"); - QString ret = str.mid(0, pos); - if (buf) - free(buf); - buf = strdup(ret); - registry.CreateKey(HKEY_CURRENT_USER, buf); - return buf; -} -static char *toKeyValue(const QString &str) -{ - static char *buf = NULL; - int pos = str.length() - 1; - while (pos >= 0 && str.at(pos) != '\\') - pos--; - if (pos < 0) - throw QT_TRANSLATE_NOOP("toKeyValue", "Couldn't find \\ in path"); - if (buf) - free(buf); - buf = strdup(str.mid(pos + 1)); - return buf; -} - -#endif - - const QString& toConfiguration::config(const QCString &tag, const QCString &def, const QCString &name) { QCString str = name; Modified: trunk/tora/src/utils.cpp =================================================================== --- trunk/tora/src/utils.cpp 2006-04-04 19:21:49 UTC (rev 2039) +++ trunk/tora/src/utils.cpp 2006-04-05 09:05:03 UTC (rev 2040) @@ -325,12 +325,13 @@ toMain *main = dynamic_cast<toMain *>(qApp->mainWidget()); if (main) { + if(!str.isEmpty()){ int sec = toConfigurationSingle::Instance().globalConfig(CONF_STATUS_MESSAGE, DEFAULT_STATUS_MESSAGE).toInt(); if (save || sec == 0) main->statusBar()->message(str.simplifyWhiteSpace()); else main->statusBar()->message(str.simplifyWhiteSpace(), sec*1000); - if (!save && !str.isEmpty() && log) + if (!save && log) { if (toConfigurationSingle::Instance().globalConfig(CONF_MESSAGE_STATUSBAR, "").isEmpty()) main->displayMessage(str); @@ -341,6 +342,7 @@ } QToolTip::add (main->statusBar(), str); + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nn...@us...> - 2006-04-13 18:47:12
|
Revision: 2042 Author: nneul Date: 2006-04-13 11:47:07 -0700 (Thu, 13 Apr 2006) ViewCVS: http://svn.sourceforge.net/tora/?rev=2042&view=rev Log Message: ----------- Apply patch from Andrew Gilmore to fix rpm spec builds as non-root user Modified Paths: -------------- trunk/tora/NEWS trunk/tora/rpm/tora.spec.in Modified: trunk/tora/NEWS =================================================================== --- trunk/tora/NEWS 2006-04-06 19:52:16 UTC (rev 2041) +++ trunk/tora/NEWS 2006-04-13 18:47:07 UTC (rev 2042) @@ -15,6 +15,7 @@ 2006-03-18: Fixed autocompletion on Linux 2006-03-20: Linux autocompletion works on Windows too. Remove the ifdef 2006-04-05: Fixed compilation on windows. Re-added missing patch from Michael Meskes +2006-04-13: Apply patch from Andrew Gilmore to fix rpm spec builds as non-root user 1.3.21: Modified: trunk/tora/rpm/tora.spec.in =================================================================== --- trunk/tora/rpm/tora.spec.in 2006-04-06 19:52:16 UTC (rev 2041) +++ trunk/tora/rpm/tora.spec.in 2006-04-13 18:47:07 UTC (rev 2042) @@ -178,12 +178,12 @@ %{__mkdir_p} "${RPM_BUILD_ROOT}%{_iconsdir}/hicolor/32x32/apps" %{__make} DESTDIR="${RPM_BUILD_ROOT}" install -%{__install} --owner root --group root --mode=644 help/*.html "${RPM_BUILD_ROOT}%{_prefix}/lib/tora/help/" -%{__install} --owner root --group root --mode=644 help/images/*.png "${RPM_BUILD_ROOT}%{_prefix}/lib/tora/help/images/" -%{__install} --owner root --group root --mode=644 help/api/*.html "${RPM_BUILD_ROOT}%{_prefix}/lib/tora/help/api/" +%{__install} --mode=644 help/*.html "${RPM_BUILD_ROOT}%{_prefix}/lib/tora/help/" +%{__install} --mode=644 help/images/*.png "${RPM_BUILD_ROOT}%{_prefix}/lib/tora/help/images/" +%{__install} --mode=644 help/api/*.html "${RPM_BUILD_ROOT}%{_prefix}/lib/tora/help/api/" -%{__install} --owner root --group root --mode=644 icons/tora.xpm "${RPM_BUILD_ROOT}%{_iconsdir}/hicolor/32x32/apps/tora.xpm" -%{__install} --owner root --group root --mode=644 icons/toramini.xpm "${RPM_BUILD_ROOT}%{_iconsdir}/hicolor/16x16/apps/tora.xpm" +%{__install} --mode=644 icons/tora.xpm "${RPM_BUILD_ROOT}%{_iconsdir}/hicolor/32x32/apps/tora.xpm" +%{__install} --mode=644 icons/toramini.xpm "${RPM_BUILD_ROOT}%{_iconsdir}/hicolor/16x16/apps/tora.xpm" %post This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <da...@us...> - 2006-04-24 16:11:38
|
Revision: 2046 Author: dandfra Date: 2006-04-24 09:11:20 -0700 (Mon, 24 Apr 2006) ViewCVS: http://svn.sourceforge.net/tora/?rev=2046&view=rev Log Message: ----------- Drop Tablespace Modified Paths: -------------- trunk/tora/NEWS trunk/tora/src/Makefile.am trunk/tora/src/tostorage.cpp trunk/tora/src/tostorage.h Added Paths: ----------- trunk/tora/src/icons/droptablespace.xpm trunk/tora/src/todroptablespaceui.ui Modified: trunk/tora/NEWS =================================================================== --- trunk/tora/NEWS 2006-04-22 20:13:10 UTC (rev 2045) +++ trunk/tora/NEWS 2006-04-24 16:11:20 UTC (rev 2046) @@ -16,6 +16,7 @@ 2006-03-20: Linux autocompletion works on Windows too. Remove the ifdef 2006-04-05: Fixed compilation on windows. Re-added missing patch from Michael Meskes 2006-04-13: Apply patch from Andrew Gilmore to fix rpm spec builds as non-root user +2006-04-24: Add drop tablespace functionality 1.3.21: Modified: trunk/tora/src/Makefile.am =================================================================== --- trunk/tora/src/Makefile.am 2006-04-22 20:13:10 UTC (rev 2045) +++ trunk/tora/src/Makefile.am 2006-04-24 16:11:20 UTC (rev 2046) @@ -187,8 +187,8 @@ totextview.cpp totextview.h \ tothread.cpp tothread.h \ totool.cpp totool.h \ - totoolsettingui.cpp totoolsettingui.h \ - utils.cpp utils.h \ + totoolsettingui.cpp totoolsettingui.h todroptablespaceui.h \ + todroptablespaceui.cpp utils.cpp utils.h \ $(EXTRA_tora_SOURCES) UI_FILES = toaboutui.ui \ @@ -231,7 +231,8 @@ tomessageui.ui \ tostoragedialogui.ui \ tonewconnectionui.ui \ - tostorageprefsui.ui + tostorageprefsui.ui \ + todroptablespaceui.ui EXTRA_DIST = icons \ @@ -294,6 +295,7 @@ todebugchangeui.moc \ todebugwatch.moc \ todebugtext.moc \ + todroptablespaceui.moc \ toeditextensiongotoui.moc \ toeditextensions.moc \ toeditextensionsetupui.moc \ @@ -391,6 +393,7 @@ toworksheetstatistic.moc \ utils.moc \ toaboutui.cpp \ + todroptablespaceui.cpp \ tobrowserconstraintui.cpp \ tobrowserfilterui.cpp \ tobrowserindexui.cpp \ @@ -401,6 +404,7 @@ todebugchangeui.cpp \ todebugwatch.cpp \ toaboutui.h \ + todroptablespaceui.h \ tobrowserconstraintui.h \ tobrowserfilterui.h \ tobrowserindexui.h \ Added: trunk/tora/src/icons/droptablespace.xpm =================================================================== --- trunk/tora/src/icons/droptablespace.xpm (rev 0) +++ trunk/tora/src/icons/droptablespace.xpm 2006-04-24 16:11:20 UTC (rev 2046) @@ -0,0 +1,27 @@ +/* XPM */ +static const char* const droptablespace_xpm[] = { +/* columns rows colors chars-per-pixel */ +"16 16 5 1", +" c black", +". c gray50", +"X c red", +"o c gray100", +"O c None", +/* pixels */ +"OOOOO XX XX", +"OOOO .... XXXXXX", +"OOO ...... XXXX ", +"OOO ... XXXX ", +"OOO o . XXXXXX", +"OO . XX XX", +"O ...... .. ", +" ........ o ", +" ...... ooooo ", +" o o oooo ", +" oooooooo o ", +" oooooo ooooo ", +" o o oooo O", +" oooooooo OO", +"O oooooo OOOOOOO", +"OO OOOOOOOO" +}; Added: trunk/tora/src/todroptablespaceui.ui =================================================================== --- trunk/tora/src/todroptablespaceui.ui (rev 0) +++ trunk/tora/src/todroptablespaceui.ui 2006-04-24 16:11:20 UTC (rev 2046) @@ -0,0 +1,157 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>toDropTablespaceUI</class> +<widget class="QWidget"> + <property name="name"> + <cstring>toDropTablespaceUI</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>436</width> + <height>133</height> + </rect> + </property> + <property name="caption"> + <string>Form1</string> + </property> + <widget class="QButtonGroup"> + <property name="name"> + <cstring>buttonGroup3</cstring> + </property> + <property name="geometry"> + <rect> + <x>10</x> + <y>10</y> + <width>410</width> + <height>110</height> + </rect> + </property> + <property name="title"> + <string>Options</string> + </property> + <widget class="QCheckBox"> + <property name="name"> + <cstring>CascadeCheck</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="geometry"> + <rect> + <x>40</x> + <y>50</y> + <width>340</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>even if there is some forerign key referencing them</string> + </property> + </widget> + <widget class="QCheckBox"> + <property name="name"> + <cstring>dataFileCheck</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="geometry"> + <rect> + <x>40</x> + <y>80</y> + <width>150</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Delete datafiles</string> + </property> + </widget> + <widget class="QCheckBox"> + <property name="name"> + <cstring>IncludingObjectsCheck</cstring> + </property> + <property name="geometry"> + <rect> + <x>10</x> + <y>20</y> + <width>220</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Drop even if it contains objects</string> + </property> + <property name="checked"> + <bool>false</bool> + </property> + </widget> + </widget> + <spacer> + <property name="name"> + <cstring>spacer4</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>90</width> + <height>20</height> + </size> + </property> + <property name="geometry"> + <rect> + <x>420</x> + <y>60</y> + <width>90</width> + <height>20</height> + </rect> + </property> + </spacer> + <spacer> + <property name="name"> + <cstring>spacer5</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>70</height> + </size> + </property> + <property name="geometry"> + <rect> + <x>160</x> + <y>120</y> + <width>20</width> + <height>70</height> + </rect> + </property> + </spacer> +</widget> +<connections> + <connection> + <sender>IncludingObjectsCheck</sender> + <signal>toggled(bool)</signal> + <receiver>CascadeCheck</receiver> + <slot>setEnabled(bool)</slot> + </connection> + <connection> + <sender>IncludingObjectsCheck</sender> + <signal>toggled(bool)</signal> + <receiver>dataFileCheck</receiver> + <slot>setEnabled(bool)</slot> + </connection> +</connections> +<layoutdefaults spacing="6" margin="11"/> +</UI> Modified: trunk/tora/src/tostorage.cpp =================================================================== --- trunk/tora/src/tostorage.cpp 2006-04-22 20:13:10 UTC (rev 2045) +++ trunk/tora/src/tostorage.cpp 2006-04-24 16:11:20 UTC (rev 2046) @@ -81,9 +81,11 @@ #include "tostoragedialogui.moc" #include "tostorageprefsui.moc" #include "tostoragetablespaceui.moc" +#include "todroptablespaceui.moc" #include "icons/addfile.xpm" #include "icons/addtablespace.xpm" +#include "icons/droptablespace.xpm" #include "icons/coalesce.xpm" #include "icons/eraselog.xpm" #include "icons/logging.xpm" @@ -154,6 +156,28 @@ } }; +toDropTablespace::toDropTablespace(QWidget* parent, const char* name, WFlags fl) + : toDropTablespaceUI(parent, name, fl) +{ + if (!name) + setName("toDropTablespace"); +} + +std::list<QString> toDropTablespace::sql(){ + std::list<QString> ret; + if(IncludingObjectsCheck->isChecked()){ + toPush(ret, QString::fromLatin1("INCLUDING CONTENTS ")); + if(dataFileCheck->isChecked()) + toPush(ret, QString::fromLatin1("AND DATAFILES ")); + if(CascadeCheck->isChecked()) + toPush(ret, QString::fromLatin1("CASCADE CONSTRAINTS ")); + }else + toPush(ret, QString::fromLatin1("")); + return ret; +} + + + toStorageTablespace::toStorageTablespace(QWidget* parent, const char* name, WFlags fl) : toStorageTablespaceUI(parent, name, fl) { @@ -426,7 +450,7 @@ "Get information about a tablespace for the modify dialog, " "must have same columns and bindings"); -toStorageDialog::toStorageDialog(const QString &tablespace, QWidget *parent) +toStorageDialog::toStorageDialog(const QString &tablespace, QWidget *parent, bool drop) : toStorageDialogUI(parent, "Storage Dialog", true) { Setup(); @@ -434,6 +458,8 @@ if (!tablespace.isNull()) { + TablespaceOrig = tablespace; + if(!drop){ try { toQList result; @@ -447,15 +473,27 @@ QString temp = toShift(result); Mode = NewDatafile; - TablespaceOrig = tablespace; setCaption(tr("Add datafile")); Tablespace = NULL; Default = NULL; + Drop = NULL; Datafile = new toStorageDatafile(dict != QString::fromLatin1("DICTIONARY") && temp != QString::fromLatin1("PERMANENT"), false, DialogTab); DialogTab->addTab(Datafile, tr("Datafile")); + connect(Datafile, SIGNAL(validContent(bool)), this, SLOT(validContent(bool))); } TOCATCH + }else{ + Mode = DropTablespace; + Tablespace = NULL; + Default = NULL; + Datafile=NULL; + Drop=new toDropTablespace(DialogTab); + DialogTab->addTab(Datafile, tr("Drop Tablespace")); + setCaption(tr("Drop Tablespace")); + connect(Drop, SIGNAL(validContent(bool)), this, SLOT(validContent(bool))); + emit validContent(true); + } } else { @@ -470,8 +508,9 @@ Default->setEnabled(false); connect(Tablespace, SIGNAL(allowStorage(bool)), this, SLOT(allowStorage(bool))); connect(Tablespace, SIGNAL(tempFile(bool)), Datafile, SLOT(setTempFile(bool))); + connect(Datafile, SIGNAL(validContent(bool)), this, SLOT(validContent(bool))); } - connect(Datafile, SIGNAL(validContent(bool)), this, SLOT(validContent(bool))); + } toStorageDialog::toStorageDialog(toConnection &conn, const QString &tablespace, QWidget *parent) @@ -659,6 +698,21 @@ std::list<QString> ret; switch (Mode) { + case DropTablespace: + { + QString start = QString::fromLatin1("DROP TABLESPACE \""); + start += TablespaceOrig; + start += QString::fromLatin1("\" "); + if(Drop){ + std::list<QString> lst = Drop->sql(); + for (std::list<QString>::iterator i = lst.begin();i != lst.end();i++){ + start += QString::fromLatin1(" "); + start += *i; + } + } + toPush(ret, start); + } + break; case ModifyDatafile: { QString start = QString::fromLatin1("ALTER DATABASE "); @@ -825,6 +879,11 @@ tr("Modify tablespace"), this, SLOT(modifyTablespace(void)), toolbar); + DropTablespaceButton=new QToolButton(QPixmap(const_cast<const char**>(droptablespace_xpm)), + tr("Drop tablespace"), + tr("Drop tablespace"), + this, SLOT(dropTablespace(void)), + toolbar); ModFileButton = new QToolButton(QPixmap(const_cast<const char**>(modfile_xpm)), tr("Modify file"), tr("Modify file"), @@ -836,6 +895,7 @@ tr("Create new tablespace"), this, SLOT(newTablespace(void)), toolbar); + NewFileButton = new QToolButton(QPixmap(const_cast<const char**>(addfile_xpm)), tr("Add datafile to tablespace"), tr("Add datafile to tablespace"), @@ -905,6 +965,7 @@ #define TO_ID_ADD_DATAFILE (toMain::TO_TOOL_MENU_ID+ 9) #define TO_ID_COALESCE (toMain::TO_TOOL_MENU_ID+ 10) #define TO_ID_MOVE_FILE (toMain::TO_TOOL_MENU_ID+ 11) +#define TO_ID_DROP_TABLESPACE (toMain::TO_TOOL_MENU_ID+ 12) void toStorage::windowActivated(QWidget *widget) { @@ -932,6 +993,8 @@ ToolMenu->insertItem(QPixmap(const_cast<const char**>(readtablespace_xpm)), tr("Read only access"), this, SLOT(readOnly()), 0, TO_ID_READ_ONLY); ToolMenu->insertSeparator(); + ToolMenu->insertItem(QPixmap(const_cast<const char**>(droptablespace_xpm)), tr("Drop tablespace..."), + this, SLOT(dropTablespace()), 0, TO_ID_DROP_TABLESPACE); ToolMenu->insertItem(QPixmap(const_cast<const char**>(modtablespace_xpm)), tr("Modify tablespace..."), this, SLOT(modifyTablespace()), 0, TO_ID_MODIFY_TABLESPACE); ToolMenu->insertItem(QPixmap(const_cast<const char**>(modfile_xpm)), tr("Modify datafile..."), @@ -957,6 +1020,8 @@ ToolMenu->setItemEnabled(TO_ID_READ_ONLY, ReadOnlyButton->isEnabled()); ToolMenu->setItemEnabled(TO_ID_MODIFY_TABLESPACE, ModTablespaceButton->isEnabled()); + ToolMenu->setItemEnabled(TO_ID_DROP_TABLESPACE, + DropTablespaceButton->isEnabled()); ToolMenu->setItemEnabled(TO_ID_MODIFY_DATAFILE, ModFileButton->isEnabled()); ToolMenu->setItemEnabled(TO_ID_ADD_DATAFILE, NewFileButton->isEnabled()); @@ -1101,6 +1166,7 @@ LoggingButton->setEnabled(false); EraseLogButton->setEnabled(false); ModTablespaceButton->setEnabled(false); + DropTablespaceButton->setEnabled(false); NewFileButton->setEnabled(false); MoveFileButton->setEnabled(false); ModFileButton->setEnabled(false); @@ -1169,6 +1235,7 @@ } NewFileButton->setEnabled(true); ModTablespaceButton->setEnabled(true); + DropTablespaceButton->setEnabled(true); } if (ToolMenu) { @@ -1180,6 +1247,8 @@ ToolMenu->setItemEnabled(TO_ID_READ_ONLY, ReadOnlyButton->isEnabled()); ToolMenu->setItemEnabled(TO_ID_MODIFY_TABLESPACE, ModTablespaceButton->isEnabled()); + ToolMenu->setItemEnabled(TO_ID_DROP_TABLESPACE, + DropTablespaceButton->isEnabled()); ToolMenu->setItemEnabled(TO_ID_MODIFY_DATAFILE, ModFileButton->isEnabled()); ToolMenu->setItemEnabled(TO_ID_ADD_DATAFILE, NewFileButton->isEnabled()); @@ -1224,6 +1293,24 @@ TOCATCH } +void toStorage::dropTablespace(void) +{ + try + { + toStorageDialog dropSpace(Storage->currentTablespace(), this,true); + + if (dropSpace.exec()) + { + std::list<QString> lst = dropSpace.sql(); + for (std::list<QString>::iterator i = lst.begin();i != lst.end();i++) + connection().execute(*i); + + refresh(); + } + } + TOCATCH +} + void toStorage::modifyTablespace(void) { try Modified: trunk/tora/src/tostorage.h =================================================================== --- trunk/tora/src/tostorage.h 2006-04-22 20:13:10 UTC (rev 2045) +++ trunk/tora/src/tostorage.h 2006-04-24 16:11:20 UTC (rev 2046) @@ -42,6 +42,7 @@ #include "tostoragedatafileui.h" #include "tostoragedialogui.h" #include "tostoragetablespaceui.h" +#include "todroptablespaceui.h" #include "totool.h" #include <list> @@ -92,6 +93,16 @@ virtual void allowDefault(bool); }; +class toDropTablespace : public toDropTablespaceUI +{ + Q_OBJECT +public: + toDropTablespace(QWidget *parent = 0, const char *name = 0, WFlags fl = 0); + std::list<QString> sql(void); +signals: + void validContent(bool); +}; + class toStorageDatafile : public toStorageDatafileUI { Q_OBJECT @@ -133,7 +144,8 @@ NewTablespace, NewDatafile, ModifyTablespace, - ModifyDatafile + ModifyDatafile, + DropTablespace } Mode; QString TablespaceOrig; void Setup(void); @@ -141,11 +153,12 @@ toStorageDatafile *Datafile; toStorageTablespace *Tablespace; toStorageDefinition *Default; + toDropTablespace *Drop; toStorageDialog(toConnection &conn, const QString &Tablespace, QWidget *parent); toStorageDialog(toConnection &conn, const QString &Tablespace, const QString &file, QWidget *parent); - toStorageDialog(const QString &tablespace, QWidget *parent); + toStorageDialog(const QString &tablespace, QWidget *parent, bool drop = false); std::list<QString> sql(void); public slots: @@ -178,6 +191,7 @@ QToolButton *ModFileButton; QToolButton *ExtentButton; QToolButton *TablespaceButton; + QToolButton *DropTablespaceButton; public: toStorage(QWidget *parent, toConnection &connection); @@ -200,6 +214,7 @@ void modifyTablespace(void); void modifyDatafile(void); void moveFile(void); + void dropTablespace(void); void showExtent(bool); void showTablespaces(bool); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nn...@us...> - 2006-11-21 15:39:23
|
Revision: 2078 http://svn.sourceforge.net/tora/?rev=2078&view=rev Author: nneul Date: 2006-11-21 07:39:22 -0800 (Tue, 21 Nov 2006) Log Message: ----------- memo editor max width Modified Paths: -------------- trunk/tora/NEWS trunk/tora/src/tomemoeditor.cpp Modified: trunk/tora/NEWS =================================================================== --- trunk/tora/NEWS 2006-11-21 15:39:01 UTC (rev 2077) +++ trunk/tora/NEWS 2006-11-21 15:39:22 UTC (rev 2078) @@ -17,6 +17,7 @@ 2006-04-05: Fixed compilation on windows. Re-added missing patch from Michael Meskes 2006-04-13: Apply patch from Andrew Gilmore to fix rpm spec builds as non-root user 2006-04-24: Add drop tablespace functionality +2006-11-21: Apply patch from Michael (m0m) for memo editor width 1.3.21: Modified: trunk/tora/src/tomemoeditor.cpp =================================================================== --- trunk/tora/src/tomemoeditor.cpp 2006-11-21 15:39:01 UTC (rev 2077) +++ trunk/tora/src/tomemoeditor.cpp 2006-11-21 15:39:22 UTC (rev 2078) @@ -121,6 +121,9 @@ : QDialog(parent, NULL, modal, modal ? 0 : WDestructiveClose), Row(row), Col(col) { setMinimumSize(400, 300); + QDesktopWidget *paramDesktop = new QDesktopWidget; + setMaximumWidth(paramDesktop->availableGeometry(this).width()*2/3); + setCaption("Memo Editor"); QBoxLayout *l = new QVBoxLayout(this); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nn...@us...> - 2006-11-21 15:43:25
|
Revision: 2079 http://svn.sourceforge.net/tora/?rev=2079&view=rev Author: nneul Date: 2006-11-21 07:43:22 -0800 (Tue, 21 Nov 2006) Log Message: ----------- more size patches from Michael' Modified Paths: -------------- trunk/tora/NEWS trunk/tora/src/toparamget.cpp Modified: trunk/tora/NEWS =================================================================== --- trunk/tora/NEWS 2006-11-21 15:39:22 UTC (rev 2078) +++ trunk/tora/NEWS 2006-11-21 15:43:22 UTC (rev 2079) @@ -17,7 +17,7 @@ 2006-04-05: Fixed compilation on windows. Re-added missing patch from Michael Meskes 2006-04-13: Apply patch from Andrew Gilmore to fix rpm spec builds as non-root user 2006-04-24: Add drop tablespace functionality -2006-11-21: Apply patch from Michael (m0m) for memo editor width +2006-11-21: Apply patch from Michael (m0m) for memo editor width and other size issues 1.3.21: Modified: trunk/tora/src/toparamget.cpp =================================================================== --- trunk/tora/src/toparamget.cpp 2006-11-21 15:39:22 UTC (rev 2078) +++ trunk/tora/src/toparamget.cpp 2006-11-21 15:43:22 UTC (rev 2079) @@ -275,11 +275,17 @@ } toParamGetButton *btn = new toParamGetButton(num, widget->Container); btn->setText(tr("Edit")); - btn->setSizePolicy(QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Fixed)); + btn->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); connect(btn, SIGNAL(clicked(int)), widget, SLOT(showMemo(int))); connect(box, SIGNAL(toggled(bool)), btn, SLOT(setDisabled(bool))); widget->Value.insert(widget->Value.end(), edit); names.insert(names.end(), fname); + + QDesktopWidget *paramDesktop = new QDesktopWidget; + edit->setMaximumWidth(paramDesktop->availableGeometry(edit).width()*2/3); + edit->setMinimumWidth(100); + edit->setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed)); + num++; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nn...@us...> - 2006-11-21 15:51:34
|
Revision: 2081 http://svn.sourceforge.net/tora/?rev=2081&view=rev Author: nneul Date: 2006-11-21 07:51:22 -0800 (Tue, 21 Nov 2006) Log Message: ----------- patch from Theo Schlossnagle for pg8 cleanup Modified Paths: -------------- trunk/tora/NEWS trunk/tora/src/toabout.cpp trunk/tora/src/tobrowser.cpp trunk/tora/src/toqsqlconnection.cpp trunk/tora/src/utils.cpp Modified: trunk/tora/NEWS =================================================================== --- trunk/tora/NEWS 2006-11-21 15:48:29 UTC (rev 2080) +++ trunk/tora/NEWS 2006-11-21 15:51:22 UTC (rev 2081) @@ -18,6 +18,7 @@ 2006-04-13: Apply patch from Andrew Gilmore to fix rpm spec builds as non-root user 2006-04-24: Add drop tablespace functionality 2006-11-21: Apply patch from Michael (m0m) for memo editor width and other size issues +2006-11-21: Applied patch for postgres 8 schema browsing cleanup from Theo Schlossnagle 1.3.21: Modified: trunk/tora/src/toabout.cpp =================================================================== --- trunk/tora/src/toabout.cpp 2006-11-21 15:48:29 UTC (rev 2080) +++ trunk/tora/src/toabout.cpp 2006-11-21 15:51:22 UTC (rev 2081) @@ -125,6 +125,7 @@ "<B>Christopher R. Redinger</B>,\n" "<B>Erik Selberg</B>,\n" "<B>Dennis Selsky</B>,\n" + "<B>Theo Schlossnagle</B>,\n" "<B>Roman Stepanov</B>,\n" "<B>Petr Vanek</B>,\n" "<B>Daniel V\xE9rit\xE9</B>,\n" Modified: trunk/tora/src/tobrowser.cpp =================================================================== --- trunk/tora/src/tobrowser.cpp 2006-11-21 15:48:29 UTC (rev 2080) +++ trunk/tora/src/tobrowser.cpp 2006-11-21 15:51:22 UTC (rev 2081) @@ -610,8 +610,8 @@ "0703"); static toSQL SQLListTablesPgSQL("toBrowser:ListTables", "SELECT c.relname AS \"Table Name\"\n" - " FROM pg_class c LEFT OUTER JOIN pg_user u ON c.relowner=u.usesysid\n" - " WHERE (u.usename = :f1 OR u.usesysid IS NULL)\n" + " FROM pg_class c LEFT OUTER JOIN pg_namespace n ON c.relnamespace=n.oid\n" + " WHERE (n.nspname = :f1 OR n.oid IS NULL)\n" " AND c.relkind = 'r'" " ORDER BY \"Table Name\"", "", @@ -681,8 +681,8 @@ ""); static toSQL SQLTableInfoPgSQL("toBrowser:TableInformation", "SELECT c.*\n" - " FROM pg_class c LEFT OUTER JOIN pg_user u ON c.relowner=u.usesysid\n" - " WHERE (u.usename = :f1 OR u.usesysid IS NULL)\n" + " FROM pg_class c LEFT OUTER JOIN pg_namespace n ON c.relnamespace=n.oid\n" + " WHERE (n.nspname = :f1 OR n.oid IS NULL)\n" " AND c.relkind = 'r'\n" " AND c.relname = :f2", "", @@ -726,8 +726,8 @@ static toSQL SQLListViewPgSQL("toBrowser:ListView", "SELECT c.relname as View_Name\n" - " FROM pg_class c LEFT OUTER JOIN pg_user u ON c.relowner=u.usesysid\n" - " WHERE (u.usename = :f1 OR u.usesysid IS NULL)\n" + " FROM pg_class c LEFT OUTER JOIN pg_namespace n ON c.relnamespace=n.oid\n" + " WHERE (n.nspname = :f1 OR n.oid IS NULL)\n" " AND c.relkind = 'v'" " ORDER BY View_Name", "List the available views in a schema", @@ -748,8 +748,8 @@ "SapDB"); static toSQL SQLViewSQLPgSQL("toBrowser:ViewSQL", "SELECT pg_get_viewdef(c.relname)\n" - " FROM pg_class c LEFT OUTER JOIN pg_user u ON c.relowner=u.usesysid\n" - " WHERE (u.usename = :f1 OR u.usesysid IS NULL)\n" + " FROM pg_class c LEFT OUTER JOIN pg_namespace n ON c.relnamespace=n.oid\n" + " WHERE (n.nspname = :f1 OR n.oid IS NULL)\n" " AND c.relkind = 'v' AND c.relname = :f2", "Display SQL of a specified view", "7.1", @@ -781,8 +781,8 @@ ""); static toSQL SQLListIndexPgSQL("toBrowser:ListIndex", "SELECT c.relname AS \"Index Name\"\n" - "FROM pg_class c LEFT OUTER JOIN pg_user u ON c.relowner=u.usesysid\n" - "WHERE (u.usename = :f1 OR u.usesysid IS NULL)\n" + "FROM pg_class c LEFT OUTER JOIN pg_namespace n ON c.relnamespace=n.oid\n" + "WHERE (n.nspname = :f1 OR n.oid IS NULL)\n" " AND c.relkind = 'i'\n" "ORDER BY \"Index Name\"", "", @@ -829,9 +829,9 @@ " format_type(a.atttypid, a.atttypmod) as FORMAT,\n" " a.attnotnull,\n" " a.atthasdef\n" - " FROM pg_class c LEFT OUTER JOIN pg_user u ON c.relowner=u.usesysid,\n" + " FROM pg_class c LEFT OUTER JOIN pg_namespace n ON c.relnamespace=n.oid,\n" " pg_attribute a\n" - " WHERE (u.usename = :f1 OR u.usesysid IS NULL)\n" + " WHERE (n.nspname = :f1 OR n.oid IS NULL)\n" " AND a.attrelid = c.oid AND c.relname = :f2\n" " AND a.attnum > 0\n" " ORDER BY a.attnum\n", @@ -868,8 +868,8 @@ static toSQL SQLListSequencePgSQL("toBrowser:ListSequence", "SELECT c.relname AS \"Sequence Name\"\n" - " FROM pg_class c LEFT OUTER JOIN pg_user u ON c.relowner=u.usesysid\n" - " WHERE (u.usename = :f1 OR u.usesysid IS NULL)\n" + " FROM pg_class c LEFT OUTER JOIN pg_namespace n ON c.relnamespace=n.oid\n" + " WHERE (n.nspname = :f1 OR n.oid IS NULL)\n" " AND c.relkind = 'S'\n" " ORDER BY \"Sequence Name\"", "List the available sequences in a schema", @@ -911,8 +911,8 @@ " CASE WHEN p.prorettype = 0 THEN 'PROCEDURE'\n" " ELSE 'FUNCTION'\n" " END AS Object_Type\n" - "FROM pg_proc p LEFT OUTER JOIN pg_user u ON p.proowner=u.usesysid\n" - "WHERE (u.usename = :f1 OR u.usesysid IS NULL)\n" + "FROM pg_proc p LEFT OUTER JOIN pg_namespace n ON p.pronamespace=n.oid\n" + "WHERE (n.nspname = :f1 OR n.oid IS NULL)\n" "ORDER BY Object_Name", "List the available Code objects in a schema", "7.1", @@ -927,8 +927,8 @@ ""); static toSQL SQLListSQLShortPgSQL("toBrowser:ListCodeShort", "SELECT p.proname AS Object_Name\n" - "FROM pg_proc p LEFT OUTER JOIN pg_user u ON p.proowner=u.usesysid\n" - "WHERE (u.usename = :f1 OR u.usesysid IS NULL)\n" + "FROM pg_proc p LEFT OUTER JOIN pg_namespace n ON p.pronamespace=n.oid\n" + "WHERE (n.nspname = :f1 OR n.oid IS NULL)\n" "ORDER BY Object_Name", "List the available Code objects in a schema, one column version", "7.1", @@ -952,8 +952,8 @@ // package code will be returnd for both Head and Body static toSQL SQLSQLHeadPgSQL("toBrowser:CodeHead", "SELECT p.prosrc\n" - "FROM pg_proc p LEFT OUTER JOIN pg_user u ON p.proowner=u.usesysid\n" - "WHERE (u.usename = :f1 OR u.usesysid IS NULL)\n" + "FROM pg_proc p LEFT OUTER JOIN pg_namespace n ON p.pronamespace=n.oid\n" + "WHERE (n.nspname = :f1 OR n.oid IS NULL)\n" " AND p.proname = :f2\n", "Declaration of object", "7.1", @@ -966,8 +966,8 @@ static toSQL SQLSQLBodyPgSQL("toBrowser:CodeBody", "SELECT p.prosrc\n" - "FROM pg_proc p LEFT OUTER JOIN pg_user u ON p.proowner=u.usesysid\n" - "WHERE (u.usename = :f1 OR u.usesysid IS NULL)\n" + "FROM pg_proc p LEFT OUTER JOIN pg_namespace n ON p.pronamespace=n.oid\n" + "WHERE (n.nspname = :f1 OR n.oid IS NULL)\n" " AND p.proname = :f2\n", "Implementation of object", "7.1", Modified: trunk/tora/src/toqsqlconnection.cpp =================================================================== --- trunk/tora/src/toqsqlconnection.cpp 2006-11-21 15:48:29 UTC (rev 2080) +++ trunk/tora/src/toqsqlconnection.cpp 2006-11-21 15:51:22 UTC (rev 2081) @@ -107,9 +107,9 @@ static toSQL SQLListObjectsPgSQL("toQSqlConnection:ListObjects", "SELECT c.relname AS \"Tablename\",\n" - " u.usename AS \"Owner\",\n" + " n.nspname AS \"Owner\",\n" " c.relkind AS \"Type\"\n" - " FROM pg_class c LEFT OUTER JOIN pg_user u ON c.relowner=u.usesysid\n" + " FROM pg_class c LEFT OUTER JOIN pg_namespace n ON c.relnamespace=n.oid\n" " ORDER BY \"Tablename\"", "", "7.1", @@ -125,9 +125,9 @@ "SapDb"); static toSQL SQLListSynonyms("toQSqlConnection:ListSynonyms", - "SELECT c.relname AS \"Synonym\", u.usename AS \"Schema\", c.relname AS \"Object\"\n" - " FROM pg_class c LEFT OUTER JOIN pg_user u ON c.relowner=u.usesysid\n" - " ORDER BY u.usename, c.relname", + "SELECT c.relname AS \"Synonym\", n.nspname AS \"Schema\", c.relname AS \"Object\"\n" + " FROM pg_class c LEFT OUTER JOIN pg_namespace n ON c.relnamespace=n.oid\n" + " ORDER BY n.nspname, c.relname", "", "7.1", "PostgreSQL"); @@ -137,11 +137,11 @@ "from\n" " pg_attribute a,\n" " pg_description b,\n" - " pg_class c LEFT OUTER JOIN pg_user u ON c.relowner=u.usesysid\n" + " pg_class c LEFT OUTER JOIN pg_namespace n ON c.relowner=n.oid\n" "where\n" " a.oid=b.objoid\n" " and c.oid=a.attrelid\n" - " and (u.usename = :owner OR u.usesysid IS NULL)\n" + " and (u.nspname = :owner OR u.usesysid IS NULL)\n" " and c.relname=:table", "Get the available comments on columns of a table, " "must have same binds and columns", @@ -153,12 +153,12 @@ "from\n" " pg_attribute a,\n" " pg_description b,\n" - " pg_class c LEFT OUTER JOIN pg_user u ON c.relowner=u.usesysid\n" + " pg_class c LEFT OUTER JOIN pg_namespace n ON c.relowner=n.oid\n" "where\n" " a.attnum=b.objsubid\n" " and b.objoid=a.attrelid\n" " and c.oid=a.attrelid\n" - " and (u.usename = :owner OR u.usesysid IS NULL)\n" + " and (n.nspname = :owner OR u.usesysid IS NULL)\n" " and c.relname=:table", "", "7.2", Modified: trunk/tora/src/utils.cpp =================================================================== --- trunk/tora/src/utils.cpp 2006-11-21 15:48:29 UTC (rev 2080) +++ trunk/tora/src/utils.cpp 2006-11-21 15:51:22 UTC (rev 2081) @@ -109,7 +109,7 @@ ""); static toSQL SQLUserNamesPgSQL(toSQL::TOSQL_USERLIST, - "SELECT usename AS UserName FROM pg_user ORDER BY UserName", + "SELECT nspname AS UserName FROM pg_namespace ORDER BY nspname", "", "7.1", "PostgreSQL"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nn...@us...> - 2006-11-21 16:50:17
|
Revision: 2082 http://svn.sourceforge.net/tora/?rev=2082&view=rev Author: nneul Date: 2006-11-21 08:50:04 -0800 (Tue, 21 Nov 2006) Log Message: ----------- syntax highlighting patch from Michael Modified Paths: -------------- trunk/tora/NEWS trunk/tora/src/tohighlightedtext.cpp trunk/tora/src/tohighlightedtext.h trunk/tora/src/tomarkedtext.cpp trunk/tora/src/tosyntaxsetup.cpp Modified: trunk/tora/NEWS =================================================================== --- trunk/tora/NEWS 2006-11-21 15:51:22 UTC (rev 2081) +++ trunk/tora/NEWS 2006-11-21 16:50:04 UTC (rev 2082) @@ -19,6 +19,7 @@ 2006-04-24: Add drop tablespace functionality 2006-11-21: Apply patch from Michael (m0m) for memo editor width and other size issues 2006-11-21: Applied patch for postgres 8 schema browsing cleanup from Theo Schlossnagle +2006-11-21: Applied patch from Michael for syntax highlighting font issues 1.3.21: Modified: trunk/tora/src/tohighlightedtext.cpp =================================================================== --- trunk/tora/src/tohighlightedtext.cpp 2006-11-21 15:51:22 UTC (rev 2081) +++ trunk/tora/src/tohighlightedtext.cpp 2006-11-21 16:50:04 UTC (rev 2082) @@ -92,6 +92,7 @@ return Colors[typ]; } +/* #define ISIDENT(c) (isalnum(c)||(c)=='_'||(c)=='%'||(c)=='$'||(c)=='#') std::list<toSyntaxAnalyzer::highlightInfo> toSyntaxAnalyzer::analyzeLine(const QString &str, @@ -159,14 +160,14 @@ { highs.insert(highs.end(), highlightInfo(i, Comment)); highs.insert(highs.end(), highlightInfo(str.length() + 1)); - out = Normal; + out = Default; return highs; } else if (c == '/' && nc == '/') { highs.insert(highs.end(), highlightInfo(i, Comment)); highs.insert(highs.end(), highlightInfo(str.length() + 1)); - out = Normal; + out = Default; return highs; } else if (c == '/' && nc == '*') @@ -231,8 +232,9 @@ } else { - out = Normal; - highs.insert(highs.end(), highlightInfo(inString, Error)); + out = Default; + //highs.insert(highs.end(), highlightInfo(inString, Error)); + highs.insert(highs.end(), highlightInfo(inString, Comment)); } highs.insert(highs.end(), highlightInfo(str.length() + 1)); } @@ -243,10 +245,11 @@ out = Comment; } else - out = Normal; + out = Default; return highs; } +*/ static toSyntaxAnalyzer DefaultAnalyzer(DefaultKeywords); @@ -308,9 +311,9 @@ setFont(toStringToFont(toConfigurationSingle::Instance().globalConfig(CONF_CODE, ""))); errorMarker=markerDefine(Circle,4); - setMarkerBackgroundColor(Qt::red,errorMarker); debugMarker=markerDefine(Rectangle,8); - setMarkerBackgroundColor(Qt::darkGreen,debugMarker); + updateSyntaxColor(toSyntaxAnalyzer::DebugBg); + updateSyntaxColor(toSyntaxAnalyzer::ErrorBg); setMarginMarkerMask(1,0); setAutoIndent(true); connect(this,SIGNAL(cursorPositionChanged(int,int)),this,SLOT(setStatusMessage(void ))); @@ -415,6 +418,13 @@ syntaxColoring = val; if (syntaxColoring) { QextScintilla::setLexer(lexer); + updateSyntaxColor(toSyntaxAnalyzer::Default); + updateSyntaxColor(toSyntaxAnalyzer::Comment); + updateSyntaxColor(toSyntaxAnalyzer::Number); + updateSyntaxColor(toSyntaxAnalyzer::Keyword); + updateSyntaxColor(toSyntaxAnalyzer::String); + updateSyntaxColor(toSyntaxAnalyzer::DefaultBg); + update(); } else { @@ -422,6 +432,53 @@ } } +/** + * Sets the syntax colours for given type + */ +void toHighlightedText::updateSyntaxColor(toSyntaxAnalyzer::infoType t) +{ + QColor col = DefaultAnalyzer.getColor(t); + switch (t) + { + case toSyntaxAnalyzer::Default: + lexer->setColor(col, QextScintillaLexerSQL::Default); + //lexer->setColor(col, QextScintillaLexerSQL::CommentLineHash); + break; + case toSyntaxAnalyzer::Comment: + lexer->setColor(col, QextScintillaLexerSQL::Comment); + lexer->setColor(col, QextScintillaLexerSQL::CommentLine); + lexer->setColor(col, QextScintillaLexerSQL::PlusPrompt); + lexer->setColor(col, QextScintillaLexerSQL::PlusComment); + lexer->setColor(col, QextScintillaLexerSQL::CommentDoc); + lexer->setColor(col, QextScintillaLexerSQL::CommentDocKeyword); + break; + case toSyntaxAnalyzer::Number: + lexer->setColor(col, QextScintillaLexerSQL::Number); + break; + case toSyntaxAnalyzer::Keyword: + lexer->setColor(col, QextScintillaLexerSQL::Keyword); + lexer->setColor(col, QextScintillaLexerSQL::PlusKeyword); + lexer->setColor(col, QextScintillaLexerSQL::Operator); + break; + case toSyntaxAnalyzer::String: + lexer->setColor(col, QextScintillaLexerSQL::DoubleQuotedString); + lexer->setColor(col, QextScintillaLexerSQL::SingleQuotedString); + break; + case toSyntaxAnalyzer::DefaultBg: + lexer->setPaper(col); + //lexer->setPaper(col, QextScintillaLexerSQL::Default); + break; + case toSyntaxAnalyzer::ErrorBg: + setMarkerBackgroundColor(col, errorMarker); + break; + case toSyntaxAnalyzer::DebugBg: + setMarkerBackgroundColor(col, debugMarker); + break; + default: + break; + } +} + /** * Set the lexer to use. * @param lexer to use, @@ -443,6 +500,18 @@ if (lexer) { lexer->setDefaultFont(font); lexer->setFont(font); + +/* this is workaround against qscintilla 1.6 setFont(font) bug */ + lexer->setFont(font, QextScintillaLexerSQL::Comment); + lexer->setFont(font, QextScintillaLexerSQL::CommentLine); + lexer->setFont(font, QextScintillaLexerSQL::PlusComment); + lexer->setFont(font, QextScintillaLexerSQL::CommentLineHash); + lexer->setFont(font, QextScintillaLexerSQL::CommentDocKeyword); + lexer->setFont(font, QextScintillaLexerSQL::CommentDocKeywordError); + lexer->setFont(font, QextScintillaLexerSQL::DoubleQuotedString); + lexer->setFont(font, QextScintillaLexerSQL::SingleQuotedString); + lexer->setFont(font, QextScintillaLexerSQL::PlusPrompt); + update(); } } Modified: trunk/tora/src/tohighlightedtext.h =================================================================== --- trunk/tora/src/tohighlightedtext.h 2006-11-21 15:51:22 UTC (rev 2081) +++ trunk/tora/src/tohighlightedtext.h 2006-11-21 16:50:04 UTC (rev 2082) @@ -63,36 +63,22 @@ class toSyntaxAnalyzer { public: - /** Information about how highlighting has changed. + /** Highlighting categories (joins more categories in qscintilla into + * simplier ones */ enum infoType { - /** Normal text - */ - Normal = 0, - /** This is a keyword - */ - Keyword = 1, - /** This is a string - */ - String = 2, - /** Malformed syntax - */ - Error = 3, - /** Comment - */ - Comment = 4, - /** Error in SQL background. Not used by highlighter, but configured in the same way. - */ - ErrorBkg = 5, - /** Normal background. Not used by highlighter, but configured in the same way. - */ - NormalBkg = 6, - /** Current background. Not used by highlighter, but configured in the same way. - */ - CurrentBkg = 7 + Default = 0, + Comment = 1, + Number = 2, + Keyword = 3, + String = 4, + DefaultBg = 5, + ErrorBg = 6, + DebugBg = 7 }; /** Information about a change in highlighting. */ +#if 0 // is this still needed after switch to qscintilla?!? struct highlightInfo { /** New type of highlighting. @@ -101,12 +87,13 @@ /** Start in line for this highlighting. */ int Start; - highlightInfo(int start, infoType typ = Normal) + highlightInfo(int start, infoType typ = Default) { Start = start; Type = typ; } }; +#endif private: /** Indicate if colors are updated, can't do this in constructor since QApplication * isn't initialized yet. @@ -187,6 +174,8 @@ { return true; } #endif + +#if 0 // is this still needed after switch to qscintilla?!? /** Analyze a line. There is no guarantee that lines will be called in any kind of order. * @param str Line to analyze. * @param in Type at start of line. @@ -194,6 +183,7 @@ * @return A list of where highlighting should change. Start as normal. */ virtual std::list<highlightInfo> analyzeLine(const QString &str, infoType in, infoType &out); +#endif /** Get a colordefinition for a @ref infoType value. * @param typ @ref infoType to get color for. * @return Color of that type. @@ -359,14 +349,14 @@ */ void tableAtCursor(QString &owner, QString &table, bool highlight = false); + void updateSyntaxColor(toSyntaxAnalyzer::infoType t); + protected: QStringList getCompletionList(QString* partial); void completeWithText(QString itemText); - private: - bool invalidToken(int line, int col); - + bool invalidToken(int line, int col); // ------------------ END OF API used by TOra classes ---------------------- Modified: trunk/tora/src/tomarkedtext.cpp =================================================================== --- trunk/tora/src/tomarkedtext.cpp 2006-11-21 15:51:22 UTC (rev 2081) +++ trunk/tora/src/tomarkedtext.cpp 2006-11-21 16:50:04 UTC (rev 2082) @@ -76,13 +76,14 @@ connect(this, SIGNAL(textChanged()), this, SLOT(setTextChanged())); connect(this,SIGNAL(copyAvailable(bool)),this,SLOT(setCopyAvailable(bool))); +/* is this still neccessary after switch to sqcintilla?!? QPalette pal = palette(); pal.setColor(QColorGroup::Base, - toSyntaxAnalyzer::defaultAnalyzer().getColor(toSyntaxAnalyzer::NormalBkg)); + toSyntaxAnalyzer::defaultAnalyzer().getColor(toSyntaxAnalyzer::DefaultBg)); pal.setColor(QColorGroup::Foreground, - toSyntaxAnalyzer::defaultAnalyzer().getColor(toSyntaxAnalyzer::Normal)); + toSyntaxAnalyzer::defaultAnalyzer().getColor(toSyntaxAnalyzer::Default)); setPalette(pal); - +*/ CursorTimerID = -1; // sets default tab width Modified: trunk/tora/src/tosyntaxsetup.cpp =================================================================== --- trunk/tora/src/tosyntaxsetup.cpp 2006-11-21 15:51:22 UTC (rev 2081) +++ trunk/tora/src/tosyntaxsetup.cpp 2006-11-21 16:50:04 UTC (rev 2082) @@ -99,23 +99,18 @@ } try { - Colors[Analyzer.typeString(toSyntaxAnalyzer::NormalBkg)] = Analyzer.getColor(toSyntaxAnalyzer::NormalBkg); - Colors[Analyzer.typeString(toSyntaxAnalyzer::ErrorBkg)] = Analyzer.getColor(toSyntaxAnalyzer::ErrorBkg); - Colors[Analyzer.typeString(toSyntaxAnalyzer::CurrentBkg)] = Analyzer.getColor(toSyntaxAnalyzer::CurrentBkg); - Colors[Analyzer.typeString(toSyntaxAnalyzer::Keyword)] = Analyzer.getColor(toSyntaxAnalyzer::Keyword); - Colors[Analyzer.typeString(toSyntaxAnalyzer::Comment)] = Analyzer.getColor(toSyntaxAnalyzer::Comment); - Colors[Analyzer.typeString(toSyntaxAnalyzer::Normal)] = Analyzer.getColor(toSyntaxAnalyzer::Normal); - Colors[Analyzer.typeString(toSyntaxAnalyzer::String)] = Analyzer.getColor(toSyntaxAnalyzer::String); - Colors[Analyzer.typeString(toSyntaxAnalyzer::Error)] = Analyzer.getColor(toSyntaxAnalyzer::Error); - - SyntaxComponent->insertItem(tr(Analyzer.typeString(toSyntaxAnalyzer::NormalBkg))); - SyntaxComponent->insertItem(tr(Analyzer.typeString(toSyntaxAnalyzer::Comment))); - SyntaxComponent->insertItem(tr(Analyzer.typeString(toSyntaxAnalyzer::CurrentBkg))); - SyntaxComponent->insertItem(tr(Analyzer.typeString(toSyntaxAnalyzer::ErrorBkg))); - SyntaxComponent->insertItem(tr(Analyzer.typeString(toSyntaxAnalyzer::Keyword))); - SyntaxComponent->insertItem(tr(Analyzer.typeString(toSyntaxAnalyzer::Normal))); - SyntaxComponent->insertItem(tr(Analyzer.typeString(toSyntaxAnalyzer::String))); - SyntaxComponent->insertItem(tr(Analyzer.typeString(toSyntaxAnalyzer::Error))); +#define INIT_COL(c) { \ + Colors[Analyzer.typeString(c)] = Analyzer.getColor(c); \ + SyntaxComponent->insertItem(tr(Analyzer.typeString(c))); \ + } + INIT_COL(toSyntaxAnalyzer::Default); + INIT_COL(toSyntaxAnalyzer::Comment); + INIT_COL(toSyntaxAnalyzer::Number); + INIT_COL(toSyntaxAnalyzer::Keyword); + INIT_COL(toSyntaxAnalyzer::String); + INIT_COL(toSyntaxAnalyzer::DefaultBg); + INIT_COL(toSyntaxAnalyzer::ErrorBg); + INIT_COL(toSyntaxAnalyzer::DebugBg); } TOCATCH @@ -138,6 +133,10 @@ " if Quest = 'Great' then\n" " Obvious(true);\n" " end if;\n" + " HugeNumber := -12345678.90;\n" + "/*\n" + " * multi line comment\n" + " */\n" "end;")); #endif @@ -168,22 +167,22 @@ toSyntaxAnalyzer::infoType toSyntaxAnalyzer::typeString(const QCString &str) { - if (str == "Normal") - return Normal; + if (str == "Default") + return Default; + if (str == "Comment") + return Comment; + if (str == "Number") + return Number; if (str == "Keyword") return Keyword; if (str == "String") return String; - if (str == "Unfinished string") - return Error; - if (str == "Comment") - return Comment; + if (str == "Background") + return DefaultBg; if (str == "Error background") - return ErrorBkg; - if (str == "Background") - return NormalBkg; - if (str == "Current background") - return CurrentBkg; + return ErrorBg; + if (str == "Debug background") + return DebugBg; throw qApp->translate("toSyntaxAnalyzer", "Unknown type"); } @@ -191,22 +190,22 @@ { switch (typ) { - case Normal: - return "Normal"; + case Default: + return "Default"; + case Comment: + return "Comment"; + case Number: + return "Number"; case Keyword: return "Keyword"; case String: return "String"; - case Error: - return "Unfinished string"; - case Comment: - return "Comment"; - case ErrorBkg: + case DefaultBg: + return "Background"; + case ErrorBg: return "Error background"; - case NormalBkg: - return "Background"; - case CurrentBkg: - return "Current background"; + case DebugBg: + return "Debug background"; } throw qApp->translate("toSyntaxAnalyzer", "Unknown type"); } @@ -216,14 +215,14 @@ try { const QColorGroup &cg = qApp->palette().active(); - readColor(cg.base(), NormalBkg); - readColor(Qt::darkRed, ErrorBkg); - readColor(Qt::darkGreen, CurrentBkg); + readColor(cg.text(), Default); + readColor(Qt::green, Comment); + readColor(Qt::cyan, Number); readColor(Qt::blue, Keyword); - readColor(cg.text(), Normal); readColor(Qt::red, String); - readColor(Qt::red, Error); - readColor(Qt::green, Comment); + readColor(cg.base(), DefaultBg); + readColor(Qt::darkRed, ErrorBg); + readColor(Qt::darkGreen, DebugBg); } TOCATCH } @@ -324,6 +323,7 @@ Colors[coleng] = col; ExampleColor->setBackgroundColor(col); Example->analyzer().Colors[toSyntaxAnalyzer::typeString(coleng)] = col; + Example->updateSyntaxColor(toSyntaxAnalyzer::typeString(coleng)); Example->update(); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <me...@us...> - 2007-06-08 13:12:42
|
Revision: 2118 http://svn.sourceforge.net/tora/?rev=2118&view=rev Author: meskes Date: 2007-06-08 06:12:39 -0700 (Fri, 08 Jun 2007) Log Message: ----------- Fixed missing destination directory in Makefiles. Updated Debian files. Fixed UTF8 handling. Modified Paths: -------------- trunk/tora/debian/changelog trunk/tora/debian/dirs trunk/tora/debian/rules trunk/tora/doc/Makefile.am trunk/tora/src/Makefile.am trunk/tora/src/tomarkedtext.cpp Modified: trunk/tora/debian/changelog =================================================================== --- trunk/tora/debian/changelog 2007-03-01 15:06:52 UTC (rev 2117) +++ trunk/tora/debian/changelog 2007-06-08 13:12:39 UTC (rev 2118) @@ -1,8 +1,22 @@ +tora (1.3.21pre22-1) unstable; urgency=low + + * Applied latest upstream pre1.3.22 patch. + * Moved to qscintilla 1.7. + * Made tora work correctly with UTF8, closes: 418524 + + -- Michael Meskes <me...@de...> Tue, 22 May 2007 15:35:55 +0200 + +tora (1.3.21-3) unstable; urgency=low + + * Added XDG menu support, closes: #354166 + + -- Michael Meskes <me...@de...> Mon, 17 Apr 2006 13:41:02 +0200 + tora (1.3.21-2) unstable; urgency=low - * Added patch by Martin Michlmayer to make tora compile with G++ 4.1, - closes #357810 - * Fixed URL in copyright file, closes #358394 + * Added patch by Martin Michlmayr to make tora compile with G++ 4.1, + closes: #357810 + * Fixed URL in copyright file, closes: #358394 -- Michael Meskes <me...@de...> Fri, 24 Mar 2006 13:30:31 +0100 @@ -10,7 +24,7 @@ * New upstream version, fixing the bug that urged me to call autogen.sh and thus making the package build again without build-depending on automake et - al., closes #352513 + al., closes: #352513 * Added most of the debian specific patch to upstream sources. -- Michael Meskes <me...@de...> Mon, 13 Feb 2006 15:02:29 +0100 @@ -24,7 +38,7 @@ tora (1.3.18-4) unstable; urgency=low - * Changed QODBC to QODBC3 one more time, closes #347373 + * Changed QODBC to QODBC3 one more time, closes: #347373 -- Michael Meskes <me...@de...> Thu, 12 Jan 2006 13:32:24 +0100 Modified: trunk/tora/debian/dirs =================================================================== --- trunk/tora/debian/dirs 2007-03-01 15:06:52 UTC (rev 2117) +++ trunk/tora/debian/dirs 2007-06-08 13:12:39 UTC (rev 2118) @@ -3,3 +3,4 @@ usr/lib/tora usr/share/icons/hicolor/32x32/apps usr/share/icons/hicolor/16x16/apps +usr/share/applications Modified: trunk/tora/debian/rules =================================================================== --- trunk/tora/debian/rules 2007-03-01 15:06:52 UTC (rev 2117) +++ trunk/tora/debian/rules 2007-06-08 13:12:39 UTC (rev 2118) @@ -54,11 +54,12 @@ $(MAKE) install DESTDIR=$(CURDIR)/debian/tora libdir=/usr/lib/tora -install --owner root --group root --mode=644 $(CURDIR)/help/* $(CURDIR)/debian/tora/usr/share/tora/help -install --owner root --group root --mode=644 $(CURDIR)/help/images/* $(CURDIR)/debian/tora/usr/share/tora/help/images - rm -f $(CURDIR)/debian/tora/usr/lib/tora/help/images/.cvsignore + -mv $(CURDIR)/debian/tora/usr/lib/tora/help $(CURDIR)/debian/tora/usr/share/tora dh_link usr/share/tora/help usr/lib/tora/help dh_link usr/share/tora/help usr/share/doc/tora/help -install --owner root --group root --mode=644 $(CURDIR)/icons/tora.xpm $(CURDIR)/debian/tora/usr/share/icons/hicolor/32x32/apps -install --owner root --group root --mode=644 $(CURDIR)/icons/toramini.xpm $(CURDIR)/debian/tora/usr/share/icons/hicolor/16x16/apps/tora.xpm + -install --owner root --group root --mode=644 $(CURDIR)/debian/tora.desktop $(CURDIR)/debian/tora/usr/share/applications # Build architecture-independent files here. binary-indep: build install Modified: trunk/tora/doc/Makefile.am =================================================================== --- trunk/tora/doc/Makefile.am 2007-03-01 15:06:52 UTC (rev 2117) +++ trunk/tora/doc/Makefile.am 2007-06-08 13:12:39 UTC (rev 2118) @@ -3,7 +3,7 @@ dist-hook: rm -rf `find $(distdir) -name .svn` -tora_docdir = $(libdir) +tora_docdir = $(DESTDIR)$(libdir) install-data-hook: rm -rf $(tora_docdir)/help Modified: trunk/tora/src/Makefile.am =================================================================== --- trunk/tora/src/Makefile.am 2007-03-01 15:06:52 UTC (rev 2117) +++ trunk/tora/src/Makefile.am 2007-06-08 13:12:39 UTC (rev 2118) @@ -747,4 +747,4 @@ $(LRELEASE) tora.pro install-data-hook: - cp -f $(top_builddir)/src/i18n/*.qm $(libdir) + cp -f $(top_builddir)/src/i18n/*.qm $(DESTDIR)$(libdir) Modified: trunk/tora/src/tomarkedtext.cpp =================================================================== --- trunk/tora/src/tomarkedtext.cpp 2007-03-01 15:06:52 UTC (rev 2117) +++ trunk/tora/src/tomarkedtext.cpp 2007-06-08 13:12:39 UTC (rev 2118) @@ -88,6 +88,7 @@ // sets default tab width setTabWidth(defaultTabWidth()); + this->setUtf8(true); } toMarkedText::~toMarkedText(){ } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nn...@us...> - 2007-09-10 13:36:16
|
Revision: 2119 http://tora.svn.sourceforge.net/tora/?rev=2119&view=rev Author: nneul Date: 2007-09-10 06:32:41 -0700 (Mon, 10 Sep 2007) Log Message: ----------- Applied patches from Andreas Piesk for explain plan handling and window splitter sizes. Modified Paths: -------------- trunk/tora/NEWS trunk/tora/src/toresultplan.cpp trunk/tora/src/tosession.cpp trunk/tora/src/tosgatrace.cpp trunk/tora/src/totemporary.cpp trunk/tora/src/toworksheet.cpp Modified: trunk/tora/NEWS =================================================================== --- trunk/tora/NEWS 2007-06-08 13:12:39 UTC (rev 2118) +++ trunk/tora/NEWS 2007-09-10 13:32:41 UTC (rev 2119) @@ -20,6 +20,7 @@ 2006-11-21: Apply patch from Michael (m0m) for memo editor width and other size issues 2006-11-21: Applied patch for postgres 8 schema browsing cleanup from Theo Schlossnagle 2006-11-21: Applied patch from Michael for syntax highlighting font issues +2007-09-10: Applied patches from Andreas Piesk for explain plan handling and window splitter sizes. 1.3.21: Modified: trunk/tora/src/toresultplan.cpp =================================================================== --- trunk/tora/src/toresultplan.cpp 2007-06-08 13:12:39 UTC (rev 2118) +++ trunk/tora/src/toresultplan.cpp 2007-09-10 13:32:41 UTC (rev 2119) @@ -130,31 +130,26 @@ if (sql.length() > 0 && sql.at(sql.length() - 1).latin1() == ';') sql = sql.mid(0, sql.length() - 1); - QString explain = QString::fromLatin1("EXPLAIN PLAN SET STATEMENT_ID = '%1' INTO %2 FOR %3"). - arg(Ident).arg(planTable).arg(toSQLStripSpecifier(sql)); + QString explain = QString::fromLatin1("EXPLAIN PLAN SET STATEMENT_ID = '%1' INTO %2.%3 FOR %4"). + arg(Ident).arg(connection().user()).arg(planTable).arg(toSQLStripSpecifier(sql)); if (!User.isNull() && User != conn.user().upper()) { try { conn.execute(QString::fromLatin1("ALTER SESSION SET CURRENT_SCHEMA = %1").arg(User)); - } - catch (...) - {} - try - { conn.execute(explain); } catch (...) { try { - conn.execute(QString::fromLatin1("ALTER SESSION SET CURRENT_SCHEMA = %2").arg(connection().user())); + conn.execute(QString::fromLatin1("ALTER SESSION SET CURRENT_SCHEMA = %1").arg(connection().user())); } catch (...) {} throw; } - conn.execute(QString::fromLatin1("ALTER SESSION SET CURRENT_SCHEMA = %2").arg(connection().user())); + conn.execute(QString::fromLatin1("ALTER SESSION SET CURRENT_SCHEMA = %1").arg(connection().user())); toQList par; Query = new toNoBlockQuery(connection(), toQuery::Normal, toSQL::string(SQLViewPlan, connection()). Modified: trunk/tora/src/tosession.cpp =================================================================== --- trunk/tora/src/tosession.cpp 2007-06-08 13:12:39 UTC (rev 2118) +++ trunk/tora/src/tosession.cpp 2007-09-10 13:32:41 UTC (rev 2119) @@ -291,6 +291,11 @@ QSplitter *splitter = new QSplitter(Vertical, this); Sessions = new toSessionList(splitter); + + QValueList<int> list; + list.append(75); + splitter->setSizes(list); + Sessions->setReadAll(true); connect(Sessions, SIGNAL(done()), this, SLOT(done())); Modified: trunk/tora/src/tosgatrace.cpp =================================================================== --- trunk/tora/src/tosgatrace.cpp 2007-06-08 13:12:39 UTC (rev 2118) +++ trunk/tora/src/tosgatrace.cpp 2007-09-10 13:32:41 UTC (rev 2119) @@ -185,6 +185,11 @@ QSplitter *splitter = new QSplitter(Vertical, this); Trace = new toResultLong(false, false, toQuery::Background, splitter); + + QValueList<int> list; + list.append(75); + splitter->setSizes(list); + Trace->setReadAll(true); Statement = new toSGAStatement(splitter); Modified: trunk/tora/src/totemporary.cpp =================================================================== --- trunk/tora/src/totemporary.cpp 2007-06-08 13:12:39 UTC (rev 2118) +++ trunk/tora/src/totemporary.cpp 2007-09-10 13:32:41 UTC (rev 2119) @@ -156,6 +156,11 @@ QSplitter *splitter = new QSplitter(Vertical, this); Objects = new toResultLong(false, false, toQuery::Background, splitter); + + QValueList<int> list; + list.append(75); + splitter->setSizes(list); + QString unit = toConfigurationSingle::Instance().globalConfig(CONF_SIZE_UNIT, DEFAULT_SIZE_UNIT); toQList args; toPush(args, toQValue(toSizeDecode(unit))); Modified: trunk/tora/src/toworksheet.cpp =================================================================== --- trunk/tora/src/toworksheet.cpp 2007-06-08 13:12:39 UTC (rev 2118) +++ trunk/tora/src/toworksheet.cpp 2007-09-10 13:32:41 UTC (rev 2119) @@ -442,6 +442,11 @@ QSplitter *splitter = new QSplitter(Vertical, this); Editor = new toWorksheetText(this, splitter); + + QValueList<int> list; + list.append(75); + splitter->setSizes(list); + #ifdef TO_KDE_KACCELMANAGER KAcceleratorManager::setNoAccel( Editor ); #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nn...@us...> - 2007-09-13 15:52:29
|
Revision: 2121 http://tora.svn.sourceforge.net/tora/?rev=2121&view=rev Author: nneul Date: 2007-09-13 08:52:31 -0700 (Thu, 13 Sep 2007) Log Message: ----------- apply patches from Andreas and updated OTL, doc dir needs more work to install in the proper location Modified Paths: -------------- trunk/tora/NEWS trunk/tora/doc/Makefile.am trunk/tora/doc/help/Makefile.am trunk/tora/ext/otl/otlv4.h trunk/tora/src/tooracleconnection.cpp trunk/tora/src/toworksheet.cpp Modified: trunk/tora/NEWS =================================================================== --- trunk/tora/NEWS 2007-09-13 15:23:52 UTC (rev 2120) +++ trunk/tora/NEWS 2007-09-13 15:52:31 UTC (rev 2121) @@ -21,6 +21,10 @@ 2006-11-21: Applied patch for postgres 8 schema browsing cleanup from Theo Schlossnagle 2006-11-21: Applied patch from Michael for syntax highlighting font issues 2007-09-10: Applied patches from Andreas Piesk for explain plan handling and window splitter sizes. +2007-09-13: Applied patches from Andreas Piesk for better data type decoding +2007-09-13: Applied patches from Andreas Piesk for config build support for Ora 10gR2 +2007-09-13: Updated to latest OTL release 4.0.157 +2007-09-13: Fixed Makefile.am for building html in docs 1.3.21: Modified: trunk/tora/doc/Makefile.am =================================================================== --- trunk/tora/doc/Makefile.am 2007-09-13 15:23:52 UTC (rev 2120) +++ trunk/tora/doc/Makefile.am 2007-09-13 15:52:31 UTC (rev 2121) @@ -17,3 +17,5 @@ all-local: echo Making HTML in $(manualdir) cd $(manualdir) && make html + +SUBDIRS = help Modified: trunk/tora/doc/help/Makefile.am =================================================================== --- trunk/tora/doc/help/Makefile.am 2007-09-13 15:23:52 UTC (rev 2120) +++ trunk/tora/doc/help/Makefile.am 2007-09-13 15:52:31 UTC (rev 2121) @@ -52,5 +52,7 @@ .texi.html: $(MAKEINFO) --html $< +all: html + .PHONY: html html: $(html_docs) Modified: trunk/tora/ext/otl/otlv4.h =================================================================== --- trunk/tora/ext/otl/otlv4.h 2007-09-13 15:23:52 UTC (rev 2120) +++ trunk/tora/ext/otl/otlv4.h 2007-09-13 15:52:31 UTC (rev 2121) @@ -1,5 +1,5 @@ // ============================================================== -// Oracle, ODBC and DB2/CLI Template Library, Version 4.0.148, +// Oracle, ODBC and DB2/CLI Template Library, Version 4.0.157, // Copyright (C) Sergei Kuchin, 1996,2007 // Author: Sergei Kuchin // This library is free software. Permission to use, copy, @@ -11,12 +11,23 @@ #ifndef __OTL_H__ #define __OTL_H__ -#define OTL_VERSION_NUMBER (0x040094L) +#define OTL_VERSION_NUMBER (0x04009DL) #if defined(_MSC_VER) #if (_MSC_VER >= 1400) -#pragma warning (disable:4996) +//#pragma warning (disable:4996) +#define OTL_STRCAT_S(dest,dest_sz,src) strcat_s(dest,dest_sz,src) +#define OTL_STRCPY_S(dest,dest_sz,src) strcpy_s(dest,dest_sz,src) +#define OTL_STRNCPY_S(dest,dest_sz,src,count) strncpy_s(dest,dest_sz,src,count) +#else +#define OTL_STRCAT_S(dest,dest_sz,src) strcat(dest,src) +#define OTL_STRCPY_S(dest,dest_sz,src) strcpy(dest,src) +#define OTL_STRNCPY_S(dest,dest_sz,src,count) strncpy(dest,src,count) #endif +#else +#define OTL_STRCAT_S(dest,dest_sz,src) strcat(dest,src) +#define OTL_STRCPY_S(dest,dest_sz,src) strcpy(dest,src) +#define OTL_STRNCPY_S(dest,dest_sz,src,count) strncpy(dest,src,count) #endif #include <string.h> @@ -72,11 +83,31 @@ #endif +#if defined(OTL_ODBC_MSSQL_2005) +#define OTL_ODBC +#endif + #if defined(OTL_IODBC_BSD) #define OTL_ODBC #define OTL_ODBC_UNIX #endif +#if defined(OTL_ODBC_TIMESTEN_WIN) +#define OTL_ODBC_TIMESTEN +#define OTL_ODBC +#define OTL_ODBC_SQL_EXTENDED_FETCH_ON +#define ODBCVER 0x0250 +#include <timesten.h> +#endif + +#if defined(OTL_ODBC_TIMESTEN_UNIX) +#define OTL_ODBC_TIMESTEN +#define OTL_ODBC +#define OTL_ODBC_UNIX +#define OTL_ODBC_SQL_EXTENDED_FETCH_ON +#include <timesten.h> +#endif + #if defined(OTL_ODBC_POSTGRESQL) #define OTL_ODBC #endif @@ -99,6 +130,7 @@ #if defined(OTL_ORA10G)||defined(OTL_ORA10G_R2) #define OTL_ORA9I +#define OTL_ORA_NATIVE_TYPES #endif #if defined(OTL_ORA9I) @@ -277,6 +309,16 @@ // -------------------- End of namespace generation ------------------- // --------------------- Invalid combinations -------------------------- + +#if defined(OTL_ORA_UTF8) && !defined(OTL_ORA10G) && \ + !defined(OTL_ORA_10G_R2) && !defined(OTL_ORA9I) +#error Invalid combination: OTL_ORA_UTF8 can only be used with OTL_ORA9I or higher +#endif + +#if defined(OTL_ORA_UTF8) && defined(OTL_UNICODE) +#error Invalid combination: OTL_ORA_UTF8 and OTL_UNICODE are mutually exclusive +#endif + #if defined(OTL_ODBC) && defined(OTL_DB2_CLI) #error Invalid combination: OTL_ODBC && OTL_DB2_CLI together #endif @@ -327,7 +369,7 @@ #endif #if defined(OTL_UNICODE_EXCEPTION_AND_RLOGON) && !defined(OTL_UNICODE_CHAR_TYPE) -#error OTL_UNICODE_CHAR_TYPEneeds to be defined if OTL_UNICODE_EXCEPTION_AND_RLOGON is defined +#error OTL_UNICODE_CHAR_TYPE needs to be defined if OTL_UNICODE_EXCEPTION_AND_RLOGON is defined #endif @@ -491,58 +533,60 @@ #endif #if !defined(OTL_TRACE_RLOGON_ORA8) && defined(OTL_ORA8) -#define OTL_TRACE_RLOGON_ORA8(level,class_name,func_name, \ - tnsname,userid,passwd, \ - auto_commit) \ - if(OTL_TRACE_LEVEL & level){ \ - char temp_connect_str[2048]; \ - strcpy(temp_connect_str,userid); \ - strcat(temp_connect_str,"/"); \ - size_t sz=strlen(passwd); \ - for(size_t i=0;i<sz;++i)strcat(temp_connect_str,"*"); \ - size_t tns_sz=strlen(tnsname); \ - if(tns_sz>0){ \ - strcat(temp_connect_str,"@"); \ - strcat(temp_connect_str,tnsname); \ - } \ - OTL_TRACE_STREAM<<OTL_TRACE_LINE_PREFIX; \ - OTL_TRACE_STREAM<<class_name<<"(this="; \ - OTL_TRACE_STREAM<<OTL_RCAST(void*,this); \ - OTL_TRACE_STREAM<<")::" func_name "("; \ - OTL_TRACE_STREAM<<"connect_str=\""; \ - OTL_TRACE_STREAM<<temp_connect_str; \ - OTL_TRACE_STREAM<<"\", auto_commit="; \ - OTL_TRACE_STREAM<<auto_commit <<");"; \ - OTL_TRACE_STREAM<<OTL_TRACE_LINE_SUFFIX; \ +#define OTL_TRACE_RLOGON_ORA8(level,class_name,func_name, \ + tnsname,userid,passwd, \ + auto_commit) \ + if(OTL_TRACE_LEVEL & level){ \ + char temp_connect_str[2048]; \ + OTL_STRCPY_S(temp_connect_str,sizeof(temp_connect_str),userid); \ + OTL_STRCAT_S(temp_connect_str,sizeof(temp_connect_str),"/"); \ + size_t sz=strlen(passwd); \ + for(size_t i=0;i<sz;++i) \ + OTL_STRCAT_S(temp_connect_str,sizeof(temp_connect_str),"*"); \ + size_t tns_sz=strlen(tnsname); \ + if(tns_sz>0){ \ + OTL_STRCAT_S(temp_connect_str,sizeof(temp_connect_str),"@"); \ + OTL_STRCAT_S(temp_connect_str,sizeof(temp_connect_str),tnsname); \ + } \ + OTL_TRACE_STREAM<<OTL_TRACE_LINE_PREFIX; \ + OTL_TRACE_STREAM<<class_name<<"(this="; \ + OTL_TRACE_STREAM<<OTL_RCAST(void*,this); \ + OTL_TRACE_STREAM<<")::" func_name "("; \ + OTL_TRACE_STREAM<<"connect_str=\""; \ + OTL_TRACE_STREAM<<temp_connect_str; \ + OTL_TRACE_STREAM<<"\", auto_commit="; \ + OTL_TRACE_STREAM<<auto_commit <<");"; \ + OTL_TRACE_STREAM<<OTL_TRACE_LINE_SUFFIX; \ } #endif #if !defined(OTL_TRACE_RLOGON_ODBC)&&(defined(OTL_ODBC)||defined(OTL_DB2_CLI)) -#define OTL_TRACE_RLOGON_ODBC(level,class_name,func_name, \ - tnsname,userid,passwd, \ - auto_commit) \ - if(OTL_TRACE_LEVEL & level){ \ - char temp_connect_str2[2048]; \ - strcpy(temp_connect_str2,userid); \ - strcat(temp_connect_str2,"/"); \ - size_t sz=strlen(passwd); \ - for(size_t i=0;i<sz;++i)strcat(temp_connect_str2,"*"); \ - size_t tns_sz=strlen(tnsname); \ - if(tns_sz>0){ \ - strcat(temp_connect_str2,"@"); \ - strcat(temp_connect_str2,tnsname); \ - } \ - OTL_TRACE_STREAM<<OTL_TRACE_LINE_PREFIX; \ - OTL_TRACE_STREAM<<class_name; \ - OTL_TRACE_STREAM<<"(this="; \ - OTL_TRACE_STREAM<<OTL_RCAST(void*,this); \ - OTL_TRACE_STREAM<<")::" func_name "("; \ - OTL_TRACE_STREAM<<"connect_str=\""; \ - OTL_TRACE_STREAM<<temp_connect_str2; \ - OTL_TRACE_STREAM<<"\", auto_commit="; \ - OTL_TRACE_STREAM<<auto_commit; \ - OTL_TRACE_STREAM<<");"; \ - OTL_TRACE_STREAM<<OTL_TRACE_LINE_SUFFIX; \ +#define OTL_TRACE_RLOGON_ODBC(level,class_name,func_name, \ + tnsname,userid,passwd, \ + auto_commit) \ + if(OTL_TRACE_LEVEL & level){ \ + char temp_connect_str2[2048]; \ + OTL_STRCPY_S(temp_connect_str2,sizeof(temp_connect_str2),userid); \ + OTL_STRCPY_S(temp_connect_str2,sizeof(temp_connect_str2),"/"); \ + size_t sz=strlen(passwd); \ + for(size_t i=0;i<sz;++i) \ + OTL_STRCAT_S(temp_connect_str2,sizeof(temp_connect_str2),"*"); \ + size_t tns_sz=strlen(tnsname); \ + if(tns_sz>0){ \ + OTL_STRCAT_S(temp_connect_str2,sizeof(temp_connect_str2),"@"); \ + OTL_STRCAT_S(temp_connect_str2,sizeof(temp_connect_str2),tnsname); \ + } \ + OTL_TRACE_STREAM<<OTL_TRACE_LINE_PREFIX; \ + OTL_TRACE_STREAM<<class_name; \ + OTL_TRACE_STREAM<<"(this="; \ + OTL_TRACE_STREAM<<OTL_RCAST(void*,this); \ + OTL_TRACE_STREAM<<")::" func_name "("; \ + OTL_TRACE_STREAM<<"connect_str=\""; \ + OTL_TRACE_STREAM<<temp_connect_str2; \ + OTL_TRACE_STREAM<<"\", auto_commit="; \ + OTL_TRACE_STREAM<<auto_commit; \ + OTL_TRACE_STREAM<<");"; \ + OTL_TRACE_STREAM<<OTL_TRACE_LINE_SUFFIX; \ } #endif @@ -692,7 +736,7 @@ OTL_TRACE_STREAM<<temp_vdesc->name; \ OTL_TRACE_STREAM<<", value="; \ OTL_TRACE_STREAM<<val; \ - OTL_TRACE_STREAM <<");"; \ + OTL_TRACE_STREAM <<");"; \ OTL_TRACE_STREAM<<OTL_TRACE_LINE_SUFFIX; \ } #endif @@ -787,7 +831,7 @@ #define OTL_UNICODE_ID OCI_UCS2ID #endif -#if defined(OTL_ORA9I ) +#if defined(OTL_ORA9I) #define OTL_UNICODE_ID OCI_UTF16ID #endif @@ -813,7 +857,6 @@ const int otl_odbc_adapter=1; const int otl_ora7_adapter=2; const int otl_ora8_adapter=3; -const int otl_ibase_adapter=4; const int otl_inout_binding=1; const int otl_select_binding=2; @@ -1014,6 +1057,7 @@ #include <exception> #endif + #ifndef OTL_STL_NOSTD_NAMESPACE #include <iostream> #else @@ -1027,9 +1071,6 @@ #endif -// %%% -//#define OTL_DEBUG - //======================= END OF CONFIGURATION ============================== @@ -1146,7 +1187,19 @@ #define otl_error_msg_28 \ "RAW value cannot be read with otl_lob_stream, use otl_long_string instead" +const int otl_error_code_29=32030; +#define otl_error_msg_29 \ +"otl_stream is already open" +const int otl_error_code_30=32031; +#define otl_error_msg_30 \ +"otl_connect is already connected" + +const int otl_error_code_31=32032; +#define otl_error_msg_31 \ +"SELECT otl_stream buffer size for TimesTen should be in [1..128] range" + + const int otl_oracle_date_size=7; const int otl_explicit_select=0; @@ -1446,7 +1499,7 @@ int prec; #endif int nullok; -#if defined(OTL_ORA_UNICODE) +#if defined(OTL_ORA_UNICODE)||defined(OTL_ORA_UTF8) int charset_form; int char_size; #endif @@ -1475,16 +1528,16 @@ otl_column_desc& operator=(const otl_column_desc& desc) { if(name_len_>=desc.name_len_) - strcpy(name,desc.name); + OTL_STRCPY_S(name,name_len_,desc.name); else if(name==0 && desc.name!=0){ name=new char[desc.name_len_]; name_len_=desc.name_len_; - strcpy(name,desc.name); + OTL_STRCPY_S(name,name_len_,desc.name); }else if(name_len_<desc.name_len_ && desc.name!=0){ delete[] name; name=new char[desc.name_len_]; name_len_=desc.name_len_; - strcpy(name,desc.name); + OTL_STRCPY_S(name,name_len_,desc.name); } dbtype=desc.dbtype; otl_var_dbtype=desc.otl_var_dbtype; @@ -1492,7 +1545,7 @@ scale=desc.scale; prec=desc.prec; nullok=desc.nullok; -#if defined(OTL_ORA_UNICODE) +#if defined(OTL_ORA_UNICODE)||defined(OTL_ORA_UTF8) charset_form=desc.charset_form; char_size=desc.char_size; #endif @@ -1553,8 +1606,18 @@ if(!nm) name[0]=0; else{ +#if defined(_MSC_VER) +#if (_MSC_VER >= 1400) + OTL_STRNCPY_S(name,sizeof(name),nm,sizeof(name)-1); + name[sizeof(name)-1]=0; +#else strncpy(name,nm,sizeof(name)); name[sizeof(name)-1]=0; +#endif +#else + strncpy(name,nm,sizeof(name)); + name[sizeof(name)-1]=0; +#endif } } @@ -1580,7 +1643,7 @@ const int otl_var_tz_timestamp=18; const int otl_var_ltz_timestamp=19; const int otl_var_bigint=20; -#if defined(OTL_ORA_UNICODE) +#if defined(OTL_ORA_UNICODE)||defined(OTL_ORA_UTF8) const int otl_var_nchar=21; const int otl_var_nclob=22; #else @@ -1812,64 +1875,108 @@ (const char* name, const int ftype, const int type_code, - char* var_info) + char* var_info, +#if defined(_MSC_VER) +#if (_MSC_VER >= 1400) // VC++ 8.0 or higher + const size_t var_info_sz +#else + const size_t /*var_info_sz*/ +#endif +#else + const size_t /*var_info_sz*/ +#endif +) {char buf1[128]; char buf2[128]; - strcpy(buf1,otl_var_type_name(ftype)); - strcpy(buf2,otl_var_type_name(type_code)); - strcpy(var_info,"Variable: "); - strcat(var_info,name); - strcat(var_info,"<"); - strcat(var_info,buf1); - strcat(var_info,">, datatype in operator <</>>: "); - strcat(var_info,buf2); + OTL_STRCPY_S(buf1,sizeof(buf1),otl_var_type_name(ftype)); + OTL_STRCPY_S(buf2,sizeof(buf2),otl_var_type_name(type_code)); + OTL_STRCPY_S(var_info,var_info_sz,"Variable: "); + OTL_STRCAT_S(var_info,var_info_sz,name); + OTL_STRCAT_S(var_info,var_info_sz,"<"); + OTL_STRCAT_S(var_info,var_info_sz,buf1); + OTL_STRCAT_S(var_info,var_info_sz,">, datatype in operator <</>>: "); + OTL_STRCAT_S(var_info,var_info_sz,buf2); } inline void otl_var_info_var2 (const char* name, const int ftype, - char* var_info) + char* var_info, +#if defined(_MSC_VER) +#if (_MSC_VER >= 1400) // VC++ 8.0 or higher + const size_t var_info_sz +#else + const size_t /*var_info_sz*/ +#endif +#else + const size_t /*var_info_sz*/ +#endif +) {char buf1[128]; - strcpy(buf1,otl_var_type_name(ftype)); - strcpy(var_info,"Variable: "); - strcat(var_info,name); - strcat(var_info,"<"); - strcat(var_info,buf1); - strcat(var_info,">"); + OTL_STRCPY_S(buf1,sizeof(buf1),otl_var_type_name(ftype)); + OTL_STRCPY_S(var_info,var_info_sz,"Variable: "); + OTL_STRCPY_S(var_info,var_info_sz,name); + OTL_STRCAT_S(var_info,var_info_sz,"<"); + OTL_STRCAT_S(var_info,var_info_sz,buf1); + OTL_STRCAT_S(var_info,var_info_sz,">"); } inline void otl_var_info_var3 (const char* name, const int ftype, const int type_code, - char* var_info) + char* var_info, +#if defined(_MSC_VER) +#if (_MSC_VER >= 1400) // VC++ 8.0 or higher + const size_t var_info_sz +#else + const size_t /*var_info_sz*/ +#endif +#else + const size_t /*var_info_sz*/ +#endif +) {char buf1[128]; char buf2[128]; - strcpy(buf1,otl_var_type_name(ftype)); - strcpy(buf2,otl_var_type_name(type_code)); - strcpy(var_info,"Variable: "); - strcat(var_info,name); - strcat(var_info,"<"); - strcat(var_info,buf1); - strcat(var_info,">, datatype in otl_stream_read_iterator::get(): "); - strcat(var_info,buf2); + OTL_STRCPY_S(buf1,sizeof(buf1),otl_var_type_name(ftype)); + OTL_STRCPY_S(buf2,sizeof(buf2),otl_var_type_name(type_code)); + OTL_STRCPY_S(var_info,var_info_sz,"Variable: "); + OTL_STRCAT_S(var_info,var_info_sz,name); + OTL_STRCAT_S(var_info,var_info_sz,"<"); + OTL_STRCAT_S(var_info,var_info_sz,buf1); + OTL_STRCAT_S(var_info, + var_info_sz, + ">, datatype in otl_stream_read_iterator::get(): "); + OTL_STRCAT_S(var_info,var_info_sz,buf2); } inline void otl_var_info_var4 (const char* name, const int ftype, const int type_code, - char* var_info) + char* var_info, +#if defined(_MSC_VER) +#if (_MSC_VER >= 1400) // VC++ 8.0 or higher + const size_t var_info_sz +#else + const size_t /*var_info_sz*/ +#endif +#else + const size_t /*var_info_sz*/ +#endif +) {char buf1[128]; char buf2[128]; - strcpy(buf1,otl_var_type_name(ftype)); - strcpy(buf2,otl_var_type_name(type_code)); - strcpy(var_info,"Variable: "); - strcat(var_info,name); - strcat(var_info,"<"); - strcat(var_info,buf1); - strcat(var_info,">, datatype in otl_stream_read_iterator::get(): "); - strcat(var_info,buf2); + OTL_STRCPY_S(buf1,sizeof(buf1),otl_var_type_name(ftype)); + OTL_STRCPY_S(buf2,sizeof(buf2),otl_var_type_name(type_code)); + OTL_STRCPY_S(var_info,var_info_sz,"Variable: "); + OTL_STRCAT_S(var_info,var_info_sz,name); + OTL_STRCAT_S(var_info,var_info_sz,"<"); + OTL_STRCAT_S(var_info,var_info_sz,buf1); + OTL_STRCAT_S(var_info, + sizeof(var_info), + ">, datatype in otl_stream_read_iterator::get(): "); + OTL_STRCAT_S(var_info,sizeof(var_info),buf2); } inline void otl_strcpy( @@ -1881,7 +1988,7 @@ ) { OTL_CHAR* c1=OTL_RCAST(OTL_CHAR*,trg); - OTL_CHAR* c2=OTL_RCAST(OTL_CHAR*,src); + const OTL_CHAR* c2=OTL_RCAST(const OTL_CHAR*,src); int out_size=0; overflow=0; if(actual_inp_size!=-1){ @@ -1903,35 +2010,46 @@ } } -#if defined(OTL_UNICODE) || defined(_MSC_VER) +#if defined(OTL_UNICODE) || (defined(_MSC_VER) && (_MSC_VER >= 1400)) inline void otl_strcpy (unsigned char* trg, - unsigned char* src) + const unsigned char* src) { OTL_CHAR* c1=OTL_RCAST(OTL_CHAR*,trg); - OTL_CHAR* c2=OTL_RCAST(OTL_CHAR*,src); + const OTL_CHAR* c2=OTL_RCAST(const OTL_CHAR*,src); while(*c2){ *c1++=*c2++; } *c1=0; } #else -inline void otl_strcpy(unsigned char* trg,unsigned char* src) +inline void otl_strcpy(unsigned char* trg,const unsigned char* src) { strcpy(OTL_RCAST(char*,trg),OTL_RCAST(const char*,src)); } #endif +inline void otl_strcat(char* trg,const char* src) +{ + while(*trg)++trg; + while(*src){ + *trg=*src; + ++trg; + ++src; + } + *trg=0; +} + #if defined(OTL_UNICODE) && !defined(OTL_ODBC) inline void otl_strcpy2( unsigned char* trg, - unsigned char* src, + const unsigned char* src, const int max_src_len ) { OTL_CHAR* c1=OTL_RCAST(OTL_CHAR*,trg); - OTL_CHAR* c2=OTL_RCAST(OTL_CHAR*,src); - int src_len=OTL_SCAST(int,*OTL_SCAST(unsigned short*,c2)); + const OTL_CHAR* c2=OTL_RCAST(const OTL_CHAR*,src); + int src_len=OTL_SCAST(int,*OTL_SCAST(const unsigned short*,c2)); int len=0; ++c2; while(*c2&&len<max_src_len&&len<src_len){ @@ -1942,7 +2060,7 @@ #else inline void otl_strcpy2( unsigned char* trg, - unsigned char* src, + const unsigned char* src, const int /* max_src_len */ ) { @@ -2130,58 +2248,90 @@ (const int pos, const int ftype, const int type_code, - char* var_info) + char* var_info, +#if defined(_MSC_VER) +#if (_MSC_VER >= 1400) // VC++ 8.0 or higher + const size_t var_info_sz +#else + const size_t /*var_info_sz*/ +#endif +#else + const size_t /*var_info_sz*/ +#endif +) { char buf1[128]; char buf2[128]; char name[128]; otl_itoa(pos,name); - strcpy(buf1,otl_var_type_name(ftype)); - strcpy(buf2,otl_var_type_name(type_code)); - strcpy(var_info,"Column: "); - strcat(var_info,name); - strcat(var_info,"<"); - strcat(var_info,buf1); - strcat(var_info,">, datatype in operator <</>>: "); - strcat(var_info,buf2); + OTL_STRCPY_S(buf1,sizeof(buf1),otl_var_type_name(ftype)); + OTL_STRCPY_S(buf2,sizeof(buf2),otl_var_type_name(type_code)); + OTL_STRCPY_S(var_info,var_info_sz,"Column: "); + OTL_STRCAT_S(var_info,var_info_sz,name); + OTL_STRCAT_S(var_info,var_info_sz,"<"); + OTL_STRCAT_S(var_info,var_info_sz,buf1); + OTL_STRCAT_S(var_info, + var_info_sz, + ">, datatype in operator <</>>: "); + OTL_STRCAT_S(var_info,var_info_sz,buf2); } inline void otl_var_info_col2 (const int pos, const int ftype, - char* var_info) + char* var_info, +#if defined(_MSC_VER) +#if (_MSC_VER >= 1400) // VC++ 8.0 or higher + const size_t var_info_sz +#else + const size_t /*var_info_sz*/ +#endif +#else + const size_t /*var_info_sz*/ +#endif +) { char buf1[128]; char name[128]; otl_itoa(pos,name); - strcpy(buf1,otl_var_type_name(ftype)); - strcpy(var_info,"Column: "); - strcat(var_info,name); - strcat(var_info,"<"); - strcat(var_info,buf1); - strcat(var_info,">"); + OTL_STRCPY_S(buf1,sizeof(buf1),otl_var_type_name(ftype)); + OTL_STRCPY_S(var_info,var_info_sz,"Column: "); + OTL_STRCAT_S(var_info,var_info_sz,name); + OTL_STRCAT_S(var_info,var_info_sz,"<"); + OTL_STRCAT_S(var_info,var_info_sz,buf1); + OTL_STRCAT_S(var_info,var_info_sz,">"); } inline void otl_var_info_col3 (const int pos, const int ftype, const char* col_name, - char* var_info) + char* var_info, +#if defined(_MSC_VER) +#if (_MSC_VER >= 1400) // VC++ 8.0 or higher + const size_t var_info_sz +#else + const size_t /*var_info_sz*/ +#endif +#else + const size_t /*var_info_sz*/ +#endif +) { char buf1[128]; char name[128]; otl_itoa(pos,name); - strcpy(buf1,otl_var_type_name(ftype)); - strcpy(var_info,"Column: "); - strcat(var_info,name); - strcat(var_info," / "); - strcat(var_info,col_name); - strcat(var_info," <"); - strcat(var_info,buf1); - strcat(var_info,">"); + OTL_STRCPY_S(buf1,sizeof(buf1),otl_var_type_name(ftype)); + OTL_STRCPY_S(var_info,var_info_sz,"Column: "); + OTL_STRCAT_S(var_info,var_info_sz,name); + OTL_STRCAT_S(var_info,var_info_sz," / "); + OTL_STRCAT_S(var_info,var_info_sz,col_name); + OTL_STRCAT_S(var_info,var_info_sz," <"); + OTL_STRCAT_S(var_info,var_info_sz,buf1); + OTL_STRCAT_S(var_info,var_info_sz,">"); } class otl_pl_tab_generic{ @@ -3382,7 +3532,10 @@ stm_text[0]=0; var_info[0]=0; if(sqlstm){ - strncpy(OTL_RCAST(char*,stm_text),sqlstm,sizeof(stm_text)); + OTL_STRNCPY_S(OTL_RCAST(char*,stm_text), + sizeof(stm_text), + sqlstm, + sizeof(stm_text)-1); stm_text[sizeof(stm_text)-1]=0; } conn_struct.error(OTL_SCAST(TExceptionStruct&,*this)); @@ -3399,7 +3552,10 @@ stm_text[0]=0; var_info[0]=0; if(sqlstm){ - strncpy(OTL_RCAST(char*,stm_text),sqlstm,sizeof(stm_text)); + OTL_STRNCPY_S(OTL_RCAST(char*,stm_text), + sizeof(stm_text), + sqlstm, + sizeof(stm_text)-1); stm_text[sizeof(stm_text)-1]=0; } cursor_struct.error(OTL_SCAST(TExceptionStruct&,*this)); @@ -3420,10 +3576,20 @@ stm_text[0]=0; var_info[0]=0; if(sqlstm){ +#if defined(_MSC_VER) +#if (_MSC_VER >= 1400) + OTL_STRCPY_S(OTL_RCAST(char*,stm_text),sizeof(stm_text),sqlstm); +#else strncpy(OTL_RCAST(char*,stm_text),sqlstm,sizeof(stm_text)); stm_text[sizeof(stm_text)-1]=0; +#endif +#else + strncpy(OTL_RCAST(char*,stm_text),sqlstm,sizeof(stm_text)); + stm_text[sizeof(stm_text)-1]=0; +#endif } - if(varinfo)strcpy(OTL_RCAST(char*,var_info),varinfo); + if(varinfo) + OTL_STRCPY_S(OTL_RCAST(char*,var_info),sizeof(var_info),varinfo); TExceptionStruct::init(amsg,acode); OTL_TRACE_EXCEPTION(this->code,this->msg,this->stm_text,this->var_info) } @@ -3526,8 +3692,14 @@ ++throw_count; if(throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION(connect_struct); } } @@ -3543,8 +3715,14 @@ return; ++throw_count; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION(connect_struct); } @@ -3558,8 +3736,14 @@ ++throw_count; if(throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION(connect_struct); } @@ -3573,8 +3757,14 @@ ++throw_count; if(throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION(connect_struct); } @@ -3588,8 +3778,14 @@ ++throw_count; if(throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION(connect_struct); } @@ -3603,8 +3799,14 @@ ++throw_count; if(throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION(connect_struct); } @@ -3642,7 +3844,7 @@ v.pos=pos; v.name_pos=name_pos; if(name){ - strncpy(v.name,name,sizeof(v.name)); + OTL_STRNCPY_S(v.name,sizeof(v.name),name,sizeof(v.name)-1); v.name[sizeof(v.name)-1]=0; }else v.name[0]=0; @@ -3698,7 +3900,7 @@ const int apl_tab_flag=0) { ftype=aftype; -#if defined(OTL_ORA_UNICODE) +#if defined(OTL_ORA_UNICODE)||defined(OTL_ORA_UTF8) if(ftype==otl_var_nchar) ftype=otl_var_char; else if(ftype==otl_var_nclob) @@ -3726,8 +3928,9 @@ pos=0; if(name==aname)return; if(name)delete[] name; - name=new char[strlen(aname)+1]; - strcpy(name,aname); + size_t len=strlen(aname)+1; + name=new char[len]; + OTL_STRCPY_S(name,len,aname); } void copy_pos(const int apos) @@ -3917,8 +4120,14 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION(cursor_struct); } @@ -3945,8 +4154,14 @@ this->adb->throw_count++; adb=0; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION(cursor_struct); } @@ -3959,15 +4174,27 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION(cursor_struct,stm_label?stm_label:stm_text); case 2: if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif char var_info[1]; var_info[0]=0; throw OTL_TMPL_EXCEPTION @@ -3985,8 +4212,9 @@ delete[] stm_text; stm_text=0; } - stm_text=new char[strlen(sqlstm)+1]; - strcpy(stm_text,sqlstm); + size_t len=strlen(sqlstm)+1; + stm_text=new char[len]; + OTL_STRCPY_S(stm_text,len,sqlstm); parse(); } @@ -4004,8 +4232,14 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION(cursor_struct,stm_label?stm_label:stm_text); } @@ -4037,12 +4271,19 @@ otl_var_info_var2 (v.name, v.ftype, - var_info); + var_info, + sizeof(var_info)); if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION (otl_error_msg_16, otl_error_code_16, @@ -4064,8 +4305,14 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION(cursor_struct,stm_label?stm_label:stm_text); } @@ -4080,12 +4327,19 @@ otl_var_info_col2 (v.pos, v.ftype, - var_info); + var_info, + sizeof(var_info)); if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION (otl_error_msg_16, otl_error_code_16, @@ -4102,8 +4356,14 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION(cursor_struct,stm_label?stm_label:stm_text); } @@ -4151,6 +4411,7 @@ OTL_TRACE_SYNTAX_CHECK OTL_TMPL_CURSOR cur(connect); cur.cursor_struct.set_direct_exec(1); + cur.cursor_struct.set_parse_only(1); cur.parse(sqlstm); } @@ -4168,8 +4429,14 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return 0; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return 0; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return 0; +#endif throw OTL_TMPL_EXCEPTION(cursor_struct,stm_label?stm_label:stm_text); } @@ -4404,8 +4671,9 @@ for(i=0;i<n;++i) if(name_comp(hv[i],v)) return; - hv[n]=new char[strlen(v)+1]; - strcpy(hv[n],v); + size_t v_len=strlen(v)+1; + hv[n]=new char[v_len]; + OTL_STRCPY_S(hv[n],v_len,v); inout[n]=in_out; pl_tab_size[n]=apl_tab_size; if(n==container_size_-1){ @@ -4562,7 +4830,7 @@ }else rc=0; break; -#if defined(OTL_ORA_UNICODE) +#if defined(OTL_ORA_UNICODE)||defined(OTL_ORA_UTF8) case 'N': if(t2=='C'){ if(t3=='L'){ @@ -4707,7 +4975,7 @@ return 0; } -#if defined(OTL_ORA_UNICODE) +#if defined(OTL_ORA_UNICODE)||defined(OTL_ORA_UTF8) if(type=='N'&&t2=='C'&&t3=='H'){ char tmp[32]; char *t=tmp; @@ -4772,7 +5040,7 @@ pl_tab_flag); #endif break; -#if defined(OTL_ORA_UNICODE) +#if defined(OTL_ORA_UNICODE)||defined(OTL_ORA_UTF8) case 'N': if(t2=='C' && (t3=='L'||t3=='H')){ if(t3=='L'){ @@ -4978,6 +5246,7 @@ int cur_size; int row_count; int array_size; + int prefetch_array_size; TSelectCursorStruct select_cursor_struct; otl_select_struct_override local_override; @@ -4997,10 +5266,17 @@ delete[] this->stm_label; this->stm_label=0; } - this->stm_label=new char[strlen(sqlstm_label)+1]; - strcpy(this->stm_label,sqlstm_label); + size_t len=strlen(sqlstm_label)+1; + this->stm_label=new char[len]; + OTL_STRCPY_S(this->stm_label,len,sqlstm_label); } +#if defined(OTL_ODBC_TIMESTEN) + array_size=1; + prefetch_array_size=arr_size; +#else array_size=arr_size; + prefetch_array_size=0; +#endif select_cursor_struct.init(array_size); } @@ -5028,6 +5304,7 @@ int first(void) { if(!OTL_TMPL_CURSOR::connected)return 0; + select_cursor_struct.set_prefetch_size(prefetch_array_size); int rc=select_cursor_struct.first (this->cursor_struct, cur_row,cur_size, @@ -5039,8 +5316,14 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return 0; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return 0; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return 0; +#endif throw OTL_TMPL_EXCEPTION (this->cursor_struct, this->stm_label? @@ -5055,8 +5338,14 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return 0; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return 0; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return 0; +#endif throw OTL_TMPL_EXCEPTION (this->cursor_struct, this->stm_label? @@ -5127,6 +5416,7 @@ virtual int eof(void) = 0; virtual int len(void) = 0; + virtual bool is_initialized(void) = 0; virtual void close(void) = 0; }; @@ -5134,7 +5424,8 @@ #endif #if defined(__GNUC__) || defined(__SUNPRO_CC) || \ - (defined(_MSC_VER) &&(_MSC_VER <= 1300)) + (defined(_MSC_VER) && (_MSC_VER <= 1300)) || \ + defined(__HP_aCC) // Enable the kludge for compilers that do not support template // member functions at all, or have bugs: g++, Forte C++ (Solaris), // Visual C++ 6.0, Visual C++ 7.0, etc. @@ -5205,7 +5496,7 @@ { size_t len=strlen(sqlstm)+1; this->stm_text=new char[len]; - strcpy(this->stm_text,sqlstm); + OTL_STRCPY_S(this->stm_text,len,sqlstm); otl_select_struct_override* temp_local_override=&this->local_override; otl_tmpl_ext_hv_decl <TVariableStruct,TTimestampStruct,TExceptionStruct, @@ -5326,7 +5617,8 @@ (i-1, sl_desc_tmp[i-1].dbtype, sl_desc_tmp[i-1].name, - this->var_info); + this->var_info, + sizeof(this->var_info)); throw OTL_TMPL_EXCEPTION (otl_error_msg_27, otl_error_code_27, @@ -5357,7 +5649,7 @@ this->local_override.getLen()>0?this->local_override:*override, j+1); sl[j].copy_pos(j+1); -#if defined(OTL_ORA_UNICODE) +#if defined(OTL_ORA_UNICODE)||defined(OTL_ORA_UTF8) if(sl_desc_tmp[j].charset_form==2) sl[j].var_struct.nls_flag=true; #endif @@ -5382,8 +5674,14 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION (otl_error_msg_2, otl_error_code_2, @@ -5411,12 +5709,19 @@ (sl[cur_col].pos, sl[cur_col].ftype, out_type_code, - var_info); + var_info, + sizeof(var_info)); if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return 0; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return 0; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return 0; +#endif throw OTL_TMPL_EXCEPTION (otl_error_msg_0, otl_error_code_0, @@ -5433,12 +5738,19 @@ (sl[cur_col].pos, sl[cur_col].ftype, type_code, - var_info); + var_info, + sizeof(var_info)); if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION (otl_error_msg_0, otl_error_code_0, @@ -5563,8 +5875,14 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return *this; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return *this; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return *this; +#endif throw OTL_TMPL_EXCEPTION (this->adb->connect_struct, this->stm_label?this->stm_label: @@ -5594,7 +5912,7 @@ get_next(); if(check_type(otl_var_char)&&!eof_intern()){ otl_strcpy(OTL_RCAST(unsigned char*,s), - OTL_RCAST(unsigned char*,sl[cur_col].val(this->cur_row)) + OTL_RCAST(const unsigned char*,sl[cur_col].val(this->cur_row)) ); look_ahead(); } @@ -5622,12 +5940,19 @@ (this->vl[cur_in]->name, this->vl[cur_in]->ftype, otl_var_char, - temp_var_info); + temp_var_info, + sizeof(temp_var_info)); if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return *this; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return *this; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return *this; +#endif throw OTL_TMPL_EXCEPTION (otl_error_msg_4, otl_error_code_4, @@ -5694,8 +6019,14 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return *this; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return *this; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return *this; +#endif throw OTL_TMPL_EXCEPTION (this->adb->connect_struct, this->stm_label?this->stm_label: @@ -5797,8 +6128,14 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return *this; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return *this; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return *this; +#endif throw OTL_TMPL_EXCEPTION (this->adb->connect_struct, this->stm_label?this->stm_label: @@ -5860,8 +6197,14 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return *this; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return *this; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return *this; +#endif throw OTL_TMPL_EXCEPTION (this->adb->connect_struct, this->stm_label?this->stm_label: @@ -5882,12 +6225,19 @@ (sl[cur_col].pos, sl[cur_col].ftype, otl_var_long_string, - tmp_var_info); + tmp_var_info, + sizeof(tmp_var_info)); if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return *this; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return *this; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return *this; +#endif throw OTL_TMPL_EXCEPTION (otl_error_msg_0, otl_error_code_0, @@ -5934,12 +6284,19 @@ (sl[cur_col].pos, sl[cur_col].ftype, otl_var_long_string, - tmp_var_info); + tmp_var_info, + sizeof(tmp_var_info)); if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return *this; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return *this; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return *this; +#endif throw OTL_TMPL_EXCEPTION (otl_error_msg_0, otl_error_code_0, @@ -5957,12 +6314,19 @@ (this->vl[cur_in]->name, this->vl[cur_in]->ftype, type_code, - var_info); + var_info, + sizeof(var_info)); if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return 0; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return 0; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return 0; +#endif throw OTL_TMPL_EXCEPTION (otl_error_msg_0, otl_error_code_0, @@ -5997,8 +6361,14 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION (otl_error_msg_1, otl_error_code_1, @@ -6076,12 +6446,19 @@ (this->vl[cur_in]->name, this->vl[cur_in]->ftype, otl_var_char, - tmp_var_info); + tmp_var_info, + sizeof(tmp_var_info)); if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return *this; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return *this; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return *this; +#endif throw OTL_TMPL_EXCEPTION (otl_error_msg_4, otl_error_code_4, @@ -6110,12 +6487,19 @@ (this->vl[cur_in]->name, this->vl[cur_in]->ftype, otl_var_char, - var_info); + var_info, + sizeof(var_info)); if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return *this; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return *this; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return *this; +#endif throw OTL_TMPL_EXCEPTION (otl_error_msg_5, otl_error_code_5, @@ -6137,12 +6521,19 @@ (this->vl[cur_in]->name, this->vl[cur_in]->ftype, otl_var_char, - var_info); + var_info, + sizeof(var_info)); if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return *this; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return *this; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return *this; +#endif throw OTL_TMPL_EXCEPTION (otl_error_msg_5, otl_error_code_5, @@ -6194,12 +6585,19 @@ (this->vl[cur_in]->name, this->vl[cur_in]->ftype, otl_var_char, - temp_var_info); + temp_var_info, + sizeof(temp_var_info)); if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return *this; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return *this; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return *this; +#endif throw OTL_TMPL_EXCEPTION (otl_error_msg_4, otl_error_code_4, @@ -6235,12 +6633,19 @@ (this->vl[cur_in]->name, this->vl[cur_in]->ftype, otl_var_char, - temp_var_info); + temp_var_info, + sizeof(temp_var_info)); if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return *this; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return *this; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return *this; +#endif throw OTL_TMPL_EXCEPTION (otl_error_msg_4, otl_error_code_4, @@ -6294,8 +6699,14 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return *this; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return *this; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return *this; +#endif throw OTL_TMPL_EXCEPTION (this->adb->connect_struct, this->stm_label?this->stm_label: @@ -6354,8 +6765,9 @@ delete[] this->stm_label; this->stm_label=0; } + size_t len=strlen(sqlstm_label)+1; this->stm_label=new char[strlen(sqlstm_label)+1]; - strcpy(this->stm_label,sqlstm_label); + OTL_STRCPY_S(this->stm_label,len,sqlstm_label); } dirty=0; auto_commit_flag=1; @@ -6375,7 +6787,7 @@ { int len=strlen(sqlstm)+1; this->stm_text=new char[len]; - strcpy(this->stm_text,sqlstm); + OTL_STRCPY_S(this->stm_text,len,sqlstm); otl_tmpl_ext_hv_decl <TVariableStruct,TTimestampStruct,TExceptionStruct, TConnectStruct,TCursorStruct> hvd(this->stm_text,arr_size); @@ -6412,8 +6824,9 @@ delete[] this->stm_label; this->stm_label=0; } - this->stm_label=new char[strlen(sqlstm_label)+1]; - strcpy(this->stm_label,sqlstm_label); + size_t len=strlen(sqlstm_label)+1; + this->stm_label=new char[len]; + OTL_STRCPY_S(this->stm_label,len,sqlstm_label); } should_delete_flag=1; in_exception_flag=0; @@ -6463,8 +6876,14 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION (this->adb->connect_struct, this->stm_label?this->stm_label: @@ -6478,7 +6897,13 @@ } #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception()){ + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX +#endif + uncaught_exception()){ clean(); return; } @@ -6493,7 +6918,13 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception()){ + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX +#endif + uncaught_exception()){ clean(); return; } @@ -6514,8 +6945,14 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION (this->adb->connect_struct, this->stm_label?this->stm_label: @@ -6528,8 +6965,14 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION (this->cursor_struct, this->stm_label?this->stm_label: @@ -6542,8 +6985,14 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION (this->adb->connect_struct, this->stm_label?this->stm_label: @@ -6560,8 +7009,14 @@ if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return; +#endif throw OTL_TMPL_EXCEPTION (this->adb->connect_struct, this->stm_label?this->stm_label: @@ -6582,6 +7037,7 @@ (const int clean_up_error_flag=0, const int rows=0) { + int j; if(clean_up_error_flag) { this->retcode=1; @@ -6625,12 +7081,19 @@ (this->vl[cur_x]->name, this->vl[cur_x]->ftype, type_code, - var_info); + var_info, + sizeof(var_info)); if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return 0; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return 0; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return 0; +#endif throw OTL_TMPL_EXCEPTION (otl_error_msg_0, otl_error_code_0, @@ -6673,6 +7136,7 @@ char* tmp=OTL_RCAST(char*,this->vl[cur_x]->val(cur_y)); tmp[0]=c; tmp[1]=0; + this->vl[cur_x]->set_not_null(cur_y); } check_buf(); } @@ -6687,6 +7151,7 @@ unsigned char* tmp=OTL_RCAST(unsigned char*,this->vl[cur_x]->val(cur_y)); tmp[0]=c; tmp[1]=0; + this->vl[cur_x]->set_not_null(cur_y); } check_buf(); } @@ -6714,13 +7179,20 @@ (this->vl[cur_x]->name, this->vl[cur_x]->ftype, otl_var_char, - var_info); + var_info, + sizeof(var_info)); in_exception_flag=1; if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return *this; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return *this; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return *this; +#endif throw OTL_TMPL_EXCEPTION (otl_error_msg_4, otl_error_code_4, @@ -6728,6 +7200,7 @@ this->stm_text, var_info); } + this->vl[cur_x]->set_not_null(cur_y); } break; #if defined(OTL_USER_DEFINED_STRING_CLASS_ON) || \ @@ -6744,12 +7217,19 @@ (this->vl[cur_x]->name, this->vl[cur_x]->ftype, otl_var_char, - var_info); + var_info, + sizeof(var_info)); if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return *this; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return *this; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return *this; +#endif throw OTL_TMPL_EXCEPTION (otl_error_msg_5, otl_error_code_5, @@ -6775,12 +7255,19 @@ (this->vl[cur_x]->name, this->vl[cur_x]->ftype, otl_var_char, - var_info); + var_info, + sizeof(var_info)); if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return *this; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON) - if(STD_NAMESPACE_PREFIX uncaught_exception())return *this; + if( +#if defined(OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE) + OTL_UNCAUGHT_EXCEPTION_OWN_NAMESPACE +#else + STD_NAMESPACE_PREFIX #endif + uncaught_exception())return *this; +#endif throw OTL_TMPL_EXCEPTION (otl_error_msg_5, otl_error_code_5, @@ -6825,7 +7312,8 @@ (this->vl[cur_x]->name, this->vl[cur_x]->ftype, otl_var_char, - var_info); + var_info, + sizeof(var_info)); in_exception_flag=1; if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return *this; @@ -6836,6 +7324,7 @@ this->stm_text, var_info); } + this->vl[cur_x]->set_not_null(cur_y); break; } case otl_var_varchar_long: @@ -6849,12 +7338,19 @@ (this->vl[cur_x]->name, this->vl[cur_x]->ftype, otl_var_char, - var_info); + var_info, + sizeof(var_info)); if(this->adb)this->adb->throw_count++; if(this->adb&&this->adb->throw_count>1)return *this; #if defined(OTL_STL) && defined(OTL_UNCAUGHT_EXCEPTION_ON)... [truncated message content] |