[Monetdb-developers] RFC: New Integer Atoms: byte & word

Stefan Manegold Stefan.Manegold at cwi.nl
Thu Dec 8 20:28:01 CET 2005


Dear all,

thank you very much for all you reactions.

Since I'm indeed (supposed to be) on holidays, here's just a quick reply ---
all further action (at least from my side) will not happen before next week:

- the two new types are/will be signed;
  the way NIL is stored and treated in MonetDB keeps us from having unsigned
  integer types (unless we omit a whole bit as with OID)

- I'll keep the name discussion open until next week, but I'd also vote for
  "byte" and "word"

- the two types are additions; all esiting types will continue to exist as
  they are now; we might only what to use "byte" iso. "chr" where we need a
  1-byte integer (as opposed to a (1-byte) character).

- uchr attempt had failed, and uchr had disappeared, again, some time ago

- I cannot judge the extra signature/type checking overhead in M5, but I
  found it no problem in M4

- I wouldn't mind considering other name chance and further clean-up, but
  I'd recommend to keep them separated from the introduction of "byte" and
  "word" (at least make sure we have separate, non-overlapping checkins)

- same holds for improved printinh of atoms.

- for M4, we should (try to) keep and eye on backward compatibility, at
  least at far as it does not block required/desired changes;
  M5 indeed breaks any compatibility below SQL/XQuery (appart from the
  dbfarms?), hence, we're free to do any "cleanup" there...

- "double" size are not required; e.g., "sum_lng(BAT[any,sht]) : lng" and
  alike already exist for quite some time, and obviously, there will also be
  "sum_wrd(BAT[any,sht]) : lng" and alike ...

Ok. That's all for now. back to "holidays" ;-)

Stefan


On Thu, Dec 08, 2005 at 07:06:29PM +0100, Niels Nes wrote:
> On Thu, Dec 08, 2005 at 06:23:12PM +0100, Martin Kersten wrote:
> > 
> > 
> > Stefan Manegold wrote:
> > >Dear MonetDB developers,
> > >
> > >I'm almost done with the first steps of adding two new integer atoms to
> > >MonetDB:
> > >
> > >a) a tiny (8-bit) integer.
> > Signed or unsigned?
> > name: tint
> All integers in MonetDB are signed, ie for consistency it should be signed.
> I prefer bte over tint.
> > 
> > Why not using int8, which also allows for nibbles int4, int2
> > >
> > >b) a machine-word sized integer that grows with the system, i.e., 32-bit on
> > >   32-bit systems and 64-bit on 64-bit systems.
> > >
> > >(a) is supposed to replace "chr" wherever "chr" is not used as a character 
> > >type,
> > >but as a (tiny) 1-byte integer.
> > please keep 'chr', I don't mind if we use 'char' instead
> Stefan did suggest to removed 'chr', but only to replace using 'chr' wherever it
> is not used as character but as 1-byte int.
> 
> > >
> > >(b) is supposed to be the MIL pendant of the C type "var_t" and can/should
> > >be used, e.g., for BUN counts of BATs which are limited to 32-bit on 32-bit
> > >systems, but can grow to 64-bit on 64-bit systems.
> > >
> > >For now, I chose the following names, sticking to the 3-letter "design", 
> > >and
> > >picking combinations that do not yet exist in the code base:
> > use full words, there is (implicit) design reason for it, but at a few 
> > places we may have to look a little further.
> > For the cpu cycles freaks, you might use 'tiny' instead of 'bte',
> > because 'bit' starts alsi with a 'b'
> > >
> > >	a)	"bte"	(read "byte")
> > >	b)	"wrd"	(read "word")
> > >
> > >In a first checking (hopefully sometime next week), I will only add these 
> > >new
> > >atoms (and add the proper functionality & new signatures where necessary),
> > >but not change any existing MIL proc/command signatures.
> > >
> > >In a second check-in (maybe also already next week?), I plan to change (at
> > >least) the signature(s) of "count(BAT[any,any]) : int" & "count(int) : lng"
> > >to a single "count(BAT[any,any]) : wrd".
> > Introduction of more atomary types leads to more coercions and
> > signatures in M5. It may actually force me to introduce the union type
> > property to keep things readable. But, if we have a union type 
> > constructor, why not making it a first class citizen?
> > 
> > command bat.insert(b:bat[:any_1{type=void,int},:any_2{type=str,chr}....
> 
> Niels
> > >
> > >Maybe, I/we should later also consider to replace "chr" by "bte" in the 
> > >enum
> > >module.
> > >
> > >
> > >Well, so far so good. 
> > >
> > >I would be grateful, if you could comment on these plans.
> > >
> > >Especially, I'd like to hear, whether there are better(?) suggestions for
> > >the names "bte" & "wrd".
> > >Further, did I miss any places, where we should/must use "bte" iso. "chr" 
> > >and/or "wrd" iso. "int"/"lng"?
> > >
> > >
> > >Thank you very much in advance!
> > >
> > >Stefan
> > >
> > 
> > 
> > -------------------------------------------------------
> > This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
> > for problems?  Stop!  Download the new AJAX search engine that makes
> > searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
> > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
> > _______________________________________________
> > Monetdb-developers mailing list
> > Monetdb-developers at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/monetdb-developers
> 
> -- 
> 
> Niels Nes, Centre for Mathematics and Computer Science (CWI)
> Kruislaan 413, 1098 SJ Amsterdam, The Netherlands
> room C0.02,  phone ++31 20 592-4098, fax ++31 20 592-4312
> url: http://www.cwi.nl/~niels   e-mail: Niels.Nes at cwi.nl
> 

-- 
| Dr. Stefan Manegold | mailto:Stefan.Manegold at cwi.nl |
| CWI,  P.O.Box 94079 | http://www.cwi.nl/~manegold/  |
| 1090 GB Amsterdam   | Tel.: +31 (20) 592-4212       |
| The Netherlands     | Fax : +31 (20) 592-4312       |




More information about the developers-list mailing list