- java.lang.Object
-
- org.postgresql.pljava.sqlgen.Lexicals.Identifier
-
- org.postgresql.pljava.sqlgen.Lexicals.Identifier.Unqualified<Lexicals.Identifier.Simple>
-
- org.postgresql.pljava.sqlgen.Lexicals.Identifier.Simple
-
- org.postgresql.pljava.sqlgen.Lexicals.Identifier.Pseudo
-
- All Implemented Interfaces:
Serializable
- Enclosing class:
- Lexicals.Identifier
public static final class Lexicals.Identifier.Pseudo extends Lexicals.Identifier.Simple
Displays/deparses like aSimple
identifier, but no singleton of this class matches anything but itself, to represent pseudo-identifiers likePUBLIC
as a privilege grantee.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.postgresql.pljava.sqlgen.Lexicals.Identifier
Lexicals.Identifier.Operator, Lexicals.Identifier.Pseudo, Lexicals.Identifier.Qualified<T extends Lexicals.Identifier.Unqualified<T>>, Lexicals.Identifier.Simple, Lexicals.Identifier.Unqualified<T extends Lexicals.Identifier.Unqualified<T>>
-
-
Field Summary
Fields Modifier and Type Field Description static Lexicals.Identifier.Pseudo
PUBLIC
Instance intended to representPUBLIC
when used as a privilege grantee.-
Fields inherited from class org.postgresql.pljava.sqlgen.Lexicals.Identifier.Simple
m_nonFolded
-
-
Method Summary
-
Methods inherited from class org.postgresql.pljava.sqlgen.Lexicals.Identifier.Simple
concat, deparse, deparse, equals, folds, from, fromCatalog, fromJava, fromJava, hashCode, isoFolded, nonFolded, pgFold, pgFolded, withQualifier
-
Methods inherited from class org.postgresql.pljava.sqlgen.Lexicals.Identifier
toString
-
-
-
-
Field Detail
-
PUBLIC
public static final Lexicals.Identifier.Pseudo PUBLIC
Instance intended to representPUBLIC
when used as a privilege grantee.It would not be correct to use this instance for other special things that happen to be named
PUBLIC
, such as thePUBLIC
schema. That is a real catalog object that has the actual namePUBLIC
, and should be represented as aSimple
with that name.Note: through PG 14 at least, the database itself does not treat the public grantee in the way anticipated here; it is, instead, treated as an ordinary folding name "public" and forbidden as the name of any role. Therefore, a model of grantee roles would not need this symbol after all, but the definition will remain here illustrating the concept.
-
-
Method Detail
-
equals
public boolean equals(Object other)
APseudo
identifier instance is only equal to itself.- Overrides:
equals
in classLexicals.Identifier
- Parameters:
other
- Object to compare to- Returns:
- true if two quoted Identifiers match exactly, or two non-quoted ones match in either the PostgreSQL or ISO SQL folded form, or a quoted one exactly matches either folded form of a non-quoted one.
-
-