Sub-task CORE-2435 - Recreate DataTypeUtilBase::makeFromList
Documentation for datatype deduction for lists (makeFromList):
The output type is figured out as based on this order:
1) If any datatype is blob, returns blob;
2) If any datatype is a) varying or b) any text and another datatype, returns varying;
3) If any datatype is text or cstring, returns text;
4) If any datatype is approximate numeric then each datatype in the list shall be numeric (
otherwise an error is thrown), returns approximate numeric;
5) If any datatype is a date/time/timestamp then each datatype in the list shall be the same
date/time/timestamp (otherwise an error is thrown), returns a date/time/timestamp.
If a blob is returned, and there is a binary blob in the list, a binary blob is returned.
If a blob/text is returned, the returned charset is figured out as based on this order:
1) If there is a OCTETS blob/string, returns OCTETS;
2) If there is a non-(NONE/ASCII) blob/string, returns it charset;
3) If there is a ASCII blob/string, a numeric or a date/time/timestamp, returns ASCII;
4) Otherwise, returns NONE.
2. Cleaned up most of platform-specific additions - most opf them are not needed any more,
still causing troubles when porting. It will be better to re-add that which are really needed.
3. Do not build gds_drop utility on platforms where not needed.