Adding test to check whether the setautocommit method is return a boolean. Correcting drivers MySQL, Oracle, Postgres and SQLite
This commit is contained in:
parent
d29054b8b3
commit
e00c33c287
@ -2,7 +2,7 @@
|
|||||||
** LuaSQL, MySQL driver
|
** LuaSQL, MySQL driver
|
||||||
** Authors: Eduardo Quintao
|
** Authors: Eduardo Quintao
|
||||||
** See Copyright Notice in license.html
|
** See Copyright Notice in license.html
|
||||||
** $Id: ls_mysql.c,v 1.22 2006/08/22 14:42:59 tomas Exp $
|
** $Id: ls_mysql.c,v 1.23 2007/03/09 14:56:20 tomas Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
@ -426,7 +426,8 @@ static int conn_setautocommit (lua_State *L) {
|
|||||||
else {
|
else {
|
||||||
mysql_autocommit(conn->my_conn, 0);
|
mysql_autocommit(conn->my_conn, 0);
|
||||||
}
|
}
|
||||||
return 0;
|
lua_pushboolean(L, 1);
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
** LuaSQL, Oracle driver
|
** LuaSQL, Oracle driver
|
||||||
** Authors: Tomas Guisasola, Leonardo Godinho
|
** Authors: Tomas Guisasola, Leonardo Godinho
|
||||||
** See Copyright Notice in license.html
|
** See Copyright Notice in license.html
|
||||||
** $Id: ls_oci8.c,v 1.26 2006/08/22 14:42:59 tomas Exp $
|
** $Id: ls_oci8.c,v 1.27 2007/03/09 14:56:20 tomas Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
@ -704,7 +704,8 @@ static int conn_setautocommit (lua_State *L) {
|
|||||||
conn->auto_commit = 0;
|
conn->auto_commit = 0;
|
||||||
/* sql_begin(conn);*/
|
/* sql_begin(conn);*/
|
||||||
}
|
}
|
||||||
return 0;
|
lua_pushboolean(L, 1);
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
** Authors: Pedro Rabinovitch, Roberto Ierusalimschy, Carlos Cassino
|
** Authors: Pedro Rabinovitch, Roberto Ierusalimschy, Carlos Cassino
|
||||||
** Tomas Guisasola, Eduardo Quintao
|
** Tomas Guisasola, Eduardo Quintao
|
||||||
** See Copyright Notice in license.html
|
** See Copyright Notice in license.html
|
||||||
** $Id: ls_postgres.c,v 1.5 2006/09/18 14:04:56 tomas Exp $
|
** $Id: ls_postgres.c,v 1.6 2007/03/09 14:56:20 tomas Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
@ -397,7 +397,8 @@ static int conn_setautocommit (lua_State *L) {
|
|||||||
conn->auto_commit = 0;
|
conn->auto_commit = 0;
|
||||||
sql_begin(conn);
|
sql_begin(conn);
|
||||||
}
|
}
|
||||||
return 0;
|
lua_pushboolean(L, 1);
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
** LuaSQL, SQLite driver
|
** LuaSQL, SQLite driver
|
||||||
** Author: Tiago Dionizio, Eduardo Quintao
|
** Author: Tiago Dionizio, Eduardo Quintao
|
||||||
** See Copyright Notice in license.html
|
** See Copyright Notice in license.html
|
||||||
** $Id: ls_sqlite.c,v 1.9 2006/08/22 14:42:59 tomas Exp $
|
** $Id: ls_sqlite.c,v 1.10 2007/03/09 14:56:20 tomas Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -429,7 +429,8 @@ static int conn_setautocommit(lua_State *L)
|
|||||||
lua_error(L);
|
lua_error(L);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
lua_pushboolean(L, 1);
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -359,7 +359,8 @@ end
|
|||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
function rollback ()
|
function rollback ()
|
||||||
CONN:setautocommit (false) -- == begin transaction
|
-- begin transaction
|
||||||
|
assert2 (true, CONN:setautocommit (false), "couldn't disable autocommit")
|
||||||
-- insert a record and commit the operation.
|
-- insert a record and commit the operation.
|
||||||
assert2 (1, CONN:execute ("insert into t (f1) values ('a')"))
|
assert2 (1, CONN:execute ("insert into t (f1) values ('a')"))
|
||||||
local cur = CUR_OK (CONN:execute ("select count(*) from t"))
|
local cur = CUR_OK (CONN:execute ("select count(*) from t"))
|
||||||
@ -400,7 +401,7 @@ function rollback ()
|
|||||||
assert2 (2, tonumber (cur:fetch ()), "Insert failed")
|
assert2 (2, tonumber (cur:fetch ()), "Insert failed")
|
||||||
assert2 (true, cur:close(), "couldn't close cursor")
|
assert2 (true, cur:close(), "couldn't close cursor")
|
||||||
assert2 (false, cur:close())
|
assert2 (false, cur:close())
|
||||||
CONN:setautocommit (true)
|
assert2 (true, CONN:setautocommit (true), "couldn't enable autocommit")
|
||||||
-- check resulting table with one record.
|
-- check resulting table with one record.
|
||||||
cur = CUR_OK (CONN:execute ("select count(*) from t"))
|
cur = CUR_OK (CONN:execute ("select count(*) from t"))
|
||||||
assert2 (1, tonumber(cur:fetch()), "Rollback failed")
|
assert2 (1, tonumber(cur:fetch()), "Rollback failed")
|
||||||
@ -410,7 +411,7 @@ function rollback ()
|
|||||||
-- clean the table.
|
-- clean the table.
|
||||||
assert2 (1, CONN:execute (sql_erase_table"t"))
|
assert2 (1, CONN:execute (sql_erase_table"t"))
|
||||||
CONN:commit ()
|
CONN:commit ()
|
||||||
CONN:setautocommit (true)
|
assert2 (true, CONN:setautocommit (true), "couldn't enable autocommit")
|
||||||
-- check resulting table with no records.
|
-- check resulting table with no records.
|
||||||
cur = CUR_OK (CONN:execute ("select count(*) from t"))
|
cur = CUR_OK (CONN:execute ("select count(*) from t"))
|
||||||
assert2 (0, tonumber(cur:fetch()), "Rollback failed")
|
assert2 (0, tonumber(cur:fetch()), "Rollback failed")
|
||||||
@ -486,8 +487,8 @@ end
|
|||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
function drop_table ()
|
function drop_table ()
|
||||||
|
assert2 (true, CONN:setautocommit(true), "couldn't enable autocommit")
|
||||||
-- Postgres retorna 0, enquanto ODBC retorna -1.
|
-- Postgres retorna 0, enquanto ODBC retorna -1.
|
||||||
CONN:setautocommit(true)
|
|
||||||
assert2 (DROP_TABLE_RETURN_VALUE, CONN:execute ("drop table t"))
|
assert2 (DROP_TABLE_RETURN_VALUE, CONN:execute ("drop table t"))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user