Skip to content

Commit c240ad9

Browse files
committed
Resolving comments
1 parent 8f1618a commit c240ad9

File tree

3 files changed

+4
-31
lines changed

3 files changed

+4
-31
lines changed

mssql_python/connection.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,9 @@
3232
'utf-16be'
3333
])
3434

35-
# Cache for encoding validation to improve performance
36-
# Using a simple dict instead of lru_cache for module-level caching
37-
_ENCODING_VALIDATION_CACHE = {}
38-
_CACHE_MAX_SIZE = 100 # Limit cache size to prevent memory bloat
35+
_CACHE_MAX_SIZE = 128 # Limit cache size to avoid excessive memory usage
3936

40-
41-
@lru_cache(maxsize=128)
37+
@lru_cache(maxsize=_CACHE_MAX_SIZE)
4238
def _validate_encoding(encoding: str) -> bool:
4339
"""
4440
Cached encoding validation using codecs.lookup().

tests/conftest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def pytest_configure(config):
1818

1919
@pytest.fixture(scope='session')
2020
def conn_str():
21-
conn_str = "Server=tcp:DESKTOP-1A982SC,1433;Database=master;TrustServerCertificate=yes;Trusted_Connection=yes;"
21+
conn_str = os.getenv('DB_CONNECTION_STRING')
2222
return conn_str
2323

2424
@pytest.fixture(scope="module")

tests/test_003_connection.py

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -550,7 +550,6 @@ def test_setencoding_none_parameters(db_connection):
550550

551551
def test_setencoding_invalid_encoding(db_connection):
552552
"""Test setencoding with invalid encoding."""
553-
from mssql_python.exceptions import ProgrammingError
554553

555554
with pytest.raises(ProgrammingError) as exc_info:
556555
db_connection.setencoding(encoding='invalid-encoding-name')
@@ -560,7 +559,6 @@ def test_setencoding_invalid_encoding(db_connection):
560559

561560
def test_setencoding_invalid_ctype(db_connection):
562561
"""Test setencoding with invalid ctype."""
563-
from mssql_python.exceptions import ProgrammingError
564562

565563
with pytest.raises(ProgrammingError) as exc_info:
566564
db_connection.setencoding(encoding='utf-8', ctype=999)
@@ -570,7 +568,6 @@ def test_setencoding_invalid_ctype(db_connection):
570568

571569
def test_setencoding_closed_connection(conn_str):
572570
"""Test setencoding on closed connection."""
573-
from mssql_python.exceptions import InterfaceError
574571

575572
temp_conn = connect(conn_str)
576573
temp_conn.close()
@@ -827,20 +824,8 @@ def test_setencoding_with_explicit_ctype_sql_wchar(conn_str):
827824
finally:
828825
conn.close()
829826

830-
def test_setencoding_invalid_encoding(conn_str):
831-
"""Test setencoding with invalid encoding raises ProgrammingError"""
832-
from mssql_python.exceptions import ProgrammingError
833-
834-
conn = connect(conn_str)
835-
try:
836-
with pytest.raises(ProgrammingError, match="Unsupported encoding"):
837-
conn.setencoding('invalid-encoding-name')
838-
finally:
839-
conn.close()
840-
841-
def test_setencoding_invalid_ctype(conn_str):
827+
def test_setencoding_invalid_ctype_error(conn_str):
842828
"""Test setencoding with invalid ctype raises ProgrammingError"""
843-
from mssql_python.exceptions import ProgrammingError
844829

845830
conn = connect(conn_str)
846831
try:
@@ -849,14 +834,6 @@ def test_setencoding_invalid_ctype(conn_str):
849834
finally:
850835
conn.close()
851836

852-
def test_setencoding_closed_connection(conn_str):
853-
"""Test setencoding on closed connection raises InterfaceError"""
854-
conn = connect(conn_str)
855-
conn.close()
856-
857-
with pytest.raises(InterfaceError, match="Connection is closed"):
858-
conn.setencoding('utf-8')
859-
860837
def test_setencoding_case_insensitive_encoding(conn_str):
861838
"""Test setencoding with case variations"""
862839
conn = connect(conn_str)

0 commit comments

Comments
 (0)