(
self,
connection: Connection,
table_name: str,
schema: Optional[str] = None,
**kw: Any,
)
| 3680 | |
| 3681 | @reflection.cache |
| 3682 | def _setup_parser( |
| 3683 | self, |
| 3684 | connection: Connection, |
| 3685 | table_name: str, |
| 3686 | schema: Optional[str] = None, |
| 3687 | **kw: Any, |
| 3688 | ) -> _reflection.ReflectedState: |
| 3689 | charset = self._connection_charset |
| 3690 | parser = self._tabledef_parser |
| 3691 | full_name = ".".join( |
| 3692 | self.identifier_preparer._quote_free_identifiers( |
| 3693 | schema, table_name |
| 3694 | ) |
| 3695 | ) |
| 3696 | sql = self._show_create_table( |
| 3697 | connection, None, charset, full_name=full_name |
| 3698 | ) |
| 3699 | if parser._check_view(sql): |
| 3700 | # Adapt views to something table-like. |
| 3701 | columns = self._describe_table( |
| 3702 | connection, None, charset, full_name=full_name |
| 3703 | ) |
| 3704 | sql = parser._describe_to_create( |
| 3705 | table_name, columns # type: ignore[arg-type] |
| 3706 | ) |
| 3707 | return parser.parse(sql, charset) |
| 3708 | |
| 3709 | def _fetch_setting( |
| 3710 | self, connection: Connection, setting_name: str |
no test coverage detected