{ "ALLNULL": { "acceptable_types": [ "TEXT", "VARCHAR" ], "note": "entirely null numeric; loader must pick a default type, typically TEXT", "nullable": true }, "ALLNULLC": { "acceptable_types": [ "TEXT", "VARCHAR" ], "note": "entirely null character", "nullable": true }, "BIGINT": { "note": "values beyond int32 range", "nullable": true, "postgres_type": "BIGINT" }, "BOOLCOL": { "acceptable_types": [ "BOOLEAN", "SMALLINT", "INTEGER" ], "note": "{0,1,NaN} is genuinely ambiguous; loader's choice is a design decision", "nullable": true }, "CONST": { "acceptable_types": [ "TEXT", "VARCHAR" ], "nullable": false }, "DATEASTR": { "note": "stored as char in SAS; loader should coerce ISO-date strings", "nullable": true, "postgres_type": "DATE" }, "DATECOL": { "note": "positive control", "nullable": false, "postgres_type": "DATE" }, "DTCOL": { "acceptable_types": [ "TIMESTAMP", "TIMESTAMP WITHOUT TIME ZONE" ], "nullable": true }, "FLOATCOL": { "acceptable_types": [ "DOUBLE PRECISION", "NUMERIC" ], "nullable": true }, "ID": { "nullable": false, "postgres_type": "INTEGER" }, "INTCOL": { "note": "positive control", "nullable": false, "postgres_type": "INTEGER" }, "LONGSTR": { "acceptable_types": [ "TEXT", "VARCHAR" ], "nullable": true }, "MIXED": { "acceptable_types": [ "TEXT", "VARCHAR" ], "note": "heterogeneous content; loader should fall back to text", "nullable": true }, "NUMASSTR": { "acceptable_types": [ "NUMERIC", "DOUBLE PRECISION" ], "note": "stored as char in SAS; loader should coerce numeric-looking strings", "nullable": true }, "STRCOL": { "acceptable_types": [ "TEXT", "VARCHAR" ], "note": "positive control", "nullable": false }, "TIMECOL": { "nullable": true, "postgres_type": "TIME" } }