Yields (table_name, column_name, referenced_table_name, referenced_column_name) tuples for *schema*.
(self, schema: str | None = None)
| 442 | yield (table_name, column_name, values) |
| 443 | |
| 444 | def foreign_keys(self, schema: str | None = None) -> Generator[tuple[str, str, str, str], None, None]: |
| 445 | """Yields (table_name, column_name, referenced_table_name, referenced_column_name) tuples for *schema*.""" |
| 446 | target = schema if schema is not None else self.dbname |
| 447 | assert isinstance(self.conn, Connection) |
| 448 | with self.conn.cursor() as cur: |
| 449 | _logger.debug("Foreign Keys Query. sql: %r schema: %r", self.foreign_keys_query, target) |
| 450 | try: |
| 451 | cur.execute(self.foreign_keys_query, (target,)) |
| 452 | yield from cur |
| 453 | except Exception as e: |
| 454 | _logger.error('No foreign key completions due to %r', e) |
| 455 | |
| 456 | def databases(self) -> list[str]: |
| 457 | assert isinstance(self.conn, Connection) |