[Info-ingres] Is my Ingres server running on Windows?
Sarkaut Mohn
sarkaut.mohn%actian.com at gtempaccount.com
Wed Sep 6 11:48:41 UTC 2023
Roy Hann schrieb am Dienstag, 5. September 2023 um 10:54:50 UTC+2:
> chris.cla... at gmail.com wrote:
>
> > On Monday, September 4, 2023 at 6:48:09 AM UTC-7, Roy Hann wrote:
> >> Short of querying ima_version, or parsing the _version() string, or
> >> similar antics, is there a convenient way to tell if my application is
> >> connected to Ingres running on Windows?
> >>
> >> Clearly I am hoping for something like dbmsinfo('platform')...
> > [snip]
> >
> > Out of curiosity, what sort of decisions to you want to make once you
> > have this determined in the application?
> I want to know what kind of UUID I'm getting back from
>
> SELECT uuid()
>
> On a 'nix I'll get a Type-1 UUID; on Windows I'll get a Type-4 and the
> human-readable representation will be scrambled (seemingly because it's
> ignoring endian-ness): e.g. 4dbbb0f1-e68d-834a-8e47-359b73beb840.
> According to me that -834a- bit should be -4a83-.
>
> If I know the UUID is coming from Windows I can select hex(uuid()) and
> format it correctly myself.
>
> The formatting is my issue; I don't care that the two versions return
> different types of UUID--though I can't imagine it's desirable.
>
> Roy
If you wanted to get v1 UUID on Windows, you can use II_UUID_MAC set to TRUE.
On Windows, Ingres runs the OS function UuidCreate which generates v4 UUIDs. With II_UUID_MAC=TRUE, Ingres uses OS function UuidCreateSequential which generates v1 UUIDs. On Linux, Ingres uses an own customized code and generates v1 UUIDs.
More information about the Info-ingres
mailing list