Pastey EDS: create_table init_records parameters must be equal or greater than MAX_IND
- Posted by gbonvehi
Feb 07, 2014
# HG changeset patch
# User Guillermo Bonvehi
# Date 1391773884 10800
# Node ID 7060430afc6754a91972f55767d0d7c41997d7f1
# Parent 2c379fb63e7481d4e7aa1330b5d4789af612a163
EDS: create_table init_records parameters must be equal or greater than MAX_INDEX
diff -r 2c379fb63e74 -r 7060430afc67 include/std/eds.e
--- a/include/std/eds.e Wed Jan 29 11:00:14 2014 -0500
+++ b/include/std/eds.e Fri Feb 07 08:51:24 2014 -0300
@@ -1609,10 +1609,10 @@
return DB_EXISTS_ALREADY
end if
- if init_records < 1 then
- init_records = 1
+ if init_records < MAX_INDEX then
+ init_records = MAX_INDEX
end if
- init_index = math:min({init_records, MAX_INDEX})
+ init_index = MAX_INDEX
-- increment number of tables
io:seek(current_db, TABLE_HEADERS)
diff -r 2c379fb63e74 -r 7060430afc67 tests/t_database.e
--- a/tests/t_database.e Wed Jan 29 11:00:14 2014 -0500
+++ b/tests/t_database.e Fri Feb 07 08:51:24 2014 -0300
@@ -372,6 +372,27 @@
end procedure
test_dump()
+procedure test_create_table_init_records()
+ sequence the_db = "create_table_init_records.edb"
+ sequence test_table
+ db_fatal_id = routine_id( "db_fatal_error" )
+ db_close()
+ if file_exists( the_db ) then
+ delete_file( the_db )
+ end if
+ test_equal( "create " & the_db, DB_OK, db_create( the_db ) )
+ for i = 0 to 10 do
+ test_table = sprintf( "table%d", i )
+ test_equal( "create " & the_db & " " & test_table, DB_OK, db_create_table( test_table, i ) )
+ for h = 0 to 10 do
+ db_insert( sprintf( "dummy%d", h ), {h, "data"} )
+ end for
+ db_clear_table( test_table )
+ end for
+ db_close()
+ delete_file( the_db )
+end procedure
+test_create_table_init_records()
test_report()