Boolean columns

Sjoerd Mullender sjoerd at monetdb.org
Wed Oct 21 15:50:13 CEST 2015


On 21/10/15 15:41, Dimitar Nedev wrote:
> Thanks for sending it, Stefan. Indeed, the page was quite helpful. That's how I fixed some real/float/double issues earlier.
> 
> I see, so if I've got a boolean column, calling
> ATOMstorage(getColumnType(b->T->type))
> where 'b' is a BAT would not sufficient to identify it as a boolean? It will return TYPE_bte (2).

The name ATOMstorage should tell you a lot: it's about *storage*, not
semantics.  A bit uses the same amount of storage as a bte, but that
doesn't mean those bytes are interpreted the same.  It may well be that
you shouldn't use ATOMstorage here.

> OK, I'll need to push the logic a bit further.
> 
> Best,
> Dimitar
> 
>> On 2015-Oct-21, at 15:14, Stefan Manegold <Stefan.Manegold at cwi.nl> wrote:
>>
>> See
>> https://www.monetdb.org/wiki/MonetDB_type_system
>> ;-)
>>
>> our MAL representation of SQL type BOOLEAN is MAL type :bit,
>> and the C representation of MAL type :bit is (out) C type bit,
>> which is indeed 1 byte (8 bit) wide, because we need to accommodate 3 values:
>> TRUE, FALSE & NULL (NIL).
>>
>> Thus, BOOLEAN columns are (should be) represented by a BAT with tail type (:)bit,
>> which is (semantically) not the same as type TINYINT / (:)bte.
>>
>> Best,
>> Stefan
>>
>> ----- On Oct 21, 2015, at 3:07 PM, Dimitar Nedev dimitar.nedev at monetdbsolutions.com wrote:
>>
>>> Hey guys,
>>>
>>> A boolean type column seems to fit in a byte, I guess the extra space is to
>>> represent nulls (since it ain't a qubit). But does that mean that no column
>>> type is actually ':bit'?
>>> Given a BAT, how to distinguish between a byte (tinyint) column and a boolean
>>> one?
>>>
>>> Thanks,
>>> Dimitar
>>>
>>>
>>> _______________________________________________
>>> developers-list mailing list
>>> developers-list at monetdb.org
>>> https://www.monetdb.org/mailman/listinfo/developers-list
>>
>> --
>> | Stefan.Manegold at CWI.nl | DB Architectures   (DA) |
>> | www.CWI.nl/~manegold/  | Science Park 123 (L321) |
>> | +31 (0)20 592-4212     | 1098 XG Amsterdam  (NL) |
>> _______________________________________________
>> developers-list mailing list
>> developers-list at monetdb.org
>> https://www.monetdb.org/mailman/listinfo/developers-list
> 
> 
> 
> _______________________________________________
> developers-list mailing list
> developers-list at monetdb.org
> https://www.monetdb.org/mailman/listinfo/developers-list
> 


-- 
Sjoerd Mullender

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://www.monetdb.org/pipermail/developers-list/attachments/20151021/1233f344/attachment.sig>


More information about the developers-list mailing list