Hi, i am working on monetdb so as it can be used efficiently by more users(myself included).However, the issue i seem to face ( as maybe others) is the data types. for many weeks now,I have been going through the source code, understanding and learning it.Data types in monetdb can be extended in 2 types, external and core GDK. external method problem ( maybe bug in monetdb) ======================== I have created new data type, say unsigned int 32 bit, using extensions (such as inet,color and so on).However, the bug is monetdb system doesn't use my comparison operation, instead uses the default inbuilt operators. eg. in the uint mal file( MonetDB/monetdb5/modules/atoms/uint.mal), i have declared -------------- atom uint:int; .. ..............skipped source code however, when i sort the table, the system still places negative values ahead, means instead of using my declared comparison algos, it's using internal algos. my question is how do i override that ( or is it even possible to do it). core GDK method =============== After failing that, i thought lets add the core data type uint in the gdk_atoms.c. i modified the parsor(& everything else) and the system recognizes my data type. however,when i run simple insert query such as below, i get insert into test1 values('2'); TypeException:user.s1_1[3]:'calc.uint' undefined in: _5:any := calc.uint(_4:str) however, i have got completely stuck in the MAL operators and language. so, how do i get the algebra, operations and everything right, so it works? Any pointers will help. let me know if something more is required. i am working on this out of my interest,so eventually if i get it to work somehow, the code goes back to project. Thanks for help. mike