ormlambda 4.0.4__tar.gz → 4.0.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. {ormlambda-4.0.4 → ormlambda-4.0.5}/PKG-INFO +3 -2
  2. {ormlambda-4.0.4 → ormlambda-4.0.5}/pyproject.toml +1 -1
  3. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/__init__.py +11 -4
  4. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/default/base.py +3 -2
  5. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/base.py +4 -1
  6. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/engine/base.py +15 -2
  7. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/engine/create.py +6 -1
  8. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/repository/base_repository.py +4 -0
  9. {ormlambda-4.0.4 → ormlambda-4.0.5}/AUTHORS +0 -0
  10. {ormlambda-4.0.4 → ormlambda-4.0.5}/LICENSE +0 -0
  11. {ormlambda-4.0.4 → ormlambda-4.0.5}/README.md +0 -0
  12. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/__init__.py +0 -0
  13. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/caster/__init__.py +0 -0
  14. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/caster/base_caster.py +0 -0
  15. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/caster/caster.py +0 -0
  16. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/caster/interfaces/ICaster.py +0 -0
  17. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/caster/interfaces/__init__.py +0 -0
  18. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/common/__init__.py +0 -0
  19. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/common/abstract_classes/__init__.py +0 -0
  20. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/common/abstract_classes/non_query_base.py +0 -0
  21. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/common/enums/__init__.py +0 -0
  22. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/common/enums/condition_types.py +0 -0
  23. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/common/enums/join_type.py +0 -0
  24. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/common/enums/order_type.py +0 -0
  25. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/common/errors/__init__.py +0 -0
  26. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/common/global_checker.py +0 -0
  27. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/common/interfaces/IJoinSelector.py +0 -0
  28. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/common/interfaces/INonQueryCommand.py +0 -0
  29. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/common/interfaces/IQueryCommand.py +0 -0
  30. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/common/interfaces/__init__.py +0 -0
  31. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/default/__init__.py +0 -0
  32. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/__init__.py +0 -0
  33. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/caster/__init__.py +0 -0
  34. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/caster/caster.py +0 -0
  35. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/caster/types/__init__.py +0 -0
  36. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/caster/types/boolean.py +0 -0
  37. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/caster/types/bytes.py +0 -0
  38. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/caster/types/date.py +0 -0
  39. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/caster/types/datetime.py +0 -0
  40. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/caster/types/decimal.py +0 -0
  41. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/caster/types/float.py +0 -0
  42. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/caster/types/int.py +0 -0
  43. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/caster/types/iterable.py +0 -0
  44. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/caster/types/json.py +0 -0
  45. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/caster/types/none.py +0 -0
  46. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/caster/types/point.py +0 -0
  47. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/caster/types/string.py +0 -0
  48. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/clauses/ST_AsText.py +0 -0
  49. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/clauses/ST_Contains.py +0 -0
  50. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/clauses/__init__.py +0 -0
  51. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/mysqlconnector.py +0 -0
  52. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/repository/__init__.py +0 -0
  53. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/repository/pool_types.py +0 -0
  54. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/repository/repository.py +0 -0
  55. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/mysql/types.py +0 -0
  56. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/sqlite/__init__.py +0 -0
  57. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/sqlite/base.py +0 -0
  58. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/dialects/sqlite/pysqlite.py +0 -0
  59. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/engine/__init__.py +0 -0
  60. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/engine/url.py +0 -0
  61. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/engine/utils.py +0 -0
  62. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/env.py +0 -0
  63. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/errors.py +0 -0
  64. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/model/__init__.py +0 -0
  65. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/model/base_model.py +0 -0
  66. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/repository/__init__.py +0 -0
  67. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/repository/interfaces/IDatabaseConnection.py +0 -0
  68. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/repository/interfaces/IRepositoryBase.py +0 -0
  69. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/repository/interfaces/__init__.py +0 -0
  70. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/repository/response.py +0 -0
  71. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/__init__.py +0 -0
  72. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clause_info/__init__.py +0 -0
  73. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clause_info/clause_info.py +0 -0
  74. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clause_info/interface/IAggregate.py +0 -0
  75. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clause_info/interface/IClauseInfo.py +0 -0
  76. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clause_info/interface/__init__.py +0 -0
  77. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/__init__.py +0 -0
  78. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/alias.py +0 -0
  79. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/count.py +0 -0
  80. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/delete.py +0 -0
  81. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/group_by.py +0 -0
  82. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/having.py +0 -0
  83. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/insert.py +0 -0
  84. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/interfaces/IDelete.py +0 -0
  85. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/interfaces/IInsert.py +0 -0
  86. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/interfaces/IUpdate.py +0 -0
  87. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/interfaces/IUpsert.py +0 -0
  88. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/interfaces/__init__.py +0 -0
  89. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/join/__init__.py +0 -0
  90. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/join/join_context.py +0 -0
  91. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/joins.py +0 -0
  92. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/limit.py +0 -0
  93. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/offset.py +0 -0
  94. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/order.py +0 -0
  95. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/select.py +0 -0
  96. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/update.py +0 -0
  97. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/upsert.py +0 -0
  98. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/clauses/where.py +0 -0
  99. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/column/__init__.py +0 -0
  100. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/column/column.py +0 -0
  101. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/column/column_proxy.py +0 -0
  102. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/column_table_proxy.py +0 -0
  103. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/comparer.py +0 -0
  104. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/compiler.py +0 -0
  105. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/context/__init__.py +0 -0
  106. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/ddl.py +0 -0
  107. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/elements.py +0 -0
  108. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/foreign_key.py +0 -0
  109. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/functions/__init__.py +0 -0
  110. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/functions/concat.py +0 -0
  111. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/functions/max.py +0 -0
  112. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/functions/min.py +0 -0
  113. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/functions/sum.py +0 -0
  114. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/interfaces/__init__.py +0 -0
  115. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/sqltypes.py +0 -0
  116. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/table/__init__.py +0 -0
  117. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/table/fields.py +0 -0
  118. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/table/table.py +0 -0
  119. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/table/table_constructor.py +0 -0
  120. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/table/table_proxy.py +0 -0
  121. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/type_api.py +0 -0
  122. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/types.py +0 -0
  123. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/sql/visitors.py +0 -0
  124. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/statements/__init__.py +0 -0
  125. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/statements/base_statement.py +0 -0
  126. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/statements/interfaces/IStatements.py +0 -0
  127. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/statements/interfaces/__init__.py +0 -0
  128. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/statements/query_builder.py +0 -0
  129. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/statements/statements.py +0 -0
  130. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/statements/types.py +0 -0
  131. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/types/__init__.py +0 -0
  132. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/types/metadata.py +0 -0
  133. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/util/__init__.py +0 -0
  134. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/util/langhelpers.py +0 -0
  135. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/util/module_tree/__init__.py +0 -0
  136. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/util/module_tree/dfs_traversal.py +0 -0
  137. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/util/module_tree/dynamic_module.py +0 -0
  138. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/util/preloaded.py +0 -0
  139. {ormlambda-4.0.4 → ormlambda-4.0.5}/src/ormlambda/util/typing.py +0 -0
@@ -1,12 +1,13 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: ormlambda
3
- Version: 4.0.4
3
+ Version: 4.0.5
4
4
  Summary: ORM designed to interact with the database (currently with MySQL) using lambda functions and nested functions
5
5
  Author: p-hzamora
6
6
  Author-email: p.hzamora@icloud.com
7
7
  Requires-Python: >=3.12,<4.0
8
8
  Classifier: Programming Language :: Python :: 3
9
9
  Classifier: Programming Language :: Python :: 3.12
10
+ Classifier: Programming Language :: Python :: 3.13
10
11
  Requires-Dist: mysql-connector-python (>=9.0.0,<10.0.0)
11
12
  Requires-Dist: shapely (>=2.0.6,<3.0.0)
12
13
  Description-Content-Type: text/markdown
@@ -3,7 +3,7 @@ line-length = 320
3
3
 
4
4
  [tool.poetry]
5
5
  name = "ormlambda"
6
- version = "4.0.4"
6
+ version = "4.0.5"
7
7
  description = "ORM designed to interact with the database (currently with MySQL) using lambda functions and nested functions"
8
8
  authors = ["p-hzamora <p.hzamora@icloud.com>"]
9
9
  readme = "README.md"
@@ -3,13 +3,14 @@ from typing import Callable, Optional, Type, TYPE_CHECKING, ClassVar
3
3
  import abc
4
4
  from ormlambda import util
5
5
  import importlib
6
+ from ormlambda import BaseRepository
6
7
 
7
8
 
8
9
  if TYPE_CHECKING:
10
+ from ormlambda import URL
9
11
  from ormlambda.caster.caster import Caster
10
12
  from ormlambda.repository.interfaces.IRepositoryBase import DBAPIConnection
11
13
  from ormlambda.sql.types import DDLCompiler, SQLCompiler, TypeCompiler
12
- from ormlambda import BaseRepository
13
14
 
14
15
 
15
16
  class Dialect(abc.ABC):
@@ -57,15 +58,21 @@ class Dialect(abc.ABC):
57
58
  type_compiler_instance: ClassVar[TypeCompiler]
58
59
  """The instance of the type compiler class used by the dialect."""
59
60
 
60
- repository_cls: ClassVar[Type[BaseRepository]]
61
- """The repository class used by the dialect."""
62
-
63
61
  caster: ClassVar[Type[Caster]]
64
62
 
65
63
  @classmethod
66
64
  def get_dialect_cls(cls) -> Type[Dialect]:
67
65
  return cls
68
66
 
67
+ @classmethod
68
+ @abc.abstractmethod
69
+ def get_pool_class(cls, url: URL) -> Type[BaseRepository]: ...
70
+
71
+ @abc.abstractmethod
72
+ def get_dialect_pool_class(self, url: str) -> None:
73
+ """Validates an identifier name, raising an exception if invalid"""
74
+ ...
75
+
69
76
  @classmethod
70
77
  @abc.abstractmethod
71
78
  def import_dbapi(cls) -> DBAPIConnection:
@@ -2,7 +2,6 @@ from ormlambda.dialects import Dialect
2
2
  from ormlambda.sql import compiler
3
3
  from typing import Optional, Any
4
4
  from types import ModuleType
5
- from ormlambda import BaseRepository
6
5
 
7
6
 
8
7
  class DefaultDialect(Dialect):
@@ -11,7 +10,6 @@ class DefaultDialect(Dialect):
11
10
  statement_compiler = compiler.SQLCompiler
12
11
  ddl_compiler = compiler.DDLCompiler
13
12
  type_compiler_cls = compiler.GenericTypeCompiler
14
- repository_cls = BaseRepository
15
13
  default_paramstyle = "named"
16
14
 
17
15
  def __init__(
@@ -37,3 +35,6 @@ class DefaultDialect(Dialect):
37
35
  self.type_compiler_instance = self.type_compiler = tt_callable(self)
38
36
 
39
37
  super().__init__(**kwargs)
38
+
39
+ def get_dialect_pool_class(self, url):
40
+ return self.get_pool_class(url)
@@ -627,7 +627,6 @@ class MySQLDialect(default.DefaultDialect):
627
627
  statement_compiler = MySQLCompiler
628
628
  ddl_compiler = MySQLDDLCompiler
629
629
  type_compiler_cls = MySQLTypeCompiler
630
- repository_cls = MySQLRepository
631
630
  caster = MySQLCaster
632
631
 
633
632
  def __init__(self, **kwargs):
@@ -638,3 +637,7 @@ class MySQLDialect(default.DefaultDialect):
638
637
  from mysql import connector
639
638
 
640
639
  return connector
640
+
641
+ @classmethod
642
+ def get_pool_class(cls, url):
643
+ return MySQLRepository
@@ -3,6 +3,7 @@ from pathlib import Path
3
3
  from typing import TYPE_CHECKING, BinaryIO, Literal, Optional, TextIO
4
4
  from ormlambda.engine import url
5
5
  from ormlambda.sql.ddl import CreateSchema, DropSchema, CreateBackup
6
+ from ormlambda import BaseRepository
6
7
 
7
8
  if TYPE_CHECKING:
8
9
  from ormlambda.dialects import Dialect
@@ -11,10 +12,10 @@ type TypeExists = Literal["fail", "replace", "append"]
11
12
 
12
13
 
13
14
  class Engine:
14
- def __init__(self, dialect: Dialect, url: url.URL):
15
+ def __init__(self, repository: BaseRepository, dialect: Dialect, url: url.URL):
16
+ self.repository = repository
15
17
  self.dialect = dialect
16
18
  self.url = url
17
- self.repository = self.dialect.repository_cls(url, dialect=dialect)
18
19
 
19
20
  def __repr__(self):
20
21
  return f"{Engine.__name__}: {self.url}"
@@ -78,3 +79,15 @@ class Engine:
78
79
  )
79
80
  .string
80
81
  )
82
+
83
+ @property
84
+ def engine(self) -> Engine:
85
+ return self
86
+
87
+ @property
88
+ def driver(self) -> str:
89
+ return self.dialect.driver
90
+
91
+ @property
92
+ def name(self) -> str:
93
+ return self.dialect.name
@@ -18,4 +18,9 @@ def create_engine(url: URL | str, **kwargs: Any) -> base.Engine:
18
18
  dialect_args["dbapi"] = dialect_cls.import_dbapi()
19
19
 
20
20
  dialect = dialect_cls(**dialect_args)
21
- return base.Engine(dialect, u)
21
+
22
+ repositoryclass = dialect.get_dialect_pool_class(u)
23
+
24
+ repository_args = {"dialect": dialect, **kwargs}
25
+ repository = repositoryclass(u, **repository_args)
26
+ return base.Engine(repository, dialect, u)
@@ -42,3 +42,7 @@ class BaseRepository[TPool](IRepositoryBase):
42
42
 
43
43
  @abc.abstractmethod
44
44
  def get_connection[TCnx](self) -> Generator[TCnx, None, None]: ...
45
+
46
+ @property
47
+ def pool(self) -> TPool:
48
+ return self._pool
File without changes
File without changes
File without changes