Le vendredi 21 août 2009 à 09:51:32, Guillaume Lelarge a écrit :
> Le vendredi 21 août 2009 à 09:14:22, Dave Page a écrit :
> > On Thu, Aug 20, 2009 at 10:09 PM, Guillaume
> >
> > Lelarge<[email protected]> wrote:
> > > // If the transaction aborted for some reason, issue a rollback to
> > > cleanup. if (conn->GetTxStatus() == PGCONN_TXSTATUS_INERROR)
> > > conn->ExecuteVoid(wxT("ROLLBACK;"));
> > >
> > > We should perhaps have an option to enable/disable this behaviour.
> > > Dave, what do you think about this? should I add a ticket on this
> > > issue?
> >
> > Yes, I *think* it'd be appropriate to make that optional. If memory
> > serves, it is only there to cleanup for the user. I'm not in a
> > position to check at the moment though I'm afraid.
>
> Thanks. Logged in as http://code.pgadmin.org/trac/ticket/47 .
Here is a patch to add this feature. It adds a new setting ("Disable Auto
ROOLBACK") in the Query tag of the Options Dialog. This is of course for 1.11.
Comments?
--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com
Index: pgadmin/include/utils/sysSettings.h
===================================================================
--- pgadmin/include/utils/sysSettings.h (révision 8016)
+++ pgadmin/include/utils/sysSettings.h (copie de travail)
@@ -110,6 +110,8 @@
void SetIndentSpaces(const long newval) { Write(wxT("IndentSpaces"), newval); }
bool GetIndicateNull() const { bool b; Read(wxT("frmQuery/IndicateNull"), &b, false); return b; }
void SetIndicateNull(const bool newval) { Write(wxT("frmQuery/IndicateNull"), newval); }
+ bool GetDisableAutoRollback() const { bool b; Read(wxT("frmQuery/DisableAutoRollback"), &b, false); return b; }
+ void SetDisableAutoRollback(const bool newval) { Write(wxT("frmQuery/DisableAutoRollback"), newval); }
bool GetUnicodeFile() const { bool b; Read(wxT("WriteUnicodeFile"), &b, true); return b; }
void SetUnicodeFile(const bool newval) { Write(wxT("WriteUnicodeFile"), newval); }
wxFont GetSystemFont();
Index: pgadmin/frm/frmOptions.cpp
===================================================================
--- pgadmin/frm/frmOptions.cpp (révision 8016)
+++ pgadmin/frm/frmOptions.cpp (copie de travail)
@@ -56,6 +56,7 @@
#define cbCopySeparator CTRL_COMBOBOX("cbCopySeparator")
#define chkStickySql CTRL_CHECKBOX("chkStickySql")
#define chkIndicateNull CTRL_CHECKBOX("chkIndicateNull")
+#define chkDisableAutoRollback CTRL_CHECKBOX("chkDisableAutoRollback")
#define chkDoubleClickProperties CTRL_CHECKBOX("chkDoubleClickProperties")
#define cbLanguage CTRL_COMBOBOX("cbLanguage")
#define txtSqlFont CTRL_TEXT("txtSqlFont")
@@ -126,6 +127,7 @@
chkStickySql->SetValue(settings->GetStickySql());
chkIndicateNull->SetValue(settings->GetIndicateNull());
+ chkDisableAutoRollback->SetValue(settings->GetDisableAutoRollback());
chkDoubleClickProperties->SetValue(settings->GetDoubleClickProperties());
txtPgHelpPath->SetValue(settings->GetPgHelpPath());
@@ -391,6 +393,7 @@
settings->SetStickySql(chkStickySql->GetValue());
settings->SetIndicateNull(chkIndicateNull->GetValue());
+ settings->SetDisableAutoRollback(chkDisableAutoRollback->GetValue());
settings->SetDoubleClickProperties(chkDoubleClickProperties->GetValue());
settings->SetUnicodeFile(chkUnicodeFile->GetValue());
settings->SetSystemFont(currentFont);
Index: pgadmin/frm/frmQuery.cpp
===================================================================
--- pgadmin/frm/frmQuery.cpp (révision 8016)
+++ pgadmin/frm/frmQuery.cpp (copie de travail)
@@ -47,6 +47,7 @@
#include "schema/pgServer.h"
#include "utils/favourites.h"
#include "utils/sysLogger.h"
+#include "utils/sysSettings.h"
#include "utils/utffile.h"
#include "pgscript/pgsApplication.h"
@@ -2352,7 +2353,7 @@
msgHistory->ShowPosition(0);
// If the transaction aborted for some reason, issue a rollback to cleanup.
- if (conn->GetTxStatus() == PGCONN_TXSTATUS_INERROR)
+ if (!settings->GetDisableAutoRollback() && conn->GetTxStatus() == PGCONN_TXSTATUS_INERROR)
conn->ExecuteVoid(wxT("ROLLBACK;"));
setTools(false);
Index: pgadmin/ui/frmOptions.xrc
===================================================================
--- pgadmin/ui/frmOptions.xrc (révision 8016)
+++ pgadmin/ui/frmOptions.xrc (copie de travail)
@@ -308,6 +308,16 @@
<pos>175,157d</pos>
<size>226,12d</size>
</object>
+ <object class="wxStaticText" name="stDisableAutoRollback">
+ <label>Disable Auto ROLLBACK</label>
+ <pos>5,172d</pos>
+ </object>
+ <object class="wxCheckBox" name="chkDisableAutoRollback">
+ <label></label>
+ <checked>0</checked>
+ <pos>175,172d</pos>
+ <size>226,12d</size>
+ </object>
</object>
</object>
<object class="notebookpage">
@@ -390,4 +400,4 @@
<tooltip>Cancel any changes and close the dialogue.</tooltip>
</object>
</object>
-</resource>
\ No newline at end of file
+</resource>
--
Sent via pgadmin-support mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-support