Merge pull request #985 from dbgate/feature/mysql-event-scheduler

Feature/mysql event scheduler
This commit is contained in:
Jan Prochazka
2025-01-07 14:37:30 +01:00
committed by GitHub
16 changed files with 276 additions and 34 deletions

View File

@@ -28,6 +28,13 @@ const mysqlEngine = {
},
objects: [
views,
{
type: 'schedulerEvents',
create1: 'CREATE EVENT obj1 ON SCHEDULE EVERY 1 HOUR DO BEGIN END',
create2: 'CREATE EVENT obj2 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY DO BEGIN END',
drop1: 'DROP EVENT obj1',
drop2: 'DROP EVENT obj2',
},
{
type: 'procedures',
create1: 'CREATE PROCEDURE obj1() BEGIN SELECT * FROM t1; END',
@@ -36,6 +43,7 @@ const mysqlEngine = {
drop2: 'DROP PROCEDURE obj2',
},
],
supportRenameSqlObject: false,
dbSnapshotBySeconds: true,
dumpFile: 'data/chinook-mysql.sql',
dumpChecks: [
@@ -130,6 +138,30 @@ const mysqlEngine = {
},
},
],
schedulerEvents: [
{
create: 'CREATE EVENT obj1 ON SCHEDULE EVERY 1 HOUR DO BEGIN END',
drop: 'DROP EVENT obj1',
objectTypeField: 'schedulerEvents',
expected: {
pureName: 'obj1',
status: 'ENABLED',
eventType: 'RECURRING',
intervalValue: '1',
intervalField: 'HOUR',
},
},
{
create: 'CREATE EVENT obj1 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY DO BEGIN END',
drop: 'DROP EVENT obj1',
objectTypeField: 'schedulerEvents',
expected: {
pureName: 'obj1',
status: 'ENABLED',
eventType: 'ONE TIME',
},
},
],
};
const mariaDbEngine = {
@@ -601,7 +633,7 @@ const enginesOnCi = [
const enginesOnLocal = [
// all engines, which would be run on local test
// mysqlEngine,
mysqlEngine,
// mariaDbEngine,
// postgreSqlEngine,
// sqlServerEngine,