Subject | Re: Is Firebird Rock Solid? |
---|---|
Author | Adam |
Post date | 2005-09-30T06:28:16Z |
--- In firebird-support@yahoogroups.com, Nando Dessena <nando@d...>
wrote:
Most languages are tending away from pointers because as Alan put it,
if you go "AWOL", you risk damaging your in memory structures.
Depending on how you go AWOL, I imagine it would be hard enough to
hit within your applications memory space. Hit outside your memory
space and you should get an AV from the OS. You would nearly need to
carefully craft a set of AWOL pointer operations to prevent the
server from shutting itself down :)
I have never been tempted to use an unsafe pointer based procedure
inside a UDF, they tend to be simple conversion routines, well simple
in Delphi but not Firebird or I wouldn't have written it in the first
place.
Adam
wrote:
> David,server.
>
> D> With embedded, an app shares the memory space with the database
> D> Certain types of memory allocation and pointer bugs in theapplication
> D> may overwrite memory that "belongs" to the embedded server. Theproblem
> D> is the application's, not the server's. The embedded server isimpacted
> D> by something that your application does.memory
>
> it should be noted that a database corrupted for this reason has yet
> to be seen. The Firebird engine tends to detect problems in the
> structures and shut down without writing the problematic structuresto
> disk.I
>
> Also, the very same potential problems apply when you use UDFs, yet
> don't see people discouraging the use of UDFs as frequently as theydo
> with fbembed.A very good point Nando!
>
> Ciao
> --
> Nando Dessena
Most languages are tending away from pointers because as Alan put it,
if you go "AWOL", you risk damaging your in memory structures.
Depending on how you go AWOL, I imagine it would be hard enough to
hit within your applications memory space. Hit outside your memory
space and you should get an AV from the OS. You would nearly need to
carefully craft a set of AWOL pointer operations to prevent the
server from shutting itself down :)
I have never been tempted to use an unsafe pointer based procedure
inside a UDF, they tend to be simple conversion routines, well simple
in Delphi but not Firebird or I wouldn't have written it in the first
place.
Adam