|
17 | 17 | """ |
18 | 18 |
|
19 | 19 |
|
| 20 | +class RedshiftDatatypes(Enum): |
| 21 | + """ |
| 22 | + All redshift specific datatypes are defined here |
| 23 | + """ |
| 24 | + |
| 25 | + super = auto() |
| 26 | + geometry = auto() |
| 27 | + |
| 28 | + @classmethod |
| 29 | + def list(cls) -> typing.List["RedshiftDatatypes"]: |
| 30 | + return list(map(lambda p: p, cls)) # type: ignore |
| 31 | + |
| 32 | + |
| 33 | +redshift_test_data: typing.Dict[str, typing.Tuple[typing.Tuple[str, str], ...]] = { |
| 34 | + RedshiftDatatypes.geometry.name: ( |
| 35 | + ( |
| 36 | + "ST_GeomFromText('LINESTRING(1 2,3 4,5 6,7 8,9 10,11 12,13 14,15 16,17 18,19 20)')", |
| 37 | + ( |
| 38 | + "01020000000A000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000" |
| 39 | + "000018400000000000001C400000000000002040000000000000224000000000000024400000000000002640000000000000284000" |
| 40 | + "00000000002A400000000000002C400000000000002E40000000000000304000000000000031400000000000003240000000000000" |
| 41 | + "33400000000000003440" |
| 42 | + ), |
| 43 | + ), |
| 44 | + ( |
| 45 | + "ST_GeomFromText('POLYGON((0 0,0 1,1 1,1 0,0 0))',4326)", |
| 46 | + ( |
| 47 | + "0103000020E61000000100000005000000000000000000000000000000000000000000000000000000000000000000F03F00000000" |
| 48 | + "0000F03F000000000000F03F000000000000F03F000000000000000000000000000000000000000000000000" |
| 49 | + ), |
| 50 | + ), |
| 51 | + ( |
| 52 | + ( |
| 53 | + "ST_GeomFromEWKB('0103000020E61000000100000005000000000000000000000000000000000000000000000000000000000000000000F03F000000" |
| 54 | + "000000F03F000000000000F03F000000000000F03F000000000000000000000000000000000000000000000000')" |
| 55 | + ), |
| 56 | + ( |
| 57 | + "0103000020E61000000100000005000000000000000000000000000000000000000000000000000000000000000000F03F000000" |
| 58 | + "000000F03F000000000000F03F000000000000F03F000000000000000000000000000000000000000000000000" |
| 59 | + ), |
| 60 | + ), |
| 61 | + ( |
| 62 | + ( |
| 63 | + "ST_GeomFromEWKB('01020000000A000000000000000000F03F0000000000000040000000000000084000000000000010400000000000001440000000" |
| 64 | + "00000018400000000000001C4000000000000020400000000000002240000000000000244000000000000026400000000000002840" |
| 65 | + "0000000000002A400000000000002C400000000000002E400000000000003040000000000000314000000000000032400000000000" |
| 66 | + "0033400000000000003440')" |
| 67 | + ), |
| 68 | + ( |
| 69 | + "01020000000A000000000000000000F03F0000000000000040000000000000084000000000000010400000000000001440000000" |
| 70 | + "00000018400000000000001C4000000000000020400000000000002240000000000000244000000000000026400000000000002840" |
| 71 | + "0000000000002A400000000000002C400000000000002E400000000000003040000000000000314000000000000032400000000000" |
| 72 | + "0033400000000000003440" |
| 73 | + ), |
| 74 | + ), |
| 75 | + ( |
| 76 | + ( |
| 77 | + "ST_GeomFromWKB('01030000000100000005000000000000000000000000000000000000000000000000000000000000000000F03" |
| 78 | + "F000000000000F03F000000000000F03F000000000000F03F000000000000000000000000000000000000000000000000')" |
| 79 | + ), |
| 80 | + ( |
| 81 | + "01030000000100000005000000000000000000000000000000000000000000000000000000000000000000F03" |
| 82 | + "F000000000000F03F000000000000F03F000000000000F03F000000000000000000000000000000000000000000000000" |
| 83 | + ), |
| 84 | + ), |
| 85 | + ) |
| 86 | +} |
| 87 | + |
| 88 | + |
20 | 89 | class Datatypes(Enum): |
21 | 90 | """ |
22 | | - All supported datatypes are defined here, so a test table can be created for each |
| 91 | + All non-redshift specific datatypes are defined here, so a test table can be created for each |
23 | 92 | """ |
24 | 93 |
|
25 | 94 | int2 = auto() |
|
0 commit comments