From: SourceForge.net <no...@so...> - 2004-10-30 18:12:31
|
Bugs item #1057161, was opened at 2004-10-30 07:41 Message generated for change (Settings changed) made by skidder You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109028&aid=1057161&group_id=9028 Category: Core Engine Group: None >Status: Open Resolution: None Priority: 5 Submitted By: Lu Tao (hotice) Assigned to: Nobody/Anonymous (nobody) Summary: INSERT INTO TABLE SELECT error Initial Comment: create table aa (a decimal(18,2)); insert into aa values('1111.22'); insert into aa select * form aa; the command can't quit and the database file increased very quickly. the command insert a row in other database software ---------------------------------------------------------------------- Comment By: Nickolay Samofatov (skidder) Date: 2004-10-30 22:09 Message: Logged In: YES user_id=495356 1) ISQL. Helen, what kind of evidence do you need from me? You can go to Firebird 1.5 source and see how Autocommit variable is set. Alternatively you can go to ISQL and execute "SET;" command to see current settings and note that Autocommit DDL is ON by default. 2) The reported problem is about the fact that insert into <specific_table> select * from <specific_table> goes into the endless insertion loop. This should not be the case, standard clearly specifies behavior in the case and everybody stick to it. Firebird has a bug here. ---------------------------------------------------------------------- Comment By: Helen Borrie (helebor) Date: 2004-10-30 16:27 Message: Logged In: YES user_id=60469 Nickolay, In scripts, isql doesn't do autocommit ddl by default. It will do autocommit a) if SET AUTO is on in isql or b) the script begins with SET AUTODDL ON. So, if you pull a script into isql via the the -input switch at the command line, or in the isql shell without setting autoddl on, the work has to be committed. In fact, the bug that has been undertaken to be fixed is that the attempt to insert data into an uncommitted object is permitted, and causes corrupt data to be stored. ---------------------------------------------------------------------- Comment By: Nickolay Samofatov (skidder) Date: 2004-10-30 14:04 Message: Logged In: YES user_id=495356 Helen, ISQL does autocommit DDL by default. Reported issue is the valid bug which may be fixed given enough interest. SQL standard dictates that changes performed by the statement should not be affecting results returned by portions of the statement (usage of stable cursors is implied). This is nearly the same problem as DELETE/FIRST issue. But I'm pretty sure it was reported before already, probably more than once, but if so it should be closed as duplicate not as rejected/invalid. ---------------------------------------------------------------------- Comment By: Helen Borrie (helebor) Date: 2004-10-30 12:46 Message: Logged In: YES user_id=60469 No doubt this "other database software" has no transaction support. You have to COMMIT WORK on object definitions before you can put data into the objects. Our tracker is not meant to be used as a support list and the introductory page quite clearly states this. Besides annoying the hell out of the tracker maintainers, it strongly marks offenders as self-centred, lazy, inconsiderate and clueless. You should join the firebird-support list at http://www.yahoogroups.com/groups/firebird-support. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109028&aid=1057161&group_id=9028 |