Hi On 01/03/2015 02:34 AM, Federico Razzoli wrote:
I think that we all agree that having a clear terminology is important, for example when explaining a problem or its possible solutions. However, there are at least 2 cases where I am not completely happy with the terminology used in MariaDB Docs. I will suggest some variations here - if a better solution is found, I will be happy to help editing the occurrences of those terms.
* Virtual Columns
The problem here is that VIRTUAL and PERSISTENT columns are both called virtual columns. Interestingly, one could say that virtual columns are a type of virtual columns :) Since VIRTUAL and PERSISTENT are keywords, the only solution is changing the general name. My suggestion is Calculated Columns (from SQL Server). This is a good suggestion, though I think you meant "Computed Columns" for the term SQL Server uses.
I agree that having "Virtual virtual" and "Persistent virtual" columns is confusing, and I like the use of "Computed", a term Firebird also uses. Oracle uses the term Virtual Columns, and this is probably the reason this usage was adopted, but I see that the MariaDB error messages actually use the term "computed", for example "Constant expression in computed column function is not allowed". I agree with this change (the documentation should still refer to Virtual as an alternate usage so that searches for "Virtual Columns" are still useful).
* Dynamic Columns
While this is a good term, there is not an "official" term to indicate the table column containing virtual columns. I suggest Dynamic Columns Set, or Container. I think simply calling it a "dynamic column" is sufficient. A "container" is a bit abstract, and "dynamic columns set" also needlessly confusing with the actual SET type. * Procedure
I never seen a "procedure" other than "procedure Analyze". But this feature exists, and its name is easely confused with Stored Procedures. I don't have a suggestion here (especially because PROCEDURE is a keyword). PROCEDURE ANALYSE is used by MySQL and Oracle, and as you say is defined as a keyword, so its usage is entrenched and I don't think makes sense to change.
I'll see if anyone else responds on the docs list, and then suggest the first change on the main dev list. Not all developers subscribe here, and we need to make sure everyone is happy with the term, rather than the docs using it one way, and the developers another. ian