Thread: [LONGINT] Problem

[LONGINT] Problem

From
Alexey Prohorenko
Date:
        Hi, Guys,

    I am new to PostgreSQL -- (I am migrating from MySQL), so I have
    some, may be "stupid", but still interesting questions.
    Interesting for me. :-)

    In MySQL there was type called INT UNSIGNED, where I used
    to keep values from 1 to 4294967295 without any problems.
    1 is '00000000000000000000000000000001' in binary, and
    4294967295 is '11111111111111111111111111111111'.

    I also was able to do f.e. 'SELECT xxx WHERE (xxx & 2147483648)'
    and get everything I want.
    2147483648 is '10000000000000000000000000000000' in binary.

    Nevertheless, with PostgreSQL I have troubles. I didn't find
    any type which will help me to do everything above mentioned.

    May be someone of you was in the same situation, or has enough
    knowledge to help me with that?

    I'll be very gladfull for any answer,
    Looking forward them.

    Thanks.

    P.S. If possible -- do CC: green@usa.dp.ua when answering, cause
    I am not sure does Majordomo subscribe me or not. :-)

--
green
[http://www.extrasy.net]

Re: [LONGINT] Problem

From
Stephan Szabo
Date:
On Thu, 25 Oct 2001, Alexey Prohorenko wrote:

>     I am new to PostgreSQL -- (I am migrating from MySQL), so I have
>     some, may be "stupid", but still interesting questions. 
>     Interesting for me. :-)
> 
>     In MySQL there was type called INT UNSIGNED, where I used
>     to keep values from 1 to 4294967295 without any problems.
>     1 is '00000000000000000000000000000001' in binary, and
>     4294967295 is '11111111111111111111111111111111'.
> 
>     I also was able to do f.e. 'SELECT xxx WHERE (xxx & 2147483648)'
>     and get everything I want.
>     2147483648 is '10000000000000000000000000000000' in binary.
> 
>     Nevertheless, with PostgreSQL I have troubles. I didn't find
>     any type which will help me to do everything above mentioned.
> 
>     May be someone of you was in the same situation, or has enough
>     knowledge to help me with that?

I think all of the postgres types are signed. An int8 will store the
values (at the cost of alot of extra bits).  I think if you were
willing to do a little coding you'd probably be able to make a 
uint4 type (but I don't know what'd be involved in actually doing that)