Skip to content

Conversation

@yuki-tei
Copy link
Contributor

Hi,
Greetings. Hope you are doing well and healthy.

What Changed?

Modified the description to fit below enhancement for EPAS 18.1:
https://www.enterprisedb.com/docs/epas/latest/epas_rel_notes/epas18_1_rel_notes/

Enhancement | Improved calendar-based scheduling in DBMS_SCHEDULER. We've significantly enhanced DBMS_SCHEDULER with new calendar-based scheduling features for greater precision and flexibility. This includes support for the FREQ=SECONDLY interval (for sub-minute jobs), the INTERVAL keyword, and negative BYMONTHDAY values (to schedule jobs based on the end of the month). -- | --

Test Cases:

edb=# EXEC
  DBMS_SCHEDULER.CREATE_JOB (
    job_name        => 'secondly_job',
    job_type        => 'PLSQL_BLOCK',
    job_action      => 'BEGIN INSERT INTO log VALUES(current_timestamp); END;',
    start_date      => '01-JAN-26 09:00:00.000000',
    repeat_interval => 'FREQ=SECONDLY;',
    enabled         => TRUE,
    comments        => 'Insert timestamp to log per second');

EDB-SPL Procedure successfully completed

edb=# EXEC
  DBMS_SCHEDULER.CREATE_JOB (
    job_name        => 'secondly_job',
    job_type        => 'PLSQL_BLOCK',
    job_action      => 'BEGIN INSERT INTO log VALUES(current_timestamp); END;',
    start_date      => '01-JAN-26 09:00:00.000000',
    repeat_interval => 'FREQ=DAILY;BYMONTHDAY=-1;INTERVAL=2',
    enabled         => TRUE,
    comments        => 'Insert timestamp to log every 2 days count from the end of the month');

EDB-SPL Procedure successfully completed

Error case to test the value limits:

edb=# EXEC
  DBMS_SCHEDULER.CREATE_JOB (
    job_name        => 'secondly_job',
    job_type        => 'PLSQL_BLOCK',
    job_action      => 'BEGIN INSERT INTO log VALUES(current_timestamp); END;',
    start_date      => '01-JAN-26 09:00:00.000000',
    repeat_interval => 'FREQ=DAILY;BYMONTHDAY=0;INTERVAL=2',
    enabled         => TRUE,
    comments        => 'Insert timestamp to log every 2 days count from the end of the month');
ERROR:  monthday must be between -31 and 31, and not be 0

edb=# EXEC
  DBMS_SCHEDULER.CREATE_JOB (
    job_name        => 'secondly_job',
    job_type        => 'PLSQL_BLOCK',
    job_action      => 'BEGIN INSERT INTO log VALUES(current_timestamp); END;',
    start_date      => '01-JAN-26 09:00:00.000000',
    repeat_interval => 'FREQ=DAILY;BYMONTHDAY=1;INTERVAL=100',
    enabled         => TRUE,
    comments        => 'Insert timestamp to log every 2 days count from the end of the month');
ERROR:  interval must be between 1 and 99

Since the suggested edit is written based on my validation, I hope if the doc or dev team to take a look and verify if each description is correct.

Kind Regards,
Yuki Tei

@yuki-tei yuki-tei requested a review from a team as a code owner January 20, 2026 07:22
Copy link
Contributor

@tusharahuja tusharahuja left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, looks good.

Copy link
Contributor

@gvasquezvargas gvasquezvargas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @yuki-tei ! The SME has approved, I hope you don't mind that I made a small change to the wording. Approving and merging next :)

@yuki-tei
Copy link
Contributor Author

Hi @gvasquezvargas , thanks for your confirmation and moving on. Yes I agree to all your changes.
Kind Regards,
Yuki Tei

@gvasquezvargas gvasquezvargas merged commit f247fb6 into EnterpriseDB:develop Jan 21, 2026
6 checks passed
@yuki-tei yuki-tei deleted the patch-13 branch January 22, 2026 05:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants