- numeric data has embedded precision/scale, something else? only last 8
bytes is data? implicit precision of 18 for "pure" numeric? implicit
precision of 15 for double-ish numeric?
+ - ***add unit tests
+ - ***ability to create calculated columns!
- add properties on table/column creation
+ - add unit tests
- calculated fields in queries? (2003+), w/ aliases?
Object value) {
if(type == null) {
- // attempt to figure out the type
- type = DEFAULT_TYPES.get(type);
+ // attempt to get the default type for this property
+ type = DEFAULT_TYPES.get(name);
if(type == null) {
+ // choose the type based on the value
if(value instanceof String) {
type = DataType.TEXT;
} else if(value instanceof Boolean) {
colMap.get("buzz")), props);
}
+ public void testInferTypes() throws Exception
+ {
+ PropertyMaps maps = new PropertyMaps(10, null, null);
+ PropertyMap defMap = maps.getDefault();
+
+ assertEquals(DataType.TEXT,
+ defMap.put(PropertyMap.FORMAT_PROP, null).getType());
+ assertEquals(DataType.BOOLEAN,
+ defMap.put(PropertyMap.REQUIRED_PROP, null).getType());
+
+ assertEquals(DataType.TEXT,
+ defMap.put("strprop", "this is a string").getType());
+ assertEquals(DataType.BOOLEAN,
+ defMap.put("boolprop", true).getType());
+ assertEquals(DataType.LONG,
+ defMap.put("intprop", 37).getType());
+ }
+
public void testReadProperties() throws Exception
{
byte[] nameMapBytes = null;