Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 8 of 8 total
Thread FreeAdHoc functions?
Fri, Apr 3 2015 4:09 PMPermanent Link

Carl

Has anyone had any experience using FreeAdHoc functions in EDB? Thanks.
Sat, Apr 4 2015 1:59 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Carl


No - what are they?

Roy Lambert
Mon, Apr 6 2015 12:36 PMPermanent Link

Barry

Roy,

Maybe this is what he meant:

http://freeadhocudf.org/index_eng.html

Barry
Tue, Apr 7 2015 2:48 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Barry

Could be. Looking at the header

On this pages you find everything about the FreeadhocUDF-functions for InterBase and FireBird

I doubt many ElevateDB users have even looked at them, but who knows we're a weird bunch.

Looking at the download files I see  .c & .h and give up at that point


Roy Lambert
Tue, Apr 7 2015 2:37 PMPermanent Link

Carl

Roy Lambert wrote:

Barry

Could be. Looking at the header

On this pages you find everything about the FreeadhocUDF-functions for InterBase and FireBird

I doubt many ElevateDB users have even looked at them, but who knows we're a weird bunch.

Looking at the download files I see  .c & .h and give up at that point


Roy Lambert

Hi,

They are a set of functions in a freeadhoc<Version>.dll that can be called from IB and Firebird. I know they are IB oriented, but wonder if they could be useful in EDB.

I have used them a lot in the past and I am particularly interested in using the UUID functions to create compressed UUID(GUID) primary keys,.

Since each key is a unique-machine-mac-timestamp (like GUID, only 26 bytes instead of 38), I can use them to make "briefcase" app synchronization with a server easier then managing identity primary keys.

There are other, perhaps useful, string functions.

Thanks, Carl.
Tue, Apr 7 2015 3:35 PMPermanent Link

Raul

Team Elevate Team Elevate

On 4/7/2015 2:37 PM, Carl wrote:
> They are a set of functions in a freeadhoc<Version>.dll that can be called from IB and Firebird. I know they are IB oriented, but wonder if they could be useful in EDB.
> I have used them a lot in the past and I am particularly interested in using the UUID functions to create compressed UUID(GUID) primary keys,.
> Since each key is a unique-machine-mac-timestamp (like GUID, only 26 bytes instead of 38), I can use them to make "briefcase" app synchronization with a server easier then managing identity primary keys.
> There are other, perhaps useful, string functions.

One can definitely write an external module that in turn calls the DLL
functions so they would be useable that way. Module would be a passthru
shim basically so it would be very straightforward to write one.

I don't believe one can use the freeadhoc dll direct with EDB as EDB
does do some validation of the DLL (likely has some predefined functions).

Raul
Wed, Apr 8 2015 7:45 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Carl


As Raul pointed out ElevateDB does have its own architecture for external functions, both written in SQL and Delphi. It is highly improbable that the FreeAdHoc architecture is compatible with the ElevateDB architecture.

If any of the functions are SQL those should be easy enough to convert. Ones written in C, C++ or whatever will be more difficult. However, there is a halfway house. Write a suite of external functions in Delphi which call the FreeAdHoc functions from their dll.

Performance is going to suffer with two calls for each function but its probably the easiest way PROVIDED that strings will pass backwards and forwards properly.

Roy Lambert
Wed, Apr 29 2015 5:01 AMPermanent Link

Carl

Roy Lambert wrote:

>Carl


>As Raul pointed out ElevateDB does have its own architecture for external functions, both written in SQL and >Delphi. It is highly improbable that the FreeAdHoc architecture is compatible with the ElevateDB architecture.

>If any of the functions are SQL those should be easy enough to convert. Ones written in C, C++ or whatever will >be more difficult. However, there is a halfway house. Write a suite of external functions in Delphi which call the >FreeAdHoc functions from their dll.
>
>Performance is going to suffer with two calls for each function but its probably the easiest way PROVIDED that >strings will pass backwards and forwards properly.

>Roy Lambert

Great idea! Thanks for help. I will try some things and see what happens and post any results I find for general info.
Image