public static boolean supportsStoredProcedures(String puName) { DatabasePlatform platform = getDatabaseSession(puName).getPlatform(); // PostgreSQL has some level of support for "stored functions", but output parameters do not // work as of 8.2. // Sybase supports stored procedures, but has issues with output parameters and transaction mode // (INOUT and chaining). // TODO: DB2 should be in this list. if (platform.isOracle() || platform.isMySQL() || platform.isSQLServer()) { return true; } warning("This database does not support stored procedure creation."); return false; }
/** Also creates the procs. */ public void createTables(DatabaseSession session) { super.createTables(session); org.eclipse.persistence.internal.databaseaccess.DatabasePlatform platform = session.getLogin().getPlatform(); SchemaManager schema = new SchemaManager((session)); if (platform.isSQLServer()) {} if (platform.isSybase() || platform.isSQLAnywhere()) {} if (platform.isOracle()) { schema.replaceObject(buildOracleStoredProcedureInsertPolicyHolders()); schema.replaceObject(buildOracleStoredProcedureReadFromPolicyHolders()); schema.replaceObject(buildOracleStoredProcedureDeletePolicyHolders()); } if (platform.isDB2()) {} }