Re: [firebird-support] BLOB Not Found error

2018-03-16 Thread Helen Borrie hele...@iinet.net.au [firebird-support]
> 16.03.2018 14:47, shg_siste...@yahoo.com.ar [firebird-support] wrote:
>> Since some days ago I'm getting (it seems very occasionally and randomly) a 
>> "blob not 
>> found" error.
>> As far as I remember the problem happens during read operations: with 
>> "locate" commands or 
>> inside a "while not eof" loop...

Dmitry S. wrote

>You should use "Repeatable Read" or "Snapshot" transaction isolation mode. 
> In "Read
> Committed" you can get this error if record has been deleted and garbage 
> collected before
> you start reading the BLOB.

Also bear in mind that:

1.  If no blob has ever been stored for that field in a record, then
no blob id exists for it.  For editing, you should test for NULL at
some appropriate point in your query or your client code and handle it.

2.  When you "edit" a blob, the original blob is copied in memory to a
new blob with a temporary blob id.  The temporary blob is visible only
to the transaction in which it is created and, within that
transaction, the original blob content is invalidated as garbage by
the Post action from the client application.

3. On commit, the temporary blob is copied to a new location, with a
new blob id, and becomes visible to other transactions from that
point. It will not go to the same physical location as the original
blob, because that location remains "interesting" to the garbage
collector until it is able to be released by a future GC.

4. Be aware that, if you try to edit the same blob field more than
once in the same transaction, the initial view of the original blob is
not there any more.  AFAIR, the Firebird engine began enforcing
read-only on changed records from v.2.5 onward, so you would encounter
a different error if your app was trying to post multiple edits of
non-blob fields from the same transaction.  I can't say for sure
whether that restriction could apply to blob edits since the new blob
id is not known until the commit has occurred.  Also, I don't know
whether your IBDAC components are aware of the restriction on multiple
edits. It is probably something you should ask Devart.

Helen



Re: [firebird-support] BLOB Not Found error

2018-03-16 Thread Dimitry Sibiryakov s...@ibphoenix.com [firebird-support]
16.03.2018 15:26, shg_siste...@yahoo.com.ar [firebird-support] wrote:
> The same applies if the record wasn't deleted but changed by another 
> transaction?

   Yes. From technical POV there is no difference between update and delete in 
Firebird.


-- 
   WBR, SD.






++

Visit http://www.firebirdsql.org and click the Documentation item
on the main (top) menu.  Try FAQ and other links from the left-side menu there.

Also search the knowledgebases at http://www.ibphoenix.com/resources/documents/ 

++


Yahoo Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/firebird-support/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:
http://groups.yahoo.com/group/firebird-support/join
(Yahoo! ID required)

<*> To change settings via email:
firebird-support-dig...@yahoogroups.com 
firebird-support-fullfeatu...@yahoogroups.com

<*> To unsubscribe from this group, send an email to:
firebird-support-unsubscr...@yahoogroups.com

<*> Your use of Yahoo Groups is subject to:
https://info.yahoo.com/legal/us/yahoo/utos/terms/



Re: [firebird-support] BLOB Not Found error

2018-03-16 Thread shg_siste...@yahoo.com.ar [firebird-support]
Thanks Dimitry! The same applies if the record wasn't deleted but changed by 
another transaction? Because in this particular table there are no record 
deletion. But a lot of blob fields editions all the time. 

 Sergio


Re: [firebird-support] BLOB Not Found error

2018-03-16 Thread Dimitry Sibiryakov s...@ibphoenix.com [firebird-support]
16.03.2018 14:47, shg_siste...@yahoo.com.ar [firebird-support] wrote:
> Since some days ago I'm getting (it seems very occasionally and randomly) a 
> "blob not 
> found" error.
> As far as I remember the problem happens during read operations: with 
> "locate" commands or 
> inside a "while not eof" loop...

   You should use "Repeatable Read" or "Snapshot" transaction isolation mode. 
In "Read 
Committed" you can get this error if record has been deleted and garbage 
collected before 
you start reading the BLOB.

-- 
   WBR, SD.






++

Visit http://www.firebirdsql.org and click the Documentation item
on the main (top) menu.  Try FAQ and other links from the left-side menu there.

Also search the knowledgebases at http://www.ibphoenix.com/resources/documents/ 

++


Yahoo Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/firebird-support/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:
http://groups.yahoo.com/group/firebird-support/join
(Yahoo! ID required)

<*> To change settings via email:
firebird-support-dig...@yahoogroups.com 
firebird-support-fullfeatu...@yahoogroups.com

<*> To unsubscribe from this group, send an email to:
firebird-support-unsubscr...@yahoogroups.com

<*> Your use of Yahoo Groups is subject to:
https://info.yahoo.com/legal/us/yahoo/utos/terms/



[firebird-support] BLOB Not Found error

2018-03-16 Thread shg_siste...@yahoo.com.ar [firebird-support]
Hello! I use Delphi XE2 / Firebird 2.5 / IBDAC 6.0.2
 

 Since some days ago I'm getting (it seems very occasionally and randomly) a 
"blob not found" error.
 

 As far as I remember the problem happens during read operations: with "locate" 
commands or inside a "while not eof" loop...
 

 I don't have much more info. And I've been googling about it and found there 
are very few silimar questions and most of them without any answer.
 

 I've made a backup/restore of the database, just in case it was a case of data 
corruption. But the problem is still there
 

 Somemone with a similar problem out there???
 

 Thanks a million!!!