Whale slams sailboat near Astoria