标签: rollback

在Mercurial中回滚多次提交(在推送到公共之前)

我知道回滚可以从本地存储库中的最新变更集中删除提交.但是,是否可以删除自上次推送以来的所有最新提交,而无需重新克隆共享存储库?

mercurial commit repository rollback

18
推荐指数
2
解决办法
4587
查看次数

如何回滚签入Clearcase的文件?

我的Clearcase存储库中有一个文件.我检查了一下并修改了它,然后重新检查了它.

我没有做任何事情,比如在我的流/视图中制作基线,变基或传递.

我很遗憾对此文件进行了更改 - 回想起来,我应该撤消结帐.

如何回滚修改?(或撤消,或恢复,或任何正确的命名法.)

clearcase rollback

17
推荐指数
1
解决办法
4万
查看次数

如果java.sql.Connection#commit()抛出异常,是否需要回滚?

根据JAVA文档,Connection#commit()可以抛出SQLException.我的问题是在这种情况下是否仍应发布回滚.

例如:

Connection con = null;
try {
    // assume this method returns an opened connection with setAutoCommit(false)
    con = createConnection(); 

    // do DB stuff

    con.commit();
} catch (SQLException e) {
    if (con != null) {
        // what if con.commit() failed, is this still necessary,
        // will it hurt anything?
        con.rollback();
    }
} finally {
    if (con != null) {
        con.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

我实际上将con.rollback()调用包装到另一个方法中,该方法忽略了它抛出的任何异常,所以我想我在这里没问题.我只是想知道这是否是处理事情的最佳方式.

java connection jdbc rollback

17
推荐指数
2
解决办法
1万
查看次数

如果未达到COMMIT TRANSACTION,则自动回滚

考虑以下:

START TRANSACTION;

BEGIN;

INSERT INTO prp_property1 (module_name,environment_name,NAME,VALUE) VALUES ('','production','','300000');

/** Assume there is syntax error SQL here...**/
Blah blah blah

DELETE FROM prp_property1 WHERE environment_name = 'production';

COMMIT TRANSACTION;
Run Code Online (Sandbox Code Playgroud)

题:

我注意到事务自动回滚并且记录插入尝试失败.

如果我没有提供错误处理程序或错误检查以及ROLLBACK TRANSACTION如上所述,它是否安全,因为它似乎在上面的例子中执行工作,因为COMMIT TRANSACTION永远不会执行?

我假设事务立即回滚并在发生错误时立即丢弃.

mysql transactions rollback

17
推荐指数
4
解决办法
4万
查看次数

存储过程事务

我之前从未使用过Transaction,Commit和Rollback,现在我需要使用一个.我已经在网上查了一些例子,以确保我实际上正确地使用了这个,但我仍然不确定我是否编码正确.我希望有人可以审查并告诉我这是否正确.

基本上我有一个应用程序的2个数据库.一个是归档 - 意味着不再由用户操纵的数据将被移动到该DB.但是如果他们需要它,我会将所需的数据移回主数据库以供使用.我的存储过程如下:

CREATE PROCEDURE [dbo].[spReopenClosed] 
(
    @Return_Message VARCHAR(1024) = ''  OUT,        
    @IID        uniqueidentifier,
    @OpenDate   smalldatetime,
    @ReopenedBy uniqueidentifier
)
AS
BEGIN
    SET NOCOUNT ON;

/******************************
*  Variable Declarations
*******************************/
    DECLARE     @ErrorCode  int  



/******************************
*  Initialize Variables
*******************************/

    SELECT @ErrorCode = @@ERROR

    IF @ErrorCode = 0

    BEGIN TRANSACTION
        /****************************************************************************
        * Step 1
        * Copy the Closed from the Archive
        ****************************************************************************/
        INSERT INTO OPS.dbo.SM_T_In
        SELECT          
        FROM OPS_ARCHIVE.Archive.SM_T_In    W
        WHERE W.GUID = @IID
            AND W.OpenDate = @OpenDate


        IF @ErrorCode <> 0
            BEGIN …
Run Code Online (Sandbox Code Playgroud)

sql-server stored-procedures transactions commit rollback

17
推荐指数
1
解决办法
5万
查看次数

@Transactional的奇怪行为(propagation = Propagation.REQUIRES_NEW)

这是我的问题:

我正在Java EE/Spring/Hibernate应用程序上运行批处理.这个批次调用了method1.这个方法调用一个method2可以抛出的UserException(一个类扩展RuntimeException).这是它的样子:

@Transactional
public class BatchService implements IBatchService {
 @Transactional(propagation=Propagation.REQUIRES_NEW)
 public User method2(User user) {
   // Processing, which can throw a RuntimeException
 }

 public void method1() {
   // ...
   try {
     this.method2(user);
   } catch (UserException e) {
     // ...
   }
   // ...
 }
}
Run Code Online (Sandbox Code Playgroud)

在执行继续时捕获异常,但在method1事务关闭结束时抛出RollbackException.

这是堆栈跟踪:

org.springframework.transaction.TransactionSystemException: Could not commit JPA transaction; nested exception is javax.persistence.RollbackException: Transaction marked as rollbackOnly
    at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:476)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
    at …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate transactions rollback

17
推荐指数
1
解决办法
2万
查看次数

为什么Mercurial只有一个级别的回滚?

我理解回滚的限制和使用中所需关注,但我只是想知道为什么只有一个级别的回滚.

我猜这是一个设计决策,存储多个先前的事务状态以处理多个级别的回滚的麻烦比它的价值更麻烦.

mercurial rollback

16
推荐指数
2
解决办法
2440
查看次数

MySQL的事务性DDL工作流程

我有点惊讶地发现,DDL语句(alter table,create index等)隐含在MySQL提交当前事务.来自MS SQL Server,在本地事务中进行数据库更改(然后回滚)的能力是我工作流程的重要部分.对于持续集成,如果迁移因任何原因而被打扰,则使用回滚,这样至少我们不会使数据库处于半迁移状态.

在迁移和持续集成中使用MySQL时,人们如何解决这两个问题?

mysql ddl continuous-integration transactions rollback

16
推荐指数
1
解决办法
4262
查看次数

将整个解决方案/项目回滚到TFS中的特定变更集?

我在转变121.

我想回滚到版本112,忽略了自那时以来我所做的所有更改.

我找到了这个答案,但我在菜单中找不到该命令.我现在一个小时都在苦苦挣扎,找不到真正的解决方案.我所要做的就是回滚到更改集112,无视自那时以来所做的所有更改.就像回到过去完全抹去过去一样.

tfs rollback changeset checkin visual-studio-2012

15
推荐指数
2
解决办法
2万
查看次数

为什么rake db:rollback rollback三步?

通常当我这样做

$ rake db:rollback
Run Code Online (Sandbox Code Playgroud)

它回滚一次迁移.但现在,反复多次,它已经回滚了3个步骤.

怎么来这个行为?

我在Rails 3.2.13上.

ruby-on-rails rollback ruby-on-rails-3.2

15
推荐指数
1
解决办法
1万
查看次数