Class HsqlNameManager
- java.lang.Object
-
- org.hsqldb.HsqlNameManager
-
public final class HsqlNameManager extends java.lang.ObjectProvides Name Management for SQL objects.This class now includes the HsqlName class introduced in 1.7.1 and improves auto-naming with multiple databases in the engine.
Methods check user defined names and issue system generated names for SQL objects.
This class does not deal with the type of the SQL object for which it is used.
Some names beginning with SYS_ are reserved for system generated names. These are defined in isReserveName(String name) and created by the makeAutoName(String type) factory method
sysNumber is used to generate system-generated names. It is set to the largest integer encountered in names that use the SYS_xxxxxxx_INTEGER format. As the DDL is processed before any ALTER command, any new system generated name will have a larger integer suffix than all the existing names.
- Since:
- 1.7.2
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description static classHsqlNameManager.HsqlNamestatic classHsqlNameManager.SimpleName
-
Constructor Summary
Constructors Constructor and Description HsqlNameManager()HsqlNameManager(Database database)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description static HsqlNameManager.HsqlNamegetAutoColumnName(int i)Column index i is 0 based, returns 1 based numbered column.static java.lang.StringgetAutoColumnNameString(int i)Column index i is 0 based, returns 1 based numbered column.static java.lang.StringgetAutoNoNameColumnString(int i)static java.lang.StringgetAutoSavepointNameString(long i, int j)HsqlNameManager.HsqlNamegetCatalogName()static HsqlNameManager.HsqlNamegetColumnName(HsqlNameManager.SimpleName name)static HsqlNameManager.SimpleNamegetSimpleName(java.lang.String name, boolean isNameQuoted)HsqlNameManager.HsqlNamegetSubqueryTableName()Same name string but different objects and serial numberHsqlNameManager.HsqlNamenewAutoName(java.lang.String prefix, HsqlNameManager.HsqlName schema, HsqlNameManager.HsqlName parent, int type)Auto names are used for autogenerated indexes or anonymous constraints.HsqlNameManager.HsqlNamenewAutoName(java.lang.String prefix, java.lang.String namepart, HsqlNameManager.HsqlName schema, HsqlNameManager.HsqlName parent, int type)Auto names are used for autogenerated indexes or anonymous constraints.HsqlNameManager.HsqlNamenewColumnHsqlName(HsqlNameManager.HsqlName table, java.lang.String name, boolean isquoted)HsqlNameManager.HsqlNamenewColumnSchemaHsqlName(HsqlNameManager.HsqlName table, HsqlNameManager.SimpleName name)HsqlNameManager.HsqlNamenewHsqlName(HsqlNameManager.HsqlName schema, java.lang.String name, boolean isquoted, int type)HsqlNameManager.HsqlNamenewHsqlName(HsqlNameManager.HsqlName schema, java.lang.String name, boolean isquoted, int type, HsqlNameManager.HsqlName parent)HsqlNameManager.HsqlNamenewHsqlName(HsqlNameManager.HsqlName schema, java.lang.String name, int type)HsqlNameManager.HsqlNamenewHsqlName(java.lang.String name, boolean isquoted, int type)static HsqlNameManager.HsqlNamenewInfoSchemaColumnName(java.lang.String name, HsqlNameManager.HsqlName table)static HsqlNameManager.HsqlNamenewInfoSchemaObjectName(java.lang.String name, boolean isQuoted, int type)static HsqlNameManager.HsqlNamenewInfoSchemaTableName(java.lang.String name)HsqlNameManager.HsqlNamenewSpecificRoutineName(HsqlNameManager.HsqlName name)static HsqlNameManager.HsqlNamenewSystemObjectName(java.lang.String name, int type)voidsetSqlRegularNames(boolean value)
-
-
-
Constructor Detail
-
HsqlNameManager
public HsqlNameManager()
-
HsqlNameManager
public HsqlNameManager(Database database)
-
-
Method Detail
-
getCatalogName
public HsqlNameManager.HsqlName getCatalogName()
-
setSqlRegularNames
public void setSqlRegularNames(boolean value)
-
newSystemObjectName
public static HsqlNameManager.HsqlName newSystemObjectName(java.lang.String name, int type)
-
newInfoSchemaColumnName
public static HsqlNameManager.HsqlName newInfoSchemaColumnName(java.lang.String name, HsqlNameManager.HsqlName table)
-
newInfoSchemaTableName
public static HsqlNameManager.HsqlName newInfoSchemaTableName(java.lang.String name)
-
newInfoSchemaObjectName
public static HsqlNameManager.HsqlName newInfoSchemaObjectName(java.lang.String name, boolean isQuoted, int type)
-
newHsqlName
public HsqlNameManager.HsqlName newHsqlName(HsqlNameManager.HsqlName schema, java.lang.String name, int type)
-
newHsqlName
public HsqlNameManager.HsqlName newHsqlName(java.lang.String name, boolean isquoted, int type)
-
newHsqlName
public HsqlNameManager.HsqlName newHsqlName(HsqlNameManager.HsqlName schema, java.lang.String name, boolean isquoted, int type)
-
newHsqlName
public HsqlNameManager.HsqlName newHsqlName(HsqlNameManager.HsqlName schema, java.lang.String name, boolean isquoted, int type, HsqlNameManager.HsqlName parent)
-
newColumnSchemaHsqlName
public HsqlNameManager.HsqlName newColumnSchemaHsqlName(HsqlNameManager.HsqlName table, HsqlNameManager.SimpleName name)
-
newColumnHsqlName
public HsqlNameManager.HsqlName newColumnHsqlName(HsqlNameManager.HsqlName table, java.lang.String name, boolean isquoted)
-
getSubqueryTableName
public HsqlNameManager.HsqlName getSubqueryTableName()
Same name string but different objects and serial number
-
newAutoName
public HsqlNameManager.HsqlName newAutoName(java.lang.String prefix, HsqlNameManager.HsqlName schema, HsqlNameManager.HsqlName parent, int type)
Auto names are used for autogenerated indexes or anonymous constraints.
-
newSpecificRoutineName
public HsqlNameManager.HsqlName newSpecificRoutineName(HsqlNameManager.HsqlName name)
-
getColumnName
public static HsqlNameManager.HsqlName getColumnName(HsqlNameManager.SimpleName name)
-
getAutoColumnName
public static HsqlNameManager.HsqlName getAutoColumnName(int i)
Column index i is 0 based, returns 1 based numbered column.
-
getAutoColumnNameString
public static java.lang.String getAutoColumnNameString(int i)
Column index i is 0 based, returns 1 based numbered column.
-
getAutoNoNameColumnString
public static java.lang.String getAutoNoNameColumnString(int i)
-
getAutoSavepointNameString
public static java.lang.String getAutoSavepointNameString(long i, int j)
-
newAutoName
public HsqlNameManager.HsqlName newAutoName(java.lang.String prefix, java.lang.String namepart, HsqlNameManager.HsqlName schema, HsqlNameManager.HsqlName parent, int type)
Auto names are used for autogenerated indexes or anonymous constraints.
-
getSimpleName
public static HsqlNameManager.SimpleName getSimpleName(java.lang.String name, boolean isNameQuoted)
-
-
DataMelt 3.0 © DataMelt by jWork.ORG