/** * INTERNAL: * Execute the SQL required to alter sequence increment. * Assume that the sequence exists. */ public void alterIncrement(AbstractSession session, Writer schemaWriter) throws ValidationException { if (schemaWriter == null) { this.alterOnDatabase(session); } else { this.buildAlterIncrementWriter(session, schemaWriter); } }
/** * INTERNAL: * Most major databases support a creator name scope. * This means whenever the database object is referenced, it must be qualified. */ public String getFullName() { return sequence.getQualified(getName()); } }
/** * INTERNAL: * Return the SQL required to drop the Oracle sequence object. */ public Writer buildDeletionWriter(AbstractSession session, Writer writer) { try { session.getPlatform().buildSequenceObjectDeletionWriter(writer, getFullName()); } catch (IOException ioException) { throw ValidationException.fileError(ioException); } return writer; }
/** * INTERNAL: * Execute the SQL required to alter sequence increment. * Assume that the sequence exists. */ public void alterOnDatabase(AbstractSession session) throws EclipseLinkException { // Bug# 242120: Let the DatabaseException propagate and do not call // createOnDatabase(session) which would cause an infinite loop on a JTA connection session.priviledgedExecuteNonSelectingCall(new SQLCall(buildAlterIncrementWriter(session, new StringWriter()).toString())); }
protected SequenceDefinition buildSequenceDefinition(Sequence sequence) { if (sequence.shouldAcquireValueAfterInsert()) { return null; } if (sequence instanceof TableSequence || (sequence instanceof DefaultSequence && ((DefaultSequence)sequence).getDefaultSequence() instanceof TableSequence)) { return new TableSequenceDefinition(sequence); } else if (sequence instanceof UnaryTableSequence || (sequence instanceof DefaultSequence && ((DefaultSequence)sequence).getDefaultSequence() instanceof UnaryTableSequence)) { return new UnaryTableSequenceDefinition(sequence); } else if (sequence instanceof NativeSequence || (sequence instanceof DefaultSequence && ((DefaultSequence)sequence).getDefaultSequence() instanceof NativeSequence)) { return new SequenceObjectDefinition(sequence); } else { return null; } }
/** * INTERNAL: * Return the SQL required to drop the Oracle sequence object. */ public Writer buildDeletionWriter(AbstractSession session, Writer writer) { try { session.getPlatform().buildSequenceObjectDeletionWriter(writer, getFullName()); } catch (IOException ioException) { throw ValidationException.fileError(ioException); } return writer; }
/** * INTERNAL: * Execute the SQL required to alter sequence increment. * Assume that the sequence exists. */ public void alterOnDatabase(AbstractSession session) throws EclipseLinkException { // Bug# 242120: Let the DatabaseException propagate and do not call // createOnDatabase(session) which would cause an infinite loop on a JTA connection session.executeNonSelectingCall(new SQLCall(buildAlterIncrementWriter(session, new StringWriter()).toString())); }
protected SequenceDefinition buildSequenceDefinition(Sequence sequence) { if (sequence.shouldAcquireValueAfterInsert()) { return null; } if (sequence instanceof TableSequence || (sequence instanceof DefaultSequence && ((DefaultSequence)sequence).getDefaultSequence() instanceof TableSequence)) { return new TableSequenceDefinition(sequence, createDatabaseSchemas); } else if (sequence instanceof UnaryTableSequence || (sequence instanceof DefaultSequence && ((DefaultSequence)sequence).getDefaultSequence() instanceof UnaryTableSequence)) { return new UnaryTableSequenceDefinition(sequence, createDatabaseSchemas); } else if (sequence instanceof NativeSequence || (sequence instanceof DefaultSequence && ((DefaultSequence)sequence).getDefaultSequence() instanceof NativeSequence)) { NativeSequence nativeSequence = null; if (sequence instanceof NativeSequence) { nativeSequence = (NativeSequence)sequence; } else { nativeSequence = (NativeSequence)((DefaultSequence)sequence).getDefaultSequence(); } if (nativeSequence.hasDelegateSequence()) { return buildSequenceDefinition(((NativeSequence)sequence).getDelegateSequence()); } return new SequenceObjectDefinition(sequence); } else { return null; } }
/** * INTERNAL: * Execute the SQL required to alter sequence increment. * Assume that the sequence exists. */ public void alterIncrement(AbstractSession session, Writer schemaWriter) throws ValidationException { if (schemaWriter == null) { this.alterOnDatabase(session); } else { this.buildAlterIncrementWriter(session, schemaWriter); } }
/** * INTERNAL: * Return the SQL required to drop the Oracle sequence object. */ public Writer buildDeletionWriter(AbstractSession session, Writer writer) { try { session.getPlatform().buildSequenceObjectDeletionWriter(writer, getFullName()); } catch (IOException ioException) { throw ValidationException.fileError(ioException); } return writer; }
/** * INTERNAL: * Most major databases support a creator name scope. * This means whenever the database object is referenced, it must be qualified. */ public String getFullName() { return sequence.getQualified(getName()); } }
/** * INTERNAL: * Execute the SQL required to alter sequence increment. * Assume that the sequence exists. */ public void alterOnDatabase(AbstractSession session) throws EclipseLinkException { // Bug# 242120: Let the DatabaseException propagate and do not call // createOnDatabase(session) which would cause an infinite loop on a JTA connection session.priviledgedExecuteNonSelectingCall(new SQLCall(buildAlterIncrementWriter(session, new StringWriter()).toString())); }
protected SequenceDefinition buildSequenceDefinition(Sequence sequence) { if (sequence.shouldAcquireValueAfterInsert()) { return null; } if (sequence instanceof TableSequence || (sequence instanceof DefaultSequence && ((DefaultSequence)sequence).getDefaultSequence() instanceof TableSequence)) { return new TableSequenceDefinition(sequence, createDatabaseSchemas); } else if (sequence instanceof UnaryTableSequence || (sequence instanceof DefaultSequence && ((DefaultSequence)sequence).getDefaultSequence() instanceof UnaryTableSequence)) { return new UnaryTableSequenceDefinition(sequence, createDatabaseSchemas); } else if (sequence instanceof NativeSequence || (sequence instanceof DefaultSequence && ((DefaultSequence)sequence).getDefaultSequence() instanceof NativeSequence)) { NativeSequence nativeSequence = null; if (sequence instanceof NativeSequence) { nativeSequence = (NativeSequence)sequence; } else { nativeSequence = (NativeSequence)((DefaultSequence)sequence).getDefaultSequence(); } if (nativeSequence.hasDelegateSequence()) { return buildSequenceDefinition(((NativeSequence)sequence).getDelegateSequence()); } return new SequenceObjectDefinition(sequence); } else { return null; } }
/** * INTERNAL: * Execute the SQL required to alter sequence increment. * Assume that the sequence exists. */ public void alterIncrement(AbstractSession session, Writer schemaWriter) throws ValidationException { if (schemaWriter == null) { this.alterOnDatabase(session); } else { this.buildAlterIncrementWriter(session, schemaWriter); } }
/** * INTERNAL: * Return the SQL required to alter INCREMENT BY */ public Writer buildAlterIncrementWriter(AbstractSession session, Writer writer) { try { session.getPlatform().buildSequenceObjectAlterIncrementWriter(writer, getFullName(), sequence.getPreallocationSize()); } catch (IOException ioException) { throw ValidationException.fileError(ioException); } return writer; }
/** * INTERNAL: * Most major databases support a creator name scope. * This means whenever the database object is referenced, it must be qualified. */ public String getFullName() { return sequence.getQualified(getName()); } }
/** * INTERNAL: * Return the SQL required to alter INCREMENT BY */ public Writer buildAlterIncrementWriter(AbstractSession session, Writer writer) { try { session.getPlatform().buildSequenceObjectAlterIncrementWriter(writer, getFullName(), sequence.getPreallocationSize()); } catch (IOException ioException) { throw ValidationException.fileError(ioException); } return writer; }
/** * INTERNAL: * Return the SQL required to alter INCREMENT BY */ public Writer buildAlterIncrementWriter(AbstractSession session, Writer writer) { try { session.getPlatform().buildSequenceObjectAlterIncrementWriter(writer, getFullName(), sequence.getPreallocationSize()); } catch (IOException ioException) { throw ValidationException.fileError(ioException); } return writer; }
/** * INTERNAL: * Return the SQL required to create the Oracle sequence object. */ public Writer buildCreationWriter(AbstractSession session, Writer writer) { try { // startWith value calculated using the initial value and increment. // The first time TopLink calls select nextval, the value equal to startWith is returned. // The first sequence value EclipseLink may assign is startWith - getIncrement() + 1. int startWith = sequence.getInitialValue() + sequence.getPreallocationSize() - 1; session.getPlatform().buildSequenceObjectCreationWriter(writer, getFullName(), sequence.getPreallocationSize(), startWith); } catch (IOException ioException) { throw ValidationException.fileError(ioException); } return writer; }
/** * INTERNAL: * Return the SQL required to create the Oracle sequence object. */ public Writer buildCreationWriter(AbstractSession session, Writer writer) { try { // startWith value calculated using the initial value and increment. // The first time TopLink calls select nextval, the value equal to startWith is returned. // The first sequence value EclipseLink may assign is startWith - getIncrement() + 1. int startWith = sequence.getInitialValue() + sequence.getPreallocationSize() - 1; session.getPlatform().buildSequenceObjectCreationWriter(writer, getFullName(), sequence.getPreallocationSize(), startWith); } catch (IOException ioException) { throw ValidationException.fileError(ioException); } return writer; }