async def _get_table_info(self, schema: str, table: str) -> Dict[str, Any]:
        """Get table structure information.

        Args:
            schema: Schema name
            table: Table name

        Returns:
            Dictionary containing column information and primary keys
        """
        async with self.conn.cursor() as cursor:
            # Get column information
            columns_query = """
                SELECT
                    c.COLUMN_NAME,
                    c.DATA_TYPE,
                    c.IS_NULLABLE,
                    c.COLUMN_DEFAULT
                FROM INFORMATION_SCHEMA.COLUMNS c
                WHERE c.TABLE_SCHEMA = ? AND c.TABLE_NAME = ?
                ORDER BY c.ORDINAL_POSITION
            """
            await cursor.execute(columns_query, (schema, table))
            columns = await cursor.fetchall()

            # Get primary key information
            pk_query = """
                SELECT c.COLUMN_NAME
                FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
                JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
                    ON tc.CONSTRAINT_NAME = c.CONSTRAINT_NAME
                WHERE tc.CONSTRAINT_TYPE = 'PRIMARY KEY'
                    AND tc.TABLE_SCHEMA = ?
                    AND tc.TABLE_NAME = ?
            """
            await cursor.execute(pk_query, (schema, table))
            primary_keys = [row[0] for row in await cursor.fetchall()]

            # Build column metadata
            column_info = {}
            for col in columns:
                sql_type = col[1].lower()
                python_type = SQLSERVER_TYPE_MAP.get(sql_type, Any)

                column_info[col[0]] = {
                    "python_type": python_type,
                    "nullable": col[2] == "YES",
                    "default": col[3],
                    "sql_type": sql_type,
                }

            return {
                "columns": column_info,
                "primary_keys": primary_keys,
            }
Get table structure information.

        Args:
            schema: Schema name
            table: Table name

        Returns:
            Dictionary containing column information and primary keys
        
backend/airweave/platform/sources/sql_server.py