ttomcat-1778514358873.zip-extract/_dependencies/maven/com.h2database_h2-2.2.220/org/h2/table/TableSynonym.java

Path
ttomcat-1778514358873.zip-extract/_dependencies/maven/com.h2database_h2-2.2.220/org/h2/table/TableSynonym.java
Status
scanned
Type
file
Name
TableSynonym.java
Extension
.java
Programming language
Java
Mime type
text/x-java
File type
Java source, ASCII text
Tag

      
    
Rootfs path

      
    
Size
3236 (3.2 KB)
MD5
d53a7dce2a95595fc49fc6a3cdcf74f6
SHA1
b4d4acaf42a38d7223174a56d6da0e951a5859d1
SHA256
4553eb0560c19db0f008d23d3b0408977c3dbe60cc2350f2702d9f8c3626c5fe
SHA512

      
    
SHA1_git
9cd32de80b7fa9d0fc46901b1a848a7742da256f
Is binary

      
    
Is text
True
Is archive

      
    
Is media

      
    
Is legal

      
    
Is manifest

      
    
Is readme

      
    
Is top level

      
    
Is key file

      
    
TableSynonym.java | 3.2 KB |

/* * Copyright 2004-2023 H2 Group. Multiple-Licensed under the MPL 2.0, * and the EPL 1.0 (https://h2database.com/html/license.html). * Initial Developer: H2 Group */ package org.h2.table; import org.h2.command.ddl.CreateSynonymData; import org.h2.engine.SessionLocal; import org.h2.message.DbException; import org.h2.message.Trace; import org.h2.schema.Schema; import org.h2.schema.SchemaObject; import org.h2.util.ParserUtil; /** * Synonym for an existing table or view. All DML requests are forwarded to the backing table. * Adding indices to a synonym or altering the table is not supported. */ public class TableSynonym extends SchemaObject { private CreateSynonymData data; /** * The table the synonym is created for. */ private Table synonymFor; public TableSynonym(CreateSynonymData data) { super(data.schema, data.id, data.synonymName, Trace.TABLE); this.data = data; } /** * @return the table this is a synonym for */ public Table getSynonymFor() { return synonymFor; } /** * Set (update) the data. * * @param data the new data */ public void updateData(CreateSynonymData data) { this.data = data; } @Override public int getType() { return SYNONYM; } @Override public String getCreateSQLForCopy(Table table, String quotedName) { return synonymFor.getCreateSQLForCopy(table, quotedName); } @Override public void rename(String newName) { throw DbException.getUnsupportedException("SYNONYM"); } @Override public void removeChildrenAndResources(SessionLocal session) { synonymFor.removeSynonym(this); database.removeMeta(session, getId()); } @Override public String getCreateSQL() { StringBuilder builder = new StringBuilder("CREATE SYNONYM "); getSQL(builder, DEFAULT_SQL_FLAGS).append(" FOR "); ParserUtil.quoteIdentifier(builder, data.synonymForSchema.getName(), DEFAULT_SQL_FLAGS).append('.'); ParserUtil.quoteIdentifier(builder, data.synonymFor, DEFAULT_SQL_FLAGS); return builder.toString(); } @Override public String getDropSQL() { return getSQL(new StringBuilder("DROP SYNONYM "), DEFAULT_SQL_FLAGS).toString(); } @Override public void checkRename() { throw DbException.getUnsupportedException("SYNONYM"); } /** * @return the table this synonym is for */ public String getSynonymForName() { return data.synonymFor; } /** * @return the schema this synonym is for */ public Schema getSynonymForSchema() { return data.synonymForSchema; } /** * @return true if this synonym currently points to a real table */ public boolean isInvalid() { return synonymFor.isValid(); } /** * Update the table that this is a synonym for, to know about this synonym. */ public void updateSynonymFor() { if (synonymFor != null) { synonymFor.removeSynonym(this); } synonymFor = data.synonymForSchema.getTableOrView(data.session, data.synonymFor); synonymFor.addSynonym(this); } }
Detected license expression
mpl-2.0 AND epl-1.0
Detected license expression (SPDX)
MPL-2.0 AND EPL-1.0
Percentage of license text
2.79
Copyrights
- end_line: 2
  copyright: Copyright 2004-2023 H2 Group. Multiple-Licensed
  start_line: 2
Holders
- holder: H2 Group. Multiple-Licensed
  end_line: 2
  start_line: 2
Authors

      
    
License detections License expression License expression SPDX
mpl_2_0_and_epl_1_0-796bf8d7-f485-3520-923d-e6a4b1ecd2f3 mpl-2.0 AND epl-1.0 MPL-2.0 AND EPL-1.0
URL Start line End line
https://h2database.com/html/license.html 3 3
Package URL License Primary language
pkg:osgi/com.h2database.source@2.2.220