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
Displays/deparses like a
Simple
identifier, but no singleton
of this class matches anything but itself, to represent
pseudo-identifiers like PUBLIC
as a privilege grantee.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.postgresql.pljava.sqlgen.Lexicals.Identifier
Lexicals.Identifier.None, 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
Modifier and TypeFieldDescriptionstatic final Lexicals.Identifier.Pseudo
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
isUnnamed, toString
-
Field Details
-
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 Details
-
equals
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.
-