Package com.exasol.dbbuilder.dialects
Class AbstractImmediateDatabaseObjectWriter
- java.lang.Object
-
- com.exasol.dbbuilder.dialects.AbstractImmediateDatabaseObjectWriter
-
- All Implemented Interfaces:
DatabaseObjectWriter
- Direct Known Subclasses:
ExasolImmediateDatabaseObjectWriter,MySqlImmediateDatabaseObjectWriter,PostgreSqlImmediateDatabaseObjectWriter
public abstract class AbstractImmediateDatabaseObjectWriter extends Object implements DatabaseObjectWriter
This class contains common logic for writers that persist database objects.
-
-
Field Summary
Fields Modifier and Type Field Description protected Connectionconnection
-
Constructor Summary
Constructors Constructor Description AbstractImmediateDatabaseObjectWriter(Connection connection)Create a new instance of anAbstractImmediateDatabaseObjectWriter.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected StringcreateCommaSeparatedObjectPrivilegeList(ObjectPrivilege[] privileges)protected StringcreateCommaSeparatedSystemPrivilegeList(GlobalPrivilege[] privileges)voiddrop(Table table)Drop a table.voiddrop(User user)Drop a user.voidexecuteSqlFile(Path... sqlFiles)Execute the contents of a SQL script file.protected abstract StringgetQuotedColumnName(String columnName)Get a quoted column name.voidtruncate(Table table)Truncate a table.voidwrite(Schema schema)Create a schema in the database.voidwrite(Table table)Create a table in the database.voidwrite(Table table, Stream<List<Object>> rows)Bulk write data to a database table.voidwrite(User user, DatabaseObject object, ObjectPrivilege... privileges)Grant privileges to a database object to a user.protected voidwriteToObject(DatabaseObject object, String sql, Object... parameters)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.exasol.dbbuilder.dialects.DatabaseObjectWriter
drop, write, write
-
-
-
-
Field Detail
-
connection
protected final Connection connection
-
-
Constructor Detail
-
AbstractImmediateDatabaseObjectWriter
public AbstractImmediateDatabaseObjectWriter(Connection connection)
Create a new instance of anAbstractImmediateDatabaseObjectWriter.- Parameters:
connection- JDBC connection
-
-
Method Detail
-
writeToObject
protected void writeToObject(DatabaseObject object, String sql, Object... parameters)
-
write
public void write(Schema schema)
Description copied from interface:DatabaseObjectWriterCreate a schema in the database.- Specified by:
writein interfaceDatabaseObjectWriter- Parameters:
schema- schema to be written
-
write
public void write(Table table)
Description copied from interface:DatabaseObjectWriterCreate a table in the database.- Specified by:
writein interfaceDatabaseObjectWriter- Parameters:
table- table to be written
-
truncate
public void truncate(Table table)
Description copied from interface:DatabaseObjectWriterTruncate a table.- Specified by:
truncatein interfaceDatabaseObjectWriter- Parameters:
table- table to truncate
-
getQuotedColumnName
protected abstract String getQuotedColumnName(String columnName)
Get a quoted column name.- Parameters:
columnName- name of a column- Returns:
- quoted column name
-
write
public void write(Table table, Stream<List<Object>> rows)
Description copied from interface:DatabaseObjectWriterBulk write data to a database table.- Specified by:
writein interfaceDatabaseObjectWriter- Parameters:
table- table to write torows- stream of rows to be written
-
createCommaSeparatedSystemPrivilegeList
protected String createCommaSeparatedSystemPrivilegeList(GlobalPrivilege[] privileges)
-
write
public void write(User user, DatabaseObject object, ObjectPrivilege... privileges)
Description copied from interface:DatabaseObjectWriterGrant privileges to a database object to a user.- Specified by:
writein interfaceDatabaseObjectWriter- Parameters:
user- user who gets the privilegesobject- object the privileges apply toprivileges- privileges to be assigned
-
createCommaSeparatedObjectPrivilegeList
protected String createCommaSeparatedObjectPrivilegeList(ObjectPrivilege[] privileges)
-
executeSqlFile
public void executeSqlFile(Path... sqlFiles)
Description copied from interface:DatabaseObjectWriterExecute the contents of a SQL script file.- Specified by:
executeSqlFilein interfaceDatabaseObjectWriter- Parameters:
sqlFiles- path(s) to the script file(s)
-
drop
public void drop(Table table)
Description copied from interface:DatabaseObjectWriterDrop a table.- Specified by:
dropin interfaceDatabaseObjectWriter- Parameters:
table- table to drop
-
drop
public void drop(User user)
Description copied from interface:DatabaseObjectWriterDrop a user.- Specified by:
dropin interfaceDatabaseObjectWriter- Parameters:
user- to drop
-
-