[Lazarus] Reading result of a Firebird stored-procedure
Graeme Geldenhuys
graemeg.lists at gmail.com
Tue Mar 8 09:00:31 CET 2011
Op 2011-03-08 01:33, Martin het geskryf:
>
> There are good solutions in the middle.
Indeed, there are many alternative solutions. We simply use GUID's via
CreateGUID() and GUIDToString(), then strip off the outer braces and
remove the hyphens. This reduces the GUID from 38 characters down to 32
characters. Others only strip off the outer braces. Our ID generator
does all this for us, we simply need to request a new object instance.
tiOPF also implements the Ambler high/low method, plus a few others. The
Ambler high/low method greatly reduces the amount of server round-trips.
eg: a client requests a new ID from the server. A table gets updated
with the last used number. The return value is the previous last used
number plus one. The result is actually a range of ID's (configurable in
size), say the next 30 sequential numbers. So while the client needs to
generate ID's, it doesn't need to query the server for at least the next
30 id's.
Depending on how you look at it, this might have some negative points
though. This will result in gaps of unused numbers. Data will also not
be in a 100% correct creation order etc.
So again, it's up to a company to evaluate what ID generating process
works best for them, how portable those methods are between RDBMS etc.
Regards,
- Graeme -
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/
More information about the Lazarus
mailing list