Intentional. See 
https://github.com/apache/calcite/blob/98f3048fb1407e2878162ffc80388d4f9dd094b2/core/src/main/java/org/apache/calcite/sql/ddl/package-info.java#L25:

 * <p>If you are writing a project that requires DDL it is likely that your
 * DDL syntax is different than ours. We recommend that you copy-paste this
 * the parser and its supporting classes into your own module, rather than try
 * to extend this one.

I could see small modifications being made to SqlColumnDeclaration. A public 
constructor would have made it harder to do those while preserving 
compatibility. 

> On Aug 7, 2023, at 4:35 PM, <[email protected]> <[email protected]> wrote:
> 
> I notice that SqlColumnDeclaration has a non-public constructor, which makes
> it impossible to extend from a different package.
> 
> Is this design intentional or is it a bug?
> 
> 
> 
> (There are some good reasons for extending this class. For example, a
> comment on the class says "FOREIGN KEY when we support it".)
> 
> 
> 
> Thank you,
> 
> Mihai
> 

Reply via email to