Bugs item #1850809, was opened at 2007-12-14 15:23 Message generated for change (Comment added) made by romulog You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=482468&aid=1850809&group_id=56967
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: SQL/Core Group: SQL 2.20 Status: Open Resolution: None Priority: 5 Private: No Submitted By: Romulo Goncalves (romulog) Assigned to: Niels Nes (nielsnes) Summary: create the same temp table after its drop... Initial Comment: The following SQL code crash the M5-SQL server: Note: You need to run in this order and you need to run all the queries. CREATE TEMP TABLE temptest(col int) ON COMMIT DELETE ROWS; INSERT INTO temptest VALUES (1); DROP TABLE temptest; CREATE TEMP TABLE temptest(col int) ON COMMIT DROP; INSERT INTO temptest VALUES (3); The but it is really weird... If I remove the first insertion the mserver does not crash and I get: MAPI = [EMAIL PROTECTED]:50000 QUERY = INSERT INTO temptest VALUES (3); ERROR = !INSERT INTO: no such table 'temptest' If I do not remove any line I get: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1107310912 (LWP 1184)] 0x00002aaabc747410 in cs_find_name (cs=0x48, name=0x1aa2e88 "col") at /ufs/goncalve/MonetDB/Stable/sql/src/storage/sql_catalog.mx:25 25 return list_find_name(cs->set, name); (gdb) up #1 0x00002aaabc747727 in find_sql_column_node (t=0x0, cname=0x1aa2e88 "col", id=-1) at /ufs/goncalve/MonetDB/Stable/sql/src/storage/sql_catalog.mx:139 139 return cs_find_name(&t->columns, cname); (gdb) It seems the cleaning is not done properly ;) Regards, Romulo ---------------------------------------------------------------------- >Comment By: Romulo Goncalves (romulog) Date: 2007-12-18 00:15 Message: Logged In: YES user_id=1498628 Originator: YES It seems we have here a cache problem... It seems the first insert stays in cache and then it is not removed properly when the table is dropped. So in the next insertion the table does not exist (because after the commit this temp table is removed). This error is seen at the MAL code (produce by the SQL level) execution. When I do the bind of a column the table is missing and at this stage we expect that the checks were already done, so that's why the mserver crashes... I decide to change the syntax of second insertion to avoid the cache: Insert into temptest(col) values(3); And it works... Niels? ---------------------------------------------------------------------- Comment By: Romulo Goncalves (romulog) Date: 2007-12-16 23:38 Message: Logged In: YES user_id=1498628 Originator: YES O test to cover this bug is: sql/src/test/BugTracker/Tests/create_same_temp_tab_after_its_drop.SF-1850809 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=482468&aid=1850809&group_id=56967 ------------------------------------------------------------------------- SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ Monetdb-bugs mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/monetdb-bugs
