Re: One byte integer support
От | Kris Jurka |
---|---|
Тема | Re: One byte integer support |
Дата | |
Msg-id | Pine.BSO.4.56.0501061508520.30558@leary.csoft.net обсуждение исходный текст |
Ответ на | One byte integer support (Keith Hankin <keith105@yahoo.com>) |
Ответы |
Re: One byte integer support
|
Список | pgsql-jdbc |
On Thu, 6 Jan 2005, Keith Hankin wrote: > Is there any way to support one byte integers? I am > using JDBC and would like to use setByte() method to > populate values of a single-byte integer valued > column. I tried defining the column as character(1), > but I get the error message: > > Exception in thread "main" > org.postgresql.util.PSQLException: ERROR: value too > long for type character(1) > > I don't see how a byte is too long for character(1). Character is a textual data type, byte is a numeric value so when you set a byte value of say 145 to a text type you get the string '145' which is three characters. Note that character(1) does not take up one byte of space on disk. It is a one character field, not one byte. Multibyte character sets may need more than one byte to store a single character, so this is variable byte length field that takes up at least 5 bytes of space. 4 bytes of length data and then the actual data bytes. > Is there any data type like MySQL's tinyint? > Possibly the system type "char" (needs the quotes), but I have no idea how that will work with the JDBC driver. Going with smallint may be the best thing to do. Before assuming that a tinyint would actually save you space you need to make sure you take into account padding and alignment. Kris Jurka
В списке pgsql-jdbc по дате отправления: