Skip to content

Commit 587947a

Browse files
committed
refactor(type_utils): pg_types -> redshift_types
1 parent 4494d3f commit 587947a

File tree

4 files changed

+43
-43
lines changed

4 files changed

+43
-43
lines changed

redshift_connector/core.py

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,10 @@
7878
numeric_to_float_binary,
7979
numeric_to_float_in,
8080
)
81-
from redshift_connector.utils import pg_types as PG_TYPES
8281
from redshift_connector.utils import py_types as PY_TYPES
82+
from redshift_connector.utils import q_pack
83+
from redshift_connector.utils import redshift_types as REDSHIFT_TYPES
8384
from redshift_connector.utils import (
84-
q_pack,
8585
text_recv,
8686
time_in,
8787
time_recv_binary,
@@ -470,7 +470,7 @@ def __init__(
470470
self._client_protocol_version: int = client_protocol_version
471471
self._database = database
472472
self.py_types = deepcopy(PY_TYPES)
473-
self.pg_types = deepcopy(PG_TYPES)
473+
self.redshift_types = deepcopy(REDSHIFT_TYPES)
474474
self._database_metadata_current_db_only: bool = database_metadata_current_db_only
475475
self.numeric_to_float: bool = numeric_to_float
476476

@@ -724,42 +724,42 @@ def get_calling_module() -> str:
724724

725725
def _enable_protocol_based_conversion_funcs(self: "Connection"):
726726
if self._client_protocol_version >= ClientProtocolVersion.BINARY.value:
727-
self.pg_types[RedshiftOID.NUMERIC] = (FC_BINARY, numeric_in_binary)
728-
self.pg_types[RedshiftOID.DATE] = (FC_BINARY, date_recv_binary)
729-
self.pg_types[RedshiftOID.GEOGRAPHY] = (FC_BINARY, geographyhex_recv) # GEOGRAPHY
730-
self.pg_types[RedshiftOID.TIME] = (FC_BINARY, time_recv_binary)
731-
self.pg_types[RedshiftOID.TIMETZ] = (FC_BINARY, timetz_recv_binary)
732-
self.pg_types[RedshiftOID.CHAR_ARRAY] = (FC_BINARY, array_recv_binary) # CHAR[]
733-
self.pg_types[RedshiftOID.SMALLINT_ARRAY] = (FC_BINARY, array_recv_binary) # INT2[]
734-
self.pg_types[RedshiftOID.INTEGER_ARRAY] = (FC_BINARY, array_recv_binary) # INT4[]
735-
self.pg_types[RedshiftOID.TEXT_ARRAY] = (FC_BINARY, array_recv_binary) # TEXT[]
736-
self.pg_types[RedshiftOID.VARCHAR_ARRAY] = (FC_BINARY, array_recv_binary) # VARCHAR[]
737-
self.pg_types[RedshiftOID.REAL_ARRAY] = (FC_BINARY, array_recv_binary) # FLOAT4[]
738-
self.pg_types[RedshiftOID.OID_ARRAY] = (FC_BINARY, array_recv_binary) # OID[]
739-
self.pg_types[RedshiftOID.ACLITEM_ARRAY] = (FC_BINARY, array_recv_binary) # ACLITEM[]
740-
self.pg_types[RedshiftOID.VARBYTE] = (FC_TEXT, text_recv) # VARBYTE
727+
self.redshift_types[RedshiftOID.NUMERIC] = (FC_BINARY, numeric_in_binary)
728+
self.redshift_types[RedshiftOID.DATE] = (FC_BINARY, date_recv_binary)
729+
self.redshift_types[RedshiftOID.GEOGRAPHY] = (FC_BINARY, geographyhex_recv) # GEOGRAPHY
730+
self.redshift_types[RedshiftOID.TIME] = (FC_BINARY, time_recv_binary)
731+
self.redshift_types[RedshiftOID.TIMETZ] = (FC_BINARY, timetz_recv_binary)
732+
self.redshift_types[RedshiftOID.CHAR_ARRAY] = (FC_BINARY, array_recv_binary) # CHAR[]
733+
self.redshift_types[RedshiftOID.SMALLINT_ARRAY] = (FC_BINARY, array_recv_binary) # INT2[]
734+
self.redshift_types[RedshiftOID.INTEGER_ARRAY] = (FC_BINARY, array_recv_binary) # INT4[]
735+
self.redshift_types[RedshiftOID.TEXT_ARRAY] = (FC_BINARY, array_recv_binary) # TEXT[]
736+
self.redshift_types[RedshiftOID.VARCHAR_ARRAY] = (FC_BINARY, array_recv_binary) # VARCHAR[]
737+
self.redshift_types[RedshiftOID.REAL_ARRAY] = (FC_BINARY, array_recv_binary) # FLOAT4[]
738+
self.redshift_types[RedshiftOID.OID_ARRAY] = (FC_BINARY, array_recv_binary) # OID[]
739+
self.redshift_types[RedshiftOID.ACLITEM_ARRAY] = (FC_BINARY, array_recv_binary) # ACLITEM[]
740+
self.redshift_types[RedshiftOID.VARBYTE] = (FC_TEXT, text_recv) # VARBYTE
741741

742742
if self.numeric_to_float:
743-
self.pg_types[RedshiftOID.NUMERIC] = (FC_BINARY, numeric_to_float_binary)
743+
self.redshift_types[RedshiftOID.NUMERIC] = (FC_BINARY, numeric_to_float_binary)
744744

745745
else: # text protocol
746-
self.pg_types[RedshiftOID.NUMERIC] = (FC_TEXT, numeric_in)
747-
self.pg_types[RedshiftOID.TIME] = (FC_TEXT, time_in)
748-
self.pg_types[RedshiftOID.DATE] = (FC_TEXT, date_in)
749-
self.pg_types[RedshiftOID.GEOGRAPHY] = (FC_TEXT, text_recv) # GEOGRAPHY
750-
self.pg_types[RedshiftOID.TIMETZ] = (FC_BINARY, timetz_recv_binary)
751-
self.pg_types[RedshiftOID.CHAR_ARRAY] = (FC_TEXT, array_recv_text) # CHAR[]
752-
self.pg_types[RedshiftOID.SMALLINT_ARRAY] = (FC_TEXT, int_array_recv) # INT2[]
753-
self.pg_types[RedshiftOID.INTEGER_ARRAY] = (FC_TEXT, int_array_recv) # INT4[]
754-
self.pg_types[RedshiftOID.TEXT_ARRAY] = (FC_TEXT, array_recv_text) # TEXT[]
755-
self.pg_types[RedshiftOID.VARCHAR_ARRAY] = (FC_TEXT, array_recv_text) # VARCHAR[]
756-
self.pg_types[RedshiftOID.REAL_ARRAY] = (FC_TEXT, float_array_recv) # FLOAT4[]
757-
self.pg_types[RedshiftOID.OID_ARRAY] = (FC_TEXT, int_array_recv) # OID[]
758-
self.pg_types[RedshiftOID.ACLITEM_ARRAY] = (FC_TEXT, array_recv_text) # ACLITEM[]
759-
self.pg_types[RedshiftOID.VARBYTE] = (FC_TEXT, varbytehex_recv) # VARBYTE
746+
self.redshift_types[RedshiftOID.NUMERIC] = (FC_TEXT, numeric_in)
747+
self.redshift_types[RedshiftOID.TIME] = (FC_TEXT, time_in)
748+
self.redshift_types[RedshiftOID.DATE] = (FC_TEXT, date_in)
749+
self.redshift_types[RedshiftOID.GEOGRAPHY] = (FC_TEXT, text_recv) # GEOGRAPHY
750+
self.redshift_types[RedshiftOID.TIMETZ] = (FC_BINARY, timetz_recv_binary)
751+
self.redshift_types[RedshiftOID.CHAR_ARRAY] = (FC_TEXT, array_recv_text) # CHAR[]
752+
self.redshift_types[RedshiftOID.SMALLINT_ARRAY] = (FC_TEXT, int_array_recv) # INT2[]
753+
self.redshift_types[RedshiftOID.INTEGER_ARRAY] = (FC_TEXT, int_array_recv) # INT4[]
754+
self.redshift_types[RedshiftOID.TEXT_ARRAY] = (FC_TEXT, array_recv_text) # TEXT[]
755+
self.redshift_types[RedshiftOID.VARCHAR_ARRAY] = (FC_TEXT, array_recv_text) # VARCHAR[]
756+
self.redshift_types[RedshiftOID.REAL_ARRAY] = (FC_TEXT, float_array_recv) # FLOAT4[]
757+
self.redshift_types[RedshiftOID.OID_ARRAY] = (FC_TEXT, int_array_recv) # OID[]
758+
self.redshift_types[RedshiftOID.ACLITEM_ARRAY] = (FC_TEXT, array_recv_text) # ACLITEM[]
759+
self.redshift_types[RedshiftOID.VARBYTE] = (FC_TEXT, varbytehex_recv) # VARBYTE
760760

761761
if self.numeric_to_float:
762-
self.pg_types[RedshiftOID.NUMERIC] = (FC_TEXT, numeric_to_float_in)
762+
self.redshift_types[RedshiftOID.NUMERIC] = (FC_TEXT, numeric_to_float_in)
763763

764764
@property
765765
def _is_multi_databases_catalog_enable_in_server(self: "Connection") -> bool:
@@ -1575,7 +1575,7 @@ def handle_ROW_DESCRIPTION(self: "Connection", data, cursor: Cursor) -> None:
15751575
idx += 2
15761576

15771577
cursor.ps["row_desc"].append(field)
1578-
field["pg8000_fc"], field["func"] = self.pg_types[field["type_oid"]]
1578+
field["redshift_connector_fc"], field["func"] = self.redshift_types[field["type_oid"]]
15791579

15801580
_logger.debug(cursor.ps["row_desc"])
15811581

@@ -1702,7 +1702,7 @@ def execute(self: "Connection", cursor: Cursor, operation: str, vals) -> None:
17021702

17031703
# We've got row_desc that allows us to identify what we're
17041704
# going to get back from this statement.
1705-
output_fc = tuple(self.pg_types[f["type_oid"]][0] for f in ps["row_desc"])
1705+
output_fc = tuple(self.redshift_types[f["type_oid"]][0] for f in ps["row_desc"])
17061706

17071707
ps["input_funcs"] = tuple(f["func"] for f in ps["row_desc"])
17081708
# Byte1('B') - Identifies the Bind command.

redshift_connector/utils/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@
3434
numeric_in_binary,
3535
numeric_to_float_binary,
3636
numeric_to_float_in,
37-
pg_types,
3837
py_types,
3938
q_pack,
39+
redshift_types,
4040
text_recv,
4141
time_in,
4242
time_recv_binary,

redshift_connector/utils/type_utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,7 @@ def array_recv_binary(data: bytes, idx: int, length: int) -> typing.List:
445445
idx += 12
446446

447447
# get type conversion method for typeoid
448-
conversion: typing.Callable = pg_types[typeoid][1]
448+
conversion: typing.Callable = redshift_types[typeoid][1]
449449

450450
# Read dimension info
451451
dim_lengths: typing.List = []
@@ -565,7 +565,7 @@ def varbytehex_recv(data: bytes, idx: int, length: int) -> str:
565565
# return typing.cast(typing.Union[IPv4Address, IPv6Address], ip_address(inet_str))
566566

567567

568-
pg_types: typing.DefaultDict[int, typing.Tuple[int, typing.Callable]] = defaultdict(
568+
redshift_types: typing.DefaultDict[int, typing.Tuple[int, typing.Callable]] = defaultdict(
569569
lambda: (FC_TEXT, text_recv),
570570
{
571571
RedshiftOID.ABSTIME: (FC_BINARY, abstime_recv), # abstime

test/unit/test_connection.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
min_int4,
2323
min_int8,
2424
)
25-
from redshift_connector.utils.type_utils import pg_types as PG_TYPES
2625
from redshift_connector.utils.type_utils import py_types as PY_TYPES
26+
from redshift_connector.utils.type_utils import redshift_types as REDSHIFT_TYPES
2727

2828
test_error_responses_data: typing.List[typing.Tuple[bytes, typing.Dict, typing.Type[Error]]] = [
2929
(
@@ -194,7 +194,7 @@ def test_inspect_int(_input):
194194
"autoincrement": 0,
195195
"read_only": 0,
196196
"searchable": 1,
197-
"pg8000_fc": 1,
197+
"redshift_connector_fc": 1,
198198
}
199199
],
200200
),
@@ -207,7 +207,7 @@ def test_handle_row_description_extended_metadata(_input, protocol):
207207
data, exp_result = _input
208208
mock_connection: Connection = Connection.__new__(Connection)
209209
mock_connection._client_protocol_version = protocol
210-
mock_connection.pg_types = dict(PG_TYPES)
210+
mock_connection.redshift_types = dict(REDSHIFT_TYPES)
211211
mock_cursor: Cursor = Cursor.__new__(Cursor)
212212
mock_cursor.ps = {"row_desc": []}
213213

@@ -231,7 +231,7 @@ def test_handle_row_description_extended_metadata(_input, protocol):
231231
"type_modifier": -1,
232232
"format": 0,
233233
"label": b"proname",
234-
"pg8000_fc": 1,
234+
"redshift_connector_fc": 1,
235235
}
236236
],
237237
)
@@ -243,7 +243,7 @@ def test_handle_row_description_base(_input):
243243
data, exp_result = _input
244244
mock_connection: Connection = Connection.__new__(Connection)
245245
mock_connection._client_protocol_version = ClientProtocolVersion.BASE_SERVER.value
246-
mock_connection.pg_types = dict(PG_TYPES)
246+
mock_connection.redshift_types = dict(REDSHIFT_TYPES)
247247
mock_cursor: Cursor = Cursor.__new__(Cursor)
248248
mock_cursor.ps = {"row_desc": []}
249249

0 commit comments

Comments
 (0)