![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
I wondered where my audit items were disappearing to then I noticed their item-ids had a colon ":" in them and the audit file was a Q pointer to a DOS directory. Interesting behaviour when this happens. You end of with a 0 byte DOS file with the file name being the itemid before the colon. You can still access the items in D3, though you cant select or list them. Deleting an item with a colon in the id of a DOS directory leaves the 0 byte file of the items id before the colon. e.g. Say AUDIT is a super-Q pointer to a DOS directory. Q C:/d3audit I Edit an item :ED AUDIT KILROY:WASHERE new item top .I 001+ www 002+ (o o) 003+--oOO(_)OOo-- 004+ top .FI [221] 'KILROY:WASHERE' filed. :LIST AUDIT Page 1 AUDIT.RS AUDIT KILROY When I list the directory in Windows just the file "KILROY" shows with 0 bytes. :select audit = 'KILROY:WASHERE' [401] no items present. :ED AUDIT KILROY:WASHERE top .P 001 www 002 (o o) 003 --oOO(_)OOo-- eoi 003 .EX [220] 'KILROY:WASHERE' exited ELETE AUDIT KILROY:WASHERE[435] Item 'KILROY:WASHERE' deleted :LIST AUDIT Page 1 AUDIT AUDIT KILROY Again listing the directory in Windows shows the "KILROY" file 0 bytes. I'm wondering if I'm doing any damge to NTFS with these files. I guess D3 is assigning the space to store the files from Windows but windows doesnt know about the file. Certainly the directory is disconnected to the 'real' file. Jeremy Thomson |
#3
| |||
| |||
|
|
I wondered where my audit items were disappearing to then I noticed their item-ids had a colon ":" in them and the audit file was a Q pointer to a DOS directory. Interesting behaviour when this happens. You end of with a 0 byte DOS file with the file name being the itemid before the colon. You can still access the items in D3, though you cant select or list them. Deleting an item with a colon in the id of a DOS directory leaves the 0 byte file of the items id before the colon. e.g. Say AUDIT is a super-Q pointer to a DOS directory. Q C:/d3audit I Edit an item :ED AUDIT KILROY:WASHERE new item top .I 001+ www 002+ (o o) 003+--oOO(_)OOo-- 004+ top .FI [221] 'KILROY:WASHERE' filed. :LIST AUDIT Page 1 AUDIT.RS AUDIT KILROY When I list the directory in Windows just the file "KILROY" shows with 0 bytes. :select audit = 'KILROY:WASHERE' [401] no items present. :ED AUDIT KILROY:WASHERE top .P 001 www 002 (o o) 003 --oOO(_)OOo-- eoi 003 .EX [220] 'KILROY:WASHERE' exited ELETE AUDIT KILROY:WASHERE[435] Item 'KILROY:WASHERE' deleted :LIST AUDIT Page 1 AUDIT AUDIT KILROY Again listing the directory in Windows shows the "KILROY" file 0 bytes. I'm wondering if I'm doing any damge to NTFS with these files. I guess D3 is assigning the space to store the files from Windows but windows doesnt know about the file. Certainly the directory is disconnected to the 'real' file. Jeremy Thomson |
#4
| |||
| |||
|
|
I wondered where my audit items were disappearing to then I noticed their item-ids had a colon ":" in them and the audit file was a Q pointer to a DOS directory. Interesting behaviour when this happens. You end of with a 0 byte DOS file with the file name being the itemid before the colon. You can still access the items in D3, though you cant select or list them. Deleting an item with a colon in the id of a DOS directory leaves the 0 byte file of the items id before the colon. e.g. Say AUDIT is a super-Q pointer to a DOS directory. Q C:/d3audit I Edit an item :ED AUDIT KILROY:WASHERE new item top .I 001+ www 002+ (o o) 003+--oOO(_)OOo-- 004+ top .FI [221] 'KILROY:WASHERE' filed. :LIST AUDIT Page 1 AUDIT.RS AUDIT KILROY When I list the directory in Windows just the file "KILROY" shows with 0 bytes. :select audit = 'KILROY:WASHERE' [401] no items present. :ED AUDIT KILROY:WASHERE top .P 001 www 002 (o o) 003 --oOO(_)OOo-- eoi 003 .EX [220] 'KILROY:WASHERE' exited ELETE AUDIT KILROY:WASHERE[435] Item 'KILROY:WASHERE' deleted :LIST AUDIT Page 1 AUDIT AUDIT KILROY Again listing the directory in Windows shows the "KILROY" file 0 bytes. I'm wondering if I'm doing any damge to NTFS with these files. I guess D3 is assigning the space to store the files from Windows but windows doesnt know about the file. Certainly the directory is disconnected to the 'real' file. Jeremy Thomson |
#5
| |||
| |||
|
|
Don't worry about damage to NTFS. What's happening underneath is that Windows is simply rejecting the file update. It's just that D3 isn't passing an error back up to you. setup The BASIC WRITE statement executes without error whether or not the item was written. In traditional R83 and pre-OSFI days there was no such thing as remote file system, so if a WRITE failed, chances are you got one or more "&" ampersand signs, which told you there was a disk error. These days we can open a file across the network or to a host OS file system, but if the network drops or the file is read-only (typical error for Linux when not running as root), disk write operations from BASIC have no way to inform us of failure. So many years ago I requested enhancements to BASIC statements which perform disk write, to return an error when the update failed.</ In D3 v7.5, BASIC statements that perform updates now include an "on.error.clause" which traps when disk updates from BASIC fail. This was requested for all file update statements, and (bless their hearts) they got WRITE and DELETE, but it looks like they missed CLEARFILE, MATWRITE, WRITEVU, and maybe some others. I don't know if it works properly, there were no docs on this for the v7.5 beta, no clue about what to expect on various types of errors, no examples of actual syntax. I don't know if it can report what happened on error, whether "reserved character" errors like what's reported by the host OS, or "permissions error", or unable to connect to network, etc. |
|
It may or may not catch your KILROY:WASHERE issue. (Though I have to wonder what you really expected by trying that.) |
|
It may be fully implemented in the production cut along with the docs, I haven't loaded the production v7.5 release. If this is of use to anyone, give it a shot and let us in CDP land (and RD) know how it works for you. As far as access from TCL, ED, etc, I sort of doubt that they are returning any more errors for OSFI updates in v7.5 than they did before. I'm pessimistic about people's ability to connect dots like that : "hey, if BASIC reports an error, maybe other file update methods should too?" I hope I'm wrong. T Jeremy wrote: I wondered where my audit items were disappearing to then I noticed their item-ids had a colon ":" in them and the audit file was a Q pointer to a DOS directory. Interesting behaviour when this happens. You end of with a 0 byte DOS file with the file name being the itemid before the colon. You can still access the items in D3, though you cant select or list them. Deleting an item with a colon in the id of a DOS directory leaves the 0 byte file of the items id before the colon. e.g. Say AUDIT is a super-Q pointer to a DOS directory. Q C:/d3audit I Edit an item :ED AUDIT KILROY:WASHERE new item top .I 001+ www 002+ (o o) 003+--oOO(_)OOo-- 004+ top .FI [221] 'KILROY:WASHERE' filed. :LIST AUDIT Page 1 AUDIT.RS AUDIT KILROY When I list the directory in Windows just the file "KILROY" shows with 0 bytes. :select audit = 'KILROY:WASHERE' [401] no items present. :ED AUDIT KILROY:WASHERE top .P 001 www 002 (o o) 003 --oOO(_)OOo-- eoi 003 .EX [220] 'KILROY:WASHERE' exited ELETE AUDIT KILROY:WASHERE[435] Item 'KILROY:WASHERE' deleted :LIST AUDIT Page 1 AUDIT AUDIT KILROY Again listing the directory in Windows shows the "KILROY" file 0 bytes. I'm wondering if I'm doing any damge to NTFS with these files. I guess D3 is assigning the space to store the files from Windows but windows doesnt know about the file. Certainly the directory is disconnected to the 'real' file. Jeremy Thomson |
#6
| ||||
| ||||
|
|
Don't worry about damage to NTFS. What's happening underneath is that Windows is simply rejecting the file update. It's just that D3 isn't passing an error back up to you. |
|
may not catch your KILROY:WASHERE issue. (Though I have to wonder what you really expected by trying that.) I'm using Kilroy as a illustration of a problem. The real problem woult |
|
Jeremy wrote: I Edit an item :ED AUDIT KILROY:WASHERE new item top .I 001+ www 002+ (o o) 003+--oOO(_)OOo-- 004+ top .FI [221] 'KILROY:WASHERE' filed. :LIST AUDIT Page 1 AUDIT.RS AUDIT KILROY When I list the directory in Windows just the file "KILROY" shows with 0 bytes. :select audit = 'KILROY:WASHERE' [401] no items present. |
|
:ED AUDIT KILROY:WASHERE top .P 001 www 002 (o o) 003 --oOO(_)OOo-- eoi 003 .EX [220] 'KILROY:WASHERE' exited ELETE AUDIT KILROY:WASHERE[435] Item 'KILROY:WASHERE' deleted :LIST AUDIT Page 1 AUDIT AUDIT KILROY .... |
#7
| |||
| |||
|
#8
| |||
| |||
|
|
Tony Gravagno wrote: Don't worry about damage to NTFS. What's happening underneath is that Windows is simply rejecting the file update. It's just that D3 isn't passing an error back up to you. No the file is not rejected, its is written... somewhere. I can ED the item from D3 (or READ in BASIC), the file doesnt show in Windows or in a LIST. |
#9
| |||
| |||
|
|
"Tony Gravagno" wrote It may or may not catch your KILROY:WASHERE issue. (Though I have to wonder what you really expected by trying that.) To work, perhaps, a quaint notion we oldsters expect. What the heck. Since OSFI is supposedly a replacement of the original file system, |
#10
| |||
| |||
|
|
It may or may not catch your KILROY:WASHERE issue. (Though I have to wonder what you really expected by trying that.) To work, perhaps, a quaint notion we oldsters expect. |
![]() |
| Thread Tools | |
| Display Modes | |
| |