Class PgDatabaseProvider
java.lang.Object
org.pgcodekeeper.core.database.pg.PgDatabaseProvider
- All Implemented Interfaces:
IDatabaseProvider
IDatabaseProvider implementation for PostgreSQL databases.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetDumpLoader(Path path, DiffSettings diffSettings) getDumpLoader(InputStreamProvider input, String name, DiffSettings diffSettings) getJdbcConnector(String url) getJdbcLoader(String url, DiffSettings diffSettings) getJdbcLoader(IJdbcConnector connector, DiffSettings diffSettings) getModelExporter(Path outDir, IDatabase newDb, Collection<TreeElement> changedObjects, ISettings settings) getName()getProjectLoader(Path path, DiffSettings diffSettings) getProjectLoader(Path path, DiffSettings diffSettings, Collection<String> libXmls, Collection<String> libs, Collection<String> libsWithoutPriv, Path metaPath) getProjectUpdater(IDatabase newDb, IDatabase oldDb, Collection<TreeElement> changedObjects, Path projectPath, boolean overridesOnly, ISettings settings) getScriptBuilder(DiffSettings diffSettings) Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.pgcodekeeper.core.database.api.IDatabaseProvider
getProjectUpdater
-
Constructor Details
-
PgDatabaseProvider
public PgDatabaseProvider()
-
-
Method Details
-
getName
- Specified by:
getNamein interfaceIDatabaseProvider- Returns:
- short name of DBMS
-
getFullName
- Specified by:
getFullNamein interfaceIDatabaseProvider- Returns:
- full name of DBMS
-
createDatabase
- Specified by:
createDatabasein interfaceIDatabaseProvider- Returns:
- new empty database instance for this DBMS
-
getJdbcConnector
- Specified by:
getJdbcConnectorin interfaceIDatabaseProvider- Parameters:
url- full jdbc url- Returns:
- jdbc connector for DBMS
- See Also:
-
getModelExporter
public PgModelExporter getModelExporter(Path outDir, IDatabase newDb, Collection<TreeElement> changedObjects, ISettings settings) - Specified by:
getModelExporterin interfaceIDatabaseProvider- Parameters:
outDir- target directory for the exported projectnewDb- the database schema to exportchangedObjects- list of changed tree elements to include in exportsettings- configuration settings- Returns:
- model exporter for the DBMS
-
getProjectUpdater
public PgProjectUpdater getProjectUpdater(IDatabase newDb, IDatabase oldDb, Collection<TreeElement> changedObjects, Path projectPath, boolean overridesOnly, ISettings settings) - Specified by:
getProjectUpdaterin interfaceIDatabaseProvider- Parameters:
newDb- the new database version with changesoldDb- the old database versionchangedObjects- list of changed tree elements to applyprojectPath- path to the project directory to updateoverridesOnly- update overrides onlysettings- configuration settings- Returns:
- project updater for the DBMS
-
getJdbcLoader
- Specified by:
getJdbcLoaderin interfaceIDatabaseProvider- Parameters:
url- full jdbc urldiffSettings- unified context object containing settings, monitor, ignore schema list, and error accumulator- Returns:
- jdbc loader for the DBMS
- See Also:
-
getJdbcLoader
- Specified by:
getJdbcLoaderin interfaceIDatabaseProvider- Parameters:
connector- jdbc connector for the DBMSdiffSettings- unified context object containing settings, monitor, ignore schema list, and error accumulator- Returns:
- jdbc loader for the DBMS
- See Also:
-
getDumpLoader
- Specified by:
getDumpLoaderin interfaceIDatabaseProvider- Parameters:
path- path to dump filediffSettings- unified context object containing settings, monitor, and error accumulator- Returns:
- dump loader for the DBMS
- See Also:
-
getDumpLoader
public PgDumpLoader getDumpLoader(InputStreamProvider input, String name, DiffSettings diffSettings) - Specified by:
getDumpLoaderin interfaceIDatabaseProvider- Parameters:
input- input stream provider for SQL contentname- name of the source (for error reporting)diffSettings- configuration settings- Returns:
- dump loader for DBMS
-
getProjectLoader
- Specified by:
getProjectLoaderin interfaceIDatabaseProvider- Parameters:
path- path to project directorydiffSettings- unified context object containing settings, monitor, ignore schema list, and error accumulator- Returns:
- project loader for the DBMS
- See Also:
-
getProjectLoader
public PgProjectLoader getProjectLoader(Path path, DiffSettings diffSettings, Collection<String> libXmls, Collection<String> libs, Collection<String> libsWithoutPriv, Path metaPath) - Specified by:
getProjectLoaderin interfaceIDatabaseProvider- Parameters:
path- path to project directorydiffSettings- unified context object containing settings, monitor, ignore schema list, and error accumulatorlibXmls- paths to XML files with library dependency definitionslibs- paths to library dependencieslibsWithoutPriv- paths to library dependencies with ignored privilegesmetaPath- path to metadata directory for storing downloaded and unzipped library files, may be null if no ZIP or URI libraries are expected- Returns:
- project loader for the DBMS
- See Also:
-
getScriptBuilder
- Specified by:
getScriptBuilderin interfaceIDatabaseProvider- Parameters:
diffSettings- configuration settings- Returns:
- return script builder
-