I've never heard of R$XYZ tables before. Are they part of some package that you are using? Can you tell anything from the columns in the tables what they are used for or where they might have come from?
We filter out several Oracle generated table types. Especially for Advanced Queues. I would really like to know where those R$ table are coming from.
Okay. It was my misunderstanding. I thought you didn't want the R$xxx tables to be imported. Let me check what is happening in our rename routine. I suspect that we are translating the $ for a reason. Let me find out why.
The short answer is, "it's not our fault." This restriction is something that Microsoft has imposed on any database project. Since we are built on top of Microsoft's implementation, we are stuck with this limitation.
The strangeness is our doing. Our code is called to do the actual file creation when you import DDL from a database. Only Microsoft's VS code is involved when you actually rename a file. We never get a chance to intervene. Their code has some kind of aversion to $ signs in the name.
I think it might have something to do with Microsoft's variable replacement technology. Don't they use the $ sign as an indicator of a variable replacement place-holder?