zorba-coders team mailing list archive
-
zorba-coders team
-
Mailing list archive
-
Message #09645
[Bug 997230] Re: open filestream prevents file deletion on windows
The second example works fine on Linux, in fact. At least it does for
me. Linux is happy to delete a file which somebody has opened, and it
will arrange for the file to go away once everybody is done with it.
I (think I) agree in principle that the right answer is for Zorba to
materialize streams when the underlying data source goes away, as in
file:delete(). However, I have to admit I can't imagine how to implement
that. The Zorba compiler almost certainly can't do it by itself in this
case, since the thing being deleted ($file) isn't even the same variable
that needs to be materialized ($data). Fixing this might be a major
undertaking.
I'm assigning to Markos to see if he has any thoughts about whether this
is feasible and/or should be attempted.
** Changed in: zorba
Assignee: Chris Hillery (ceejatec) => Markos Zaharioudakis (markos-za)
--
You received this bug notification because you are a member of Zorba
Coders, which is the registrant for Zorba.
https://bugs.launchpad.net/bugs/997230
Title:
open filestream prevents file deletion on windows
Status in Zorba - The XQuery Processor:
New
Bug description:
the bug fix for bug #996084 seems to be a bit more tricky on windows.
If you execute the attached example on a windows machine you will get:
user-defined error [file:FOFL9999]: An unknown error occured:
"C:\data.txt": I/O error: 32 failed (error The process cannot access
the file because it is being used by another process): Can not delete
file: C:\data.txt; raised at
zorba\modules\org\expath\ns\file.xq.src\file_function.cpp:82
The problem is that the file cannot be deleted as long as the file
stream is open. This example query works on linux.
This makes the 2 tests test/rbkt/zorba/file/copy_* fail on windows.
Any idea how to solve this?
To manage notifications about this bug go to:
https://bugs.launchpad.net/zorba/+bug/997230/+subscriptions
References