From: <ibr...@us...> - 2013-08-20 11:17:25
|
Revision: 4769 http://sourceforge.net/p/tora/code/4769 Author: ibre5041 Date: 2013-08-20 11:17:22 +0000 (Tue, 20 Aug 2013) Log Message: ----------- Fix - execute selected text Modified Paths: -------------- trunk/tora/src/tools/toworksheet.cpp Modified: trunk/tora/src/tools/toworksheet.cpp =================================================================== --- trunk/tora/src/tools/toworksheet.cpp 2013-08-19 21:33:09 UTC (rev 4768) +++ trunk/tora/src/tools/toworksheet.cpp 2013-08-20 11:17:22 UTC (rev 4769) @@ -1192,6 +1192,8 @@ int lineFrom, indexFrom, lineTo, indexTo; Editor->editor()->getSelection(&lineFrom, &indexFrom, &lineTo, &indexTo); + if(indexTo == 0) + lineTo = (std::max)(lineFrom, lineTo-1); toSyntaxAnalyzer::statement stat(lineFrom, lineTo); analyzer->sanitizeStatement(stat); query(stat, execType, DontSelectQueryEnum); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2013-09-27 11:03:52
|
Revision: 4854 http://sourceforge.net/p/tora/code/4854 Author: ibre5041 Date: 2013-09-27 11:03:47 +0000 (Fri, 27 Sep 2013) Log Message: ----------- Do not refresh toResultSchema each time query is executed. Modified Paths: -------------- trunk/tora/src/tools/toworksheet.cpp Modified: trunk/tora/src/tools/toworksheet.cpp =================================================================== --- trunk/tora/src/tools/toworksheet.cpp 2013-09-27 11:02:43 UTC (rev 4853) +++ trunk/tora/src/tools/toworksheet.cpp 2013-09-27 11:03:47 UTC (rev 4854) @@ -2134,7 +2134,7 @@ toQuery schema(*LockedConnection, toSQL::string("Global:CurrentSchema", connection()), toQueryParams()); QString value = schema.readValue(); Schema->setSelected(value); - Schema->refresh(); + //Schema->refresh(); connection().setSchema(value); bool oldVal = lockConnectionAct->blockSignals(true); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2013-10-15 20:48:43
|
Revision: 4876 http://sourceforge.net/p/tora/code/4876 Author: ibre5041 Date: 2013-10-15 20:48:40 +0000 (Tue, 15 Oct 2013) Log Message: ----------- Modified Paths: -------------- trunk/tora/src/tools/toworksheet.cpp Modified: trunk/tora/src/tools/toworksheet.cpp =================================================================== --- trunk/tora/src/tools/toworksheet.cpp 2013-10-15 20:25:36 UTC (rev 4875) +++ trunk/tora/src/tools/toworksheet.cpp 2013-10-15 20:48:40 UTC (rev 4876) @@ -2160,8 +2160,8 @@ switch (TOMessageBox::warning(this, tr("Commit work?"), str, - tr("&Yes"), - tr("&No"), + tr("&Commit"), + tr("&Rollback"), tr("Cancel"))) { case 0: @@ -2171,6 +2171,10 @@ (*LockedConnection)->rollback(); break; case 2: + bool oldVal = lockConnectionAct->blockSignals(true); + lockConnectionAct->setChecked(true); + lockConnectionAct->blockSignals(oldVal); + Utils::toStatusMessage(str); return; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2013-11-21 10:07:15
|
Revision: 4944 http://sourceforge.net/p/tora/code/4944 Author: ibre5041 Date: 2013-11-21 10:07:12 +0000 (Thu, 21 Nov 2013) Log Message: ----------- Worksheet Toolbar reordered Modified Paths: -------------- trunk/tora/src/tools/toworksheet.cpp Modified: trunk/tora/src/tools/toworksheet.cpp =================================================================== --- trunk/tora/src/tools/toworksheet.cpp 2013-11-20 16:00:14 UTC (rev 4943) +++ trunk/tora/src/tools/toworksheet.cpp 2013-11-21 10:07:12 UTC (rev 4944) @@ -299,6 +299,8 @@ workToolbar->addAction(executeAct); workToolbar->addAction(executeStepAct); workToolbar->addAction(executeAllAct); + workToolbar->addAction(stopAct); + workToolbar->addAction(lockConnectionAct); workToolbar->addSeparator(); workToolbar->addAction(refreshAct); @@ -307,8 +309,6 @@ workToolbar->addAction(describeAct); workToolbar->addAction(describeActNew); workToolbar->addAction(explainAct); - workToolbar->addAction(stopAct); - workToolbar->addAction(lockConnectionAct); workToolbar->addSeparator(); workToolbar->addAction(eraseAct); @@ -610,6 +610,10 @@ ToolMenu->addAction(executeAct); ToolMenu->addAction(executeStepAct); ToolMenu->addAction(executeAllAct); + ToolMenu->addAction(stopAct); + + ToolMenu->addSeparator(); + ToolMenu->addAction(refreshAct); ToolMenu->addAction(parseAct); @@ -619,7 +623,6 @@ ToolMenu->addAction(describeActNew); ToolMenu->addAction(explainAct); ToolMenu->addAction(statisticAct); - ToolMenu->addAction(stopAct); ToolMenu->addSeparator(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2013-12-12 22:12:10
|
Revision: 4985 http://sourceforge.net/p/tora/code/4985 Author: ibre5041 Date: 2013-12-12 22:12:06 +0000 (Thu, 12 Dec 2013) Log Message: ----------- parse current statement Modified Paths: -------------- trunk/tora/src/tools/toworksheet.cpp Modified: trunk/tora/src/tools/toworksheet.cpp =================================================================== --- trunk/tora/src/tools/toworksheet.cpp 2013-12-12 20:26:29 UTC (rev 4984) +++ trunk/tora/src/tools/toworksheet.cpp 2013-12-12 22:12:06 UTC (rev 4985) @@ -143,6 +143,23 @@ " WHERE SQL_Text LIKE :f1<char[150]>||'%'", "Get address of an SQL statement"); +static toSQL SQLParseSql("toWorksheet:ParseSql", + "declare " + " l_cursor number := dbms_sql.open_cursor; " + " l_offset number := -1 ; " + "begin " + " begin " + " dbms_sql.parse( l_cursor, :st<char[32000],in> , dbms_sql.native ); " + " exception when others then " + " l_offset := dbms_sql.last_error_position; " + " end; " + " dbms_sql.close_cursor( l_cursor ); " + " :off<int,out> := l_offset; " + "end; " + , "Parse Oracle SQL query" + , "0800" + , "Oracle"); + static QString toSQLToAddress(toConnection &conn, const QString &sql) { QString search = Utils::toSQLStripSpecifier(sql); @@ -1450,56 +1467,36 @@ void toWorksheet::slotParseAll() { -#if 0 - toSQLParse::editorTokenizer tokens(Editor->editor()); + Utils::toBusy busy; + toSyntaxAnalyzer::statement stat = currentStatement(); + toSyntaxAnalyzer *analyzer = Editor->editor()->analyzer(); + analyzer->sanitizeStatement(stat); - int cpos, cline; - Editor->getCursorPosition(&cline, &cpos); - - QProgressDialog dialog(tr("Parsing all statements"), - tr("Cancel"), - 0, - Editor->lines(), - this); - int line; - int pos; - bool ignore = true; - do + if (stat.statementType == toSyntaxAnalyzer::DML || stat.statementType == toSyntaxAnalyzer::SELECT) { - line = tokens.line(); - pos = tokens.offset(); - dialog.setValue(line); - qApp->processEvents(); - if (dialog.wasCanceled()) - break; - toSQLParse::statement st = toSQLParse::parseStatement(tokens); + toQList vals = toQuery::readQuery(connection(), SQLParseSql, toQueryParams() << stat.sql); + int parseOffset = vals.front().toInt(); - if (ignore && (tokens.line() > cline || - (tokens.line() == cline && - tokens.offset() >= cpos))) - { - ignore = false; - cline = line; - cpos = pos; - } +// TODO use low level QScintilla function to plate the cursor +#if 0 + // Return a position from a line number and an index within the line. + int QsciScintilla::positionFromLineIndex(int line, int index) const + { + int pos = stat.posFrom; // SendScintilla(SCI_POSITIONFROMLINE, line); - if (tokens.line() < Editor->lines() && !ignore) - { - execute(tokens, line, pos, Parse, st.StatementClass); - if (Current) - { - toResultView *last = dynamic_cast<toResultView *>(Current); - if (toConfigurationSingle::Instance().wsHistory() && - last && last->firstChild()) - History[LastID] = last; - } - } - } - while (tokens.line() < Editor->lines()); + // Allow for multi-byte characters. + for(int i = 0; i < index; i++) + pos = SendScintilla(SCI_POSITIONAFTER, pos); - Editor->setSelection(cline, cpos, tokens.line(), tokens.offset()); + return pos; + } + Editor->m_editor->SendScintilla(SCI_GOTOPOS, pos); #endif - throw QString("TODO: not implemented yet: %1").arg(__QHERE__); + + if (parseOffset >= 0) + Editor->setCursorPosition(stat.lineFrom, parseOffset); + TLOG(1, toDecorator, __HERE__) << "Parse offset:" << parseOffset << std::endl; + } } void toWorksheet::slotEraseLogButton() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |