Thread: varbit question

varbit question

From
"Laurent Duperval"
Date:
Hi,

I thought I posted this but I don't see it on the server so let's try
again:

I have an Oracle script that I want to convert to pgsql. I've got a sed
script that does most of the mappings but it doesn't look like raw is
supported. In the docs, there is mention of varbit(n) but if I use the
(n) argument, the script fails. I can only use varbit alone. How do I get
around that?

Also, will ResultSet.getBytes() (I'm talking Java here) return an array
of bytes with a field defined as varbit? How large will the field be?

Thanks,

L


-- 
Laurent Duperval <mailto:lduperval@microcelli5.com>

Voisin, vous seriez une vraie lumière... si on avait ouvert l'interrupteur.
  -Lefuneste
 


Re: varbit question

From
Peter Eisentraut
Date:
Laurent Duperval writes:

> I have an Oracle script that I want to convert to pgsql. I've got a sed
> script that does most of the mappings but it doesn't look like raw is
> supported. In the docs, there is mention of varbit(n) but if I use the
> (n) argument, the script fails. I can only use varbit alone. How do I get
> around that?

If you're not using version 7.1 or later you might want to upgrade.  The
bit string types do not work correctly in earlier releases.  If you are
using that version, please post more detail.

-- 
Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter



Re: varbit question

From
Laurent Duperval
Date:
On 15 May, Peter Eisentraut wrote:
> Laurent Duperval writes:
> 
>> I have an Oracle script that I want to convert to pgsql. I've got a sed
>> script that does most of the mappings but it doesn't look like raw is
>> supported. In the docs, there is mention of varbit(n) but if I use the
>> (n) argument, the script fails. I can only use varbit alone. How do I get
>> around that?
> 
> If you're not using version 7.1 or later you might want to upgrade.  The
> bit string types do not work correctly in earlier releases.  If you are
> using that version, please post more detail.
> 

Turns out it's a bug in the docs, I think. The table of all data types
mentions the following:

Type Name        Aliases        Description
bit                             fixed-length bit string
bit varying(n)   varbit(n)      variable-length bit string

but if you read a bit further in the Bit string types section, it
says:
 There are two SQL bit types: BIT(x) and BIT VARYING(x); the x specifies the maximum length.  BIT type data is
automaticallypadded with 0's on the right to the maximum length, BIT VARYING is of variable length.   BIT without
lengthis equivalent to BIT(1), BIT VARYING means unlimited length
 

No mention of varbit(n) and the table doesn't say that bit(n) is acceptable.
So I fixed my script according to this and it works ok now.

L

-- 
Laurent Duperval <mailto:lduperval@microcelli5.com>

Au lieu de tenir des propos teintés de paresse mélangée de fainéantise de
couleur assortie, introduisez une plaque de métal dans l'appareil.                                         -Léonard le
génie