elminate boost::variant which used to use column_value access that cause a compile error on 64bit
change code compatible to x86_64 on linux/gcc