Loading mysql-test/r/archive.result +3626 −0 File changed.Preview size limit exceeded, changes collapsed. Show changes mysql-test/t/archive.test +14 −1 Original line number Diff line number Diff line Loading @@ -1310,6 +1310,19 @@ rename table t3 to t4; select * from t4 where fld3='bonfire'; select count(*) from t4; drop table t1, t2, t4; # End of 4.1 tests # # For bug #12836 # Delete was allowing all rows to be removed DELETE FROM t2; SELECT * FROM t2; INSERT INTO t2 VALUES (2,011401,37,'breaking','dreaded','Steinberg','W'); INSERT INTO t2 VALUES (3,011402,37,'Romans','scholastics','jarring',''); INSERT INTO t2 VALUES (4,011403,37,'intercepted','audiology','tinily',''); SELECT * FROM t2; TRUNCATE TABLE t2; SELECT * FROM t2; drop table t1, t2, t4; sql/examples/ha_archive.cc +11 −0 Original line number Diff line number Diff line Loading @@ -1001,4 +1001,15 @@ ha_rows ha_archive::records_in_range(uint inx, key_range *min_key, DBUG_ENTER("ha_archive::records_in_range "); DBUG_RETURN(records); // HA_ERR_WRONG_COMMAND } /* We cancel a truncate command. The only way to delete an archive table is to drop it. This is done for security reasons. In a later version we will enable this by allowing the user to select a different row format. */ int ha_archive::delete_all_rows() { DBUG_ENTER("ha_archive::delete_all_rows"); DBUG_RETURN(0); } #endif /* HAVE_ARCHIVE_DB */ sql/examples/ha_archive.h +1 −0 Original line number Diff line number Diff line Loading @@ -95,6 +95,7 @@ class ha_archive: public handler int write_row(byte * buf); int update_row(const byte * old_data, byte * new_data); int delete_row(const byte * buf); int delete_all_rows(); int index_read(byte * buf, const byte * key, uint key_len, enum ha_rkey_function find_flag); int index_read_idx(byte * buf, uint idx, const byte * key, Loading sql/handler.h +2 −0 Original line number Diff line number Diff line Loading @@ -531,6 +531,8 @@ extern TYPELIB tx_isolation_typelib; #define ha_supports_generate(T) (T != DB_TYPE_INNODB && \ T != DB_TYPE_BERKELEY_DB && \ T != DB_TYPE_ARCHIVE_DB && \ T != DB_TYPE_FEDERATED_DB && \ T != DB_TYPE_NDBCLUSTER) bool ha_caching_allowed(THD* thd, char* table_key, Loading Loading
mysql-test/r/archive.result +3626 −0 File changed.Preview size limit exceeded, changes collapsed. Show changes
mysql-test/t/archive.test +14 −1 Original line number Diff line number Diff line Loading @@ -1310,6 +1310,19 @@ rename table t3 to t4; select * from t4 where fld3='bonfire'; select count(*) from t4; drop table t1, t2, t4; # End of 4.1 tests # # For bug #12836 # Delete was allowing all rows to be removed DELETE FROM t2; SELECT * FROM t2; INSERT INTO t2 VALUES (2,011401,37,'breaking','dreaded','Steinberg','W'); INSERT INTO t2 VALUES (3,011402,37,'Romans','scholastics','jarring',''); INSERT INTO t2 VALUES (4,011403,37,'intercepted','audiology','tinily',''); SELECT * FROM t2; TRUNCATE TABLE t2; SELECT * FROM t2; drop table t1, t2, t4;
sql/examples/ha_archive.cc +11 −0 Original line number Diff line number Diff line Loading @@ -1001,4 +1001,15 @@ ha_rows ha_archive::records_in_range(uint inx, key_range *min_key, DBUG_ENTER("ha_archive::records_in_range "); DBUG_RETURN(records); // HA_ERR_WRONG_COMMAND } /* We cancel a truncate command. The only way to delete an archive table is to drop it. This is done for security reasons. In a later version we will enable this by allowing the user to select a different row format. */ int ha_archive::delete_all_rows() { DBUG_ENTER("ha_archive::delete_all_rows"); DBUG_RETURN(0); } #endif /* HAVE_ARCHIVE_DB */
sql/examples/ha_archive.h +1 −0 Original line number Diff line number Diff line Loading @@ -95,6 +95,7 @@ class ha_archive: public handler int write_row(byte * buf); int update_row(const byte * old_data, byte * new_data); int delete_row(const byte * buf); int delete_all_rows(); int index_read(byte * buf, const byte * key, uint key_len, enum ha_rkey_function find_flag); int index_read_idx(byte * buf, uint idx, const byte * key, Loading
sql/handler.h +2 −0 Original line number Diff line number Diff line Loading @@ -531,6 +531,8 @@ extern TYPELIB tx_isolation_typelib; #define ha_supports_generate(T) (T != DB_TYPE_INNODB && \ T != DB_TYPE_BERKELEY_DB && \ T != DB_TYPE_ARCHIVE_DB && \ T != DB_TYPE_FEDERATED_DB && \ T != DB_TYPE_NDBCLUSTER) bool ha_caching_allowed(THD* thd, char* table_key, Loading