Commits

jhouse  committed 471a25a

new files (reorganizing repository)
CVS: ----------------------------------------------------------------------
CVS: Issue number:
CVS: If this change addresses one or more issues,
CVS: then enter the issue number(s) here.
CVS: Obtained from:
CVS: If this change has been taken from another system,
CVS: then name the system in this line, otherwise delete it.
CVS: Submitted by:
CVS: If this code has been contributed to the project by someone else; i.e.,
CVS: they sent us a patch or a set of diffs, then include their name/email
CVS: address here. If this is your work then delete this line.
CVS: Reviewed by:
CVS: If we are doing pre-commit code reviews and someone else has
CVS: reviewed your changes, include their name(s) here.
CVS: If you have not had it reviewed then delete this line.

git-svn-id: http://svn.opensymphony.com/svn/quartz/trunk@14569f7d36a-ea1c-0410-88ea-9fd03e4c9665

  • Participants
  • Parent commits 3d9a1f2

Comments (0)

Files changed (268)

                 <attribute name="Implementation-Vendor" value="OpenSymphony" />
             </manifest>
         </jar>
+<!--    	
         <jar basedir="${src.jboss}" jarfile="${build}/${name}-jboss-${version}-src.jar">
             <manifest>
                 <attribute name="Implementation-Title" value="${fullname} JBoss Features" />
                 <attribute name="Implementation-Vendor" value="OpenSymphony" />
             </manifest>
         </jar>
+-->        
     </target>
 
     <target name="jar.features.oracle"  unless="skip.compile.features.oracle" >
                 <attribute name="Implementation-Vendor" value="OpenSymphony" />
             </manifest>
         </jar>
+<!--		    	
         <jar basedir="${src.oracle}" jarfile="${build}/${name}-oracle-${version}-src.jar">
             <manifest>
                 <attribute name="Implementation-Title" value="${fullname} Oracle Features" />
                 <attribute name="Implementation-Vendor" value="OpenSymphony" />
             </manifest>
         </jar>
+-->        
     </target>
 
     <target name="jar.features.weblogic"  unless="skip.compile.features.weblogic" >
                 <attribute name="Implementation-Vendor" value="OpenSymphony" />
             </manifest>
         </jar>
+<!--    	
         <jar basedir="${src.weblogic}" jarfile="${build}/${name}-weblogic-${version}-src.jar">
             <manifest>
                 <attribute name="Implementation-Title" value="${fullname} Weblogic Features" />
                 <attribute name="Implementation-Vendor" value="OpenSymphony" />
             </manifest>
         </jar>
+-->        
     </target>
 
     <target name="predist" depends="common.predist">
-
+<!--
     	<copy file="${build}/${name}-jboss-${version}.jar" todir="${dist}"/>
     	<copy file="${build}/${name}-oracle-${version}.jar" todir="${dist}"/>
     	<copy file="${build}/${name}-weblogic-${version}.jar" todir="${dist}"/>
-    	
+-->    	
     </target>
 	
     <target name="predist.zip" depends="common.predist.zip">
 
    	    <subant target="dist" buildpath="${basedir}" antfile="examples/build.xml" inheritall="false" inheritrefs="false" />
 
-    	<copy todir="${dist}">
+    	<mkdir dir="${dist}/examples" />
+    	<copy todir="${dist}/examples">
             <fileset dir="examples/dist"/>
         </copy>
 

File docs/dbTables/tables_cloudscape.sql

+# 
+# Thanks to Srinivas Venkatarangaiah for submitting this file's contents
+#
+# In your Quartz properties file, you'll need to set 
+# org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.CloudscapeDelegate
+#
+# Known to work with Cloudscape 3.6.4 (should work with others)
+#
+
+
+create table qrtz_job_details (
+	job_name varchar(80) not null,
+	job_group varchar(80) not null,
+	description varchar(120) ,
+	job_class_name varchar(128) not null,
+	is_durable varchar(5) not null,
+	is_volatile varchar(5) not null,
+	is_stateful varchar(5) not null,
+	requests_recovery varchar(5) not null,
+	job_data long varbinary,
+primary key (job_name,job_group)
+);
+
+create table qrtz_job_listeners(
+	job_name varchar(80) not null,
+	job_group varchar(80) not null,
+	job_listener varchar(80) not null,
+primary key (job_name,job_group,job_listener),
+foreign key (job_name,job_group) references qrtz_job_details(job_name,job_group)
+);
+
+create table qrtz_triggers(
+	trigger_name varchar(80) not null,
+	trigger_group varchar(80) not null,
+	job_name varchar(80) not null,
+	job_group varchar(80) not null,
+	is_volatile varchar(5) not null,
+	description varchar(120) ,
+	next_fire_time longint,
+	prev_fire_time longint,
+	trigger_state varchar(16) not null,
+	trigger_type varchar(8) not null,
+	start_time longint not null,
+	end_time longint,
+	calendar_name varchar(80),
+	misfire_instr smallint,
+primary key (trigger_name,trigger_group),
+foreign key (job_name,job_group) references qrtz_job_details(job_name,job_group)
+);
+
+create table qrtz_simple_triggers(
+	trigger_name varchar(80) not null,
+	trigger_group varchar(80) not null,
+	repeat_count longint not null,
+	repeat_interval longint not null,
+	times_triggered longint not null,
+primary key (trigger_name,trigger_group),
+foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+);
+
+create table qrtz_cron_triggers(
+	trigger_name varchar(80) not null,
+	trigger_group varchar(80) not null,
+	cron_expression varchar(80) not null,
+	time_zone_id varchar(80),
+primary key (trigger_name,trigger_group),
+foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+);
+
+create table qrtz_blob_triggers(
+	trigger_name varchar(80) not null,
+	trigger_group varchar(80) not null,
+	blob_data long varbinary ,
+primary key (trigger_name,trigger_group),
+foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+);
+
+create table qrtz_trigger_listeners(
+	trigger_name varchar(80) not null,
+	trigger_group varchar(80) not null,
+	trigger_listener varchar(80) not null,
+primary key (trigger_name,trigger_group,trigger_listener),
+foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+);
+
+create table qrtz_calendars(
+	calendar_name varchar(80) not null,
+	calendar long varbinary not null,
+primary key (calendar_name)
+); 
+
+create table qrtz_paused_trigger_grps
+  (
+    trigger_group  varchar(80) not null, 
+primary key (trigger_group)
+);
+
+create table qrtz_fired_triggers(
+	entry_id varchar(95) not null,
+	trigger_name varchar(80) not null,
+	trigger_group varchar(80) not null,
+	is_volatile varchar(5) not null,
+	instance_name varchar(80) not null,
+	fired_time longint not null,
+	state varchar(16) not null,
+	job_name varchar(80) null,
+	job_group varchar(80) null,
+	is_stateful varchar(5) null,
+	requests_recovery varchar(5) null,
+primary key (entry_id)
+);
+
+create table qrtz_scheduler_state 
+  (
+    instance_name varchar(80) not null,
+    last_checkin_time longint not null,
+    checkin_interval longint not null,
+    recoverer varchar(80) null,
+primary key (instance_name)
+);
+
+create table qrtz_locks
+  (
+    lock_name  varchar(40) not null, 
+primary key (lock_name)
+);
+
+insert into qrtz_locks values('TRIGGER_ACCESS');
+insert into qrtz_locks values('JOB_ACCESS');
+insert into qrtz_locks values('CALENDAR_ACCESS');
+insert into qrtz_locks values('STATE_ACCESS');
+insert into qrtz_locks values('MISFIRE_ACCESS');
+

File docs/dbTables/tables_db2.sql

+#
+# Thanks to Horia Muntean for submitting this....
+#
+# .. known to work with DB2 7.1 and the JDBC driver "COM.ibm.db2.jdbc.net.DB2Driver"
+# .. likely to work with others...
+#
+# In your Quartz properties file, you'll need to set 
+# org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
+#
+# If you're using DB2 6.x you'll want to set this property to
+# org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.DB2v6Delegate
+#
+# Note that the blob column size (e.g. blob(2000)) dictates the amount of data that can be stored in 
+# that blob - i.e. limits the amount of data you can put into your JobDataMap 
+#
+
+
+create table qrtz_job_details (
+  job_name varchar(80) not null,
+  job_group varchar(80) not null,
+  description varchar(120) null,
+  job_class_name varchar(128) not null,
+  is_durable varchar(1) not null,
+  is_volatile varchar(1) not null,
+  is_stateful varchar(1) not null,
+  requests_recovery varchar(1) not null,
+  job_data blob(2000),
+    primary key (job_name,job_group)
+)
+
+create table qrtz_job_listeners(
+  job_name varchar(80) not null,
+  job_group varchar(80) not null,
+  job_listener varchar(80) not null,
+    primary key (job_name,job_group,job_listener),
+    foreign key (job_name,job_group) references qrtz_job_details(job_name,job_group)
+)
+
+create table qrtz_triggers(
+  trigger_name varchar(80) not null,
+  trigger_group varchar(80) not null,
+  job_name varchar(80) not null,
+  job_group varchar(80) not null,
+  is_volatile varchar(1) not null,
+  description varchar(120) null,
+  next_fire_time bigint,
+  prev_fire_time bigint,
+  trigger_state varchar(16) not null,
+  trigger_type varchar(8) not null,
+  start_time bigint not null,
+  end_time bigint,
+  calendar_name varchar(80),
+  misfire_instr smallint,
+    primary key (trigger_name,trigger_group),
+    foreign key (job_name,job_group) references qrtz_job_details(job_name,job_group)
+)
+
+create table qrtz_simple_triggers(
+  trigger_name varchar(80) not null,
+  trigger_group varchar(80) not null,
+  repeat_count bigint not null,
+  repeat_interval bigint not null,
+  times_triggered bigint not null,
+    primary key (trigger_name,trigger_group),
+    foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+)
+
+create table qrtz_cron_triggers(
+  trigger_name varchar(80) not null,
+  trigger_group varchar(80) not null,
+  cron_expression varchar(80) not null,
+  time_zone_id varchar(80),
+    primary key (trigger_name,trigger_group),
+    foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+)
+
+create table qrtz_blob_triggers(
+  trigger_name varchar(80) not null,
+  trigger_group varchar(80) not null,
+  blob_data blob(2000) null,
+    primary key (trigger_name,trigger_group),
+    foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+)
+
+create table qrtz_trigger_listeners(
+  trigger_name varchar(80) not null,
+  trigger_group varchar(80) not null,
+  trigger_listener varchar(80) not null,
+    primary key (trigger_name,trigger_group,trigger_listener),
+    foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+)
+
+create table qrtz_calendars(
+  calendar_name varchar(80) not null,
+  calendar blob(2000) not null,
+    primary key (calendar_name)
+)
+
+create table qrtz_fired_triggers(
+  entry_id varchar(95) not null,
+  trigger_name varchar(80) not null,
+  trigger_group varchar(80) not null,
+  is_volatile varchar(1) not null,
+  instance_name varchar(80) not null,
+  fired_time bigint not null,
+  state varchar(16) not null,
+  job_name varchar(80) null,
+  job_group varchar(80) null,
+  is_stateful varchar(1) null,
+  requests_recovery varchar(1) null,
+    primary key (entry_id)
+);
+
+
+create table qrtz_paused_trigger_grps(
+  trigger_group  varchar(80) not null, 
+    primary key (trigger_group)
+);
+
+create table qrtz_scheduler_state (
+  instance_name varchar(80) not null,
+  last_checkin_time bigint not null,
+  checkin_interval bigint not null,
+  recoverer varchar(80) null,
+    primary key (instance_name)
+);
+
+create table qrtz_locks
+  (
+    lock_name  varchar(40) not null, 
+      primary key (lock_name)
+);
+
+insert into qrtz_locks values('TRIGGER_ACCESS');
+insert into qrtz_locks values('JOB_ACCESS');
+insert into qrtz_locks values('CALENDAR_ACCESS');
+insert into qrtz_locks values('STATE_ACCESS');
+insert into qrtz_locks values('MISFIRE_ACCESS');
+

File docs/dbTables/tables_db2_v72.sql

+--
+-- Thanks to Horia Muntean for submitting this, Mikkel Heisterberg for updating it 
+--
+-- .. known to work with DB2 7.2 and the JDBC driver "COM.ibm.db2.jdbc.net.DB2Driver"
+-- .. likely to work with others...
+--
+-- In your Quartz properties file, you'll need to set 
+-- org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.DB2v7Delegate
+--
+-- or
+--
+-- org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
+--
+-- If you're using DB2 6.x you'll want to set this property to
+-- org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.DB2v6Delegate
+--
+-- Note that the blob column size (e.g. blob(2000)) dictates the amount of data that can be stored in 
+-- that blob - i.e. limits the amount of data you can put into your JobDataMap 
+--
+
+DROP TABLE QRTZ_JOB_LISTENERS;
+DROP TABLE QRTZ_TRIGGER_LISTENERS;
+DROP TABLE QRTZ_FIRED_TRIGGERS;
+DROP TABLE QRTZ_PAUSED_TRIGGER_GRPS;
+DROP TABLE QRTZ_SCHEDULER_STATE;
+DROP TABLE QRTZ_LOCKS;
+DROP TABLE QRTZ_SIMPLE_TRIGGERS;
+DROP TABLE QRTZ_CRON_TRIGGERS;
+DROP TABLE QRTZ_TRIGGERS;
+DROP TABLE QRTZ_JOB_DETAILS;
+DROP TABLE QRTZ_CALENDARS;
+DROP TABLE QRTZ_BLOB_TRIGGERS;
+
+create table qrtz_job_details (
+  job_name varchar(80) not null,
+  job_group varchar(80) not null,
+  description varchar(120),
+  job_class_name varchar(128) not null,
+  is_durable varchar(1) not null,
+  is_volatile varchar(1) not null,
+  is_stateful varchar(1) not null,
+  requests_recovery varchar(1) not null,
+  job_data blob(2000),
+    primary key (job_name,job_group)
+);
+
+create table qrtz_job_listeners(
+  job_name varchar(80) not null,
+  job_group varchar(80) not null,
+  job_listener varchar(80) not null,
+    primary key (job_name,job_group,job_listener),
+    foreign key (job_name,job_group) references qrtz_job_details(job_name,job_group)
+);
+
+create table qrtz_triggers(
+  trigger_name varchar(80) not null,
+  trigger_group varchar(80) not null,
+  job_name varchar(80) not null,
+  job_group varchar(80) not null,
+  is_volatile varchar(1) not null,
+  description varchar(120),
+  next_fire_time bigint,
+  prev_fire_time bigint,
+  trigger_state varchar(16) not null,
+  trigger_type varchar(8) not null,
+  start_time bigint not null,
+  end_time bigint,
+  calendar_name varchar(80),
+  misfire_instr smallint,
+    primary key (trigger_name,trigger_group),
+    foreign key (job_name,job_group) references qrtz_job_details(job_name,job_group)
+);
+
+create table qrtz_simple_triggers(
+  trigger_name varchar(80) not null,
+  trigger_group varchar(80) not null,
+  repeat_count bigint not null,
+  repeat_interval bigint not null,
+  times_triggered bigint not null,
+    primary key (trigger_name,trigger_group),
+    foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+);
+
+create table qrtz_cron_triggers(
+  trigger_name varchar(80) not null,
+  trigger_group varchar(80) not null,
+  cron_expression varchar(80) not null,
+  time_zone_id varchar(80),
+    primary key (trigger_name,trigger_group),
+    foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+);
+
+create table qrtz_blob_triggers(
+  trigger_name varchar(80) not null,
+  trigger_group varchar(80) not null,
+  blob_data blob(2000),
+    primary key (trigger_name,trigger_group),
+    foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+);
+
+create table qrtz_trigger_listeners(
+  trigger_name varchar(80) not null,
+  trigger_group varchar(80) not null,
+  trigger_listener varchar(80) not null,
+    primary key (trigger_name,trigger_group,trigger_listener),
+    foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+);
+
+create table qrtz_calendars(
+  calendar_name varchar(80) not null,
+  calendar blob(2000) not null,
+    primary key (calendar_name)
+);
+
+create table qrtz_fired_triggers(
+  entry_id varchar(95) not null,
+  trigger_name varchar(80) not null,
+  trigger_group varchar(80) not null,
+  is_volatile varchar(1) not null,
+  instance_name varchar(80) not null,
+  fired_time bigint not null,
+  state varchar(16) not null,
+  job_name varchar(80),
+  job_group varchar(80),
+  is_stateful varchar(1),
+  requests_recovery varchar(1),
+    primary key (entry_id)
+);
+
+
+create table qrtz_paused_trigger_grps(
+  trigger_group  varchar(80) not null, 
+    primary key (trigger_group)
+);
+
+create table qrtz_scheduler_state (
+  instance_name varchar(80) not null,
+  last_checkin_time bigint not null,
+  checkin_interval bigint not null,
+  recoverer varchar(80),
+    primary key (instance_name)
+);
+
+create table qrtz_locks
+  (
+    lock_name  varchar(40) not null, 
+      primary key (lock_name)
+);
+
+insert into qrtz_locks values('TRIGGER_ACCESS');
+insert into qrtz_locks values('JOB_ACCESS');
+insert into qrtz_locks values('CALENDAR_ACCESS');
+insert into qrtz_locks values('STATE_ACCESS');
+insert into qrtz_locks values('MISFIRE_ACCESS');
+

File docs/dbTables/tables_db2_v8.sql

+#
+# Updated by Claudiu Crisan (claudiu.crisan@schartner.net)
+# SQL scripts for DB2 ver 8.1
+#
+# Changes:
+# - "varchar(1)" replaced with "integer"
+# - "field_name varchar(xxx) not null" replaced with "field_name varchar(xxx)"
+#
+
+
+DROP TABLE QRTZ_JOB_LISTENERS;
+DROP TABLE QRTZ_TRIGGER_LISTENERS;
+DROP TABLE QRTZ_FIRED_TRIGGERS;
+DROP TABLE QRTZ_PAUSED_TRIGGER_GRPS;
+DROP TABLE QRTZ_SCHEDULER_STATE;
+DROP TABLE QRTZ_LOCKS;
+DROP TABLE QRTZ_SIMPLE_TRIGGERS;
+DROP TABLE QRTZ_CRON_TRIGGERS;
+DROP TABLE QRTZ_TRIGGERS;
+DROP TABLE QRTZ_JOB_DETAILS;
+DROP TABLE QRTZ_CALENDARS;
+DROP TABLE QRTZ_BLOB_TRIGGERS;
+
+create table qrtz_job_details(
+job_name varchar(80) not null,
+job_group varchar(80) not null,
+description varchar(120),
+job_class_name varchar(128) not null,
+is_durable integer not null,
+is_volatile integer not null,
+is_stateful integer not null,
+requests_recovery integer not null,
+job_data blob(2000),
+primary key (job_name,job_group)
+);
+
+create table qrtz_job_listeners(
+job_name varchar(80) not null,
+job_group varchar(80) not null,
+job_listener varchar(80) not null,
+primary key (job_name,job_group,job_listener),
+foreign key (job_name,job_group) references qrtz_job_details(job_name,job_group)
+);
+
+create table qrtz_triggers(
+trigger_name varchar(80) not null,
+trigger_group varchar(80) not null,
+job_name varchar(80) not null,
+job_group varchar(80) not null,
+is_volatile integer not null,
+description varchar(120),
+next_fire_time bigint,
+prev_fire_time bigint,
+trigger_state varchar(16) not null,
+trigger_type varchar(8) not null,
+start_time bigint not null,
+end_time bigint,
+calendar_name varchar(80),
+misfire_instr smallint,
+primary key (trigger_name,trigger_group),
+foreign key (job_name,job_group) references qrtz_job_details(job_name,job_group)
+);
+
+create table qrtz_simple_triggers(
+trigger_name varchar(80) not null,
+trigger_group varchar(80) not null,
+repeat_count bigint not null,
+repeat_interval bigint not null,
+times_triggered bigint not null,
+primary key (trigger_name,trigger_group),
+foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+);
+
+create table qrtz_cron_triggers(
+trigger_name varchar(80) not null,
+trigger_group varchar(80) not null,
+cron_expression varchar(80) not null,
+time_zone_id varchar(80),
+primary key (trigger_name,trigger_group),
+foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+);
+
+create table qrtz_blob_triggers(
+trigger_name varchar(80) not null,
+trigger_group varchar(80) not null,
+blob_data blob(2000),
+primary key (trigger_name,trigger_group),
+foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+);
+
+create table qrtz_trigger_listeners(
+trigger_name varchar(80) not null,
+trigger_group varchar(80) not null,
+trigger_listener varchar(80) not null,
+primary key (trigger_name,trigger_group,trigger_listener),
+foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+);
+
+create table qrtz_calendars(
+calendar_name varchar(80) not null,
+calendar blob(2000) not null,
+primary key (calendar_name)
+);
+
+create table qrtz_fired_triggers(
+entry_id varchar(95) not null,
+trigger_name varchar(80) not null,
+trigger_group varchar(80) not null,
+is_volatile integer not null,
+instance_name varchar(80) not null,
+fired_time bigint not null,
+state varchar(16) not null,
+job_name varchar(80),
+job_group varchar(80),
+is_stateful integer,
+requests_recovery integer,
+primary key (entry_id)
+);
+
+create table qrtz_paused_trigger_grps(
+trigger_group varchar(80) not null,
+primary key (trigger_group)
+);
+
+create table qrtz_scheduler_state(
+instance_name varchar(80) not null,
+last_checkin_time bigint not null,
+checkin_interval bigint not null,
+recoverer varchar(80),
+primary key (instance_name)
+);
+
+create table qrtz_locks(
+lock_name varchar(40) not null,
+primary key (lock_name)
+);
+
+insert into qrtz_locks values('TRIGGER_ACCESS');
+insert into qrtz_locks values('JOB_ACCESS');
+insert into qrtz_locks values('CALENDAR_ACCESS');
+insert into qrtz_locks values('STATE_ACCESS');
+insert into qrtz_locks values('MISFIRE_ACCESS'); 

File docs/dbTables/tables_derby.sql

+-- 
+-- Apache Derby scripts by Steve Stewart.
+-- Based on Srinivas Venkatarangaiah's file for Cloudscape
+-- 
+-- In your Quartz properties file, you'll need to set
+-- org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.CloudscapeDelegate
+-- 
+-- Known to work with Apache Derby 10.0.2.1
+-- 
+
+create table qrtz_job_details (
+job_name varchar(80) not null,
+job_group varchar(80) not null,
+description varchar(120) ,
+job_class_name varchar(128) not null,
+is_durable varchar(5) not null,
+is_volatile varchar(5) not null,
+is_stateful varchar(5) not null,
+requests_recovery varchar(5) not null,
+job_data blob,
+primary key (job_name,job_group)
+);
+
+create table qrtz_job_listeners (
+job_name varchar(80) not null,
+job_group varchar(80) not null,
+job_listener varchar(80) not null,
+primary key (job_name,job_group,job_listener),
+foreign key (job_name,job_group) references qrtz_job_details(job_name,job_group)
+);
+
+create table qrtz_triggers (
+trigger_name varchar(80) not null,
+trigger_group varchar(80) not null,
+job_name varchar(80) not null,
+job_group varchar(80) not null,
+is_volatile varchar(5) not null,
+description varchar(120) ,
+next_fire_time bigint,
+prev_fire_time bigint,
+trigger_state varchar(16) not null,
+trigger_type varchar(8) not null,
+start_time bigint not null,
+end_time bigint,
+calendar_name varchar(80),
+misfire_instr smallint,
+primary key (trigger_name,trigger_group),
+foreign key (job_name,job_group) references qrtz_job_details(job_name,job_group)
+);
+
+create table qrtz_simple_triggers (
+trigger_name varchar(80) not null,
+trigger_group varchar(80) not null,
+repeat_count bigint not null,
+repeat_interval bigint not null,
+times_triggered bigint not null,
+primary key (trigger_name,trigger_group),
+foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+);
+
+create table qrtz_cron_triggers (
+trigger_name varchar(80) not null,
+trigger_group varchar(80) not null,
+cron_expression varchar(80) not null,
+time_zone_id varchar(80),
+primary key (trigger_name,trigger_group),
+foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+);
+
+create table qrtz_blob_triggers (
+trigger_name varchar(80) not null,
+trigger_group varchar(80) not null,
+blob_data blob ,
+primary key (trigger_name,trigger_group),
+foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+);
+
+create table qrtz_trigger_listeners (
+trigger_name varchar(80) not null,
+trigger_group varchar(80) not null,
+trigger_listener varchar(80) not null,
+primary key (trigger_name,trigger_group,trigger_listener),
+foreign key (trigger_name,trigger_group) references qrtz_triggers(trigger_name,trigger_group)
+);
+
+create table qrtz_calendars (
+calendar_name varchar(80) not null,
+calendar blob not null,
+primary key (calendar_name)
+);
+
+create table qrtz_paused_trigger_grps (
+trigger_group varchar(80) not null,
+primary key (trigger_group)
+);
+
+create table qrtz_fired_triggers (
+entry_id varchar(95) not null,
+trigger_name varchar(80) not null,
+trigger_group varchar(80) not null,
+is_volatile varchar(5) not null,
+instance_name varchar(80) not null,
+fired_time bigint not null,
+state varchar(16) not null,
+job_name varchar(80),
+job_group varchar(80),
+is_stateful varchar(5),
+requests_recovery varchar(5),
+primary key (entry_id)
+);
+
+create table qrtz_scheduler_state (
+instance_name varchar(80) not null,
+last_checkin_time bigint not null,
+checkin_interval bigint not null,
+recoverer varchar(80),
+primary key (instance_name)
+);
+
+create table qrtz_locks (
+lock_name varchar(40) not null,
+primary key (lock_name)
+);
+
+insert into qrtz_locks values('TRIGGER_ACCESS');
+insert into qrtz_locks values('JOB_ACCESS');
+insert into qrtz_locks values('CALENDAR_ACCESS');
+insert into qrtz_locks values('STATE_ACCESS');
+insert into qrtz_locks values('MISFIRE_ACCESS');
+
+commit;

File docs/dbTables/tables_firebird.sql

+
+--
+-- Thanks to Leonardo Alves
+--
+
+
+DROP TABLE QRTZ_JOB_LISTENERS;
+DROP TABLE QRTZ_TRIGGER_LISTENERS;
+DROP TABLE QRTZ_FIRED_TRIGGERS;
+DROP TABLE QRTZ_PAUSED_TRIGGER_GRPS;
+DROP TABLE QRTZ_SCHEDULER_STATE;
+DROP TABLE QRTZ_LOCKS;
+DROP TABLE QRTZ_SIMPLE_TRIGGERS;
+DROP TABLE QRTZ_CRON_TRIGGERS;
+DROP TABLE QRTZ_BLOB_TRIGGERS;
+DROP TABLE QRTZ_TRIGGERS;
+DROP TABLE QRTZ_JOB_DETAILS;
+DROP TABLE QRTZ_CALENDARS;
+
+
+CREATE TABLE QRTZ_JOB_DETAILS (
+    JOB_NAME  VARCHAR(60) NOT NULL,
+    JOB_GROUP VARCHAR(60) NOT NULL,
+    DESCRIPTION VARCHAR(120),
+    JOB_CLASS_NAME   VARCHAR(128) NOT NULL, 
+    IS_DURABLE VARCHAR(1) NOT NULL,
+    IS_VOLATILE VARCHAR(1) NOT NULL,
+    IS_STATEFUL VARCHAR(1) NOT NULL,
+    REQUESTS_RECOVERY VARCHAR(1) NOT NULL,
+    JOB_DATA BLOB,
+    CONSTRAINT PK_QRTZ_JOB_DETAILS PRIMARY KEY (JOB_NAME,JOB_GROUP)
+);
+
+CREATE TABLE QRTZ_JOB_LISTENERS (
+    JOB_NAME  VARCHAR(60) NOT NULL, 
+    JOB_GROUP VARCHAR(60) NOT NULL,
+    JOB_LISTENER VARCHAR(60) NOT NULL,
+    CONSTRAINT PK_QRTZ_JOB_LST PRIMARY KEY (JOB_NAME,JOB_GROUP,JOB_LISTENER),
+    CONSTRAINT FK_QRTZ_JOB_LST_1 FOREIGN KEY (JOB_NAME,JOB_GROUP)
+    REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP) 
+);
+
+CREATE TABLE QRTZ_TRIGGERS (
+    TRIGGER_NAME VARCHAR(60) NOT NULL,
+    TRIGGER_GROUP VARCHAR(60) NOT NULL,
+    JOB_NAME  VARCHAR(60) NOT NULL, 
+    JOB_GROUP VARCHAR(60) NOT NULL,
+    IS_VOLATILE VARCHAR(1) NOT NULL,
+    DESCRIPTION VARCHAR(120),
+    NEXT_FIRE_TIME BIGINT,
+    PREV_FIRE_TIME BIGINT,
+    TRIGGER_STATE VARCHAR(16) NOT NULL,
+    TRIGGER_TYPE VARCHAR(8) NOT NULL,
+    START_TIME BIGINT NOT NULL,
+    END_TIME BIGINT,
+    CALENDAR_NAME VARCHAR(60),
+    MISFIRE_INSTR SMALLINT,
+    CONSTRAINT PK_QRTZ_TRIGGERS PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+    CONSTRAINT FK_QRTZ_TRIGGERS_1 FOREIGN KEY (JOB_NAME,JOB_GROUP) 
+    REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP) 
+);
+
+CREATE TABLE QRTZ_SIMPLE_TRIGGERS (
+    TRIGGER_NAME VARCHAR(60) NOT NULL,
+    TRIGGER_GROUP VARCHAR(60) NOT NULL,
+    REPEAT_COUNT BIGINT NOT NULL,
+    REPEAT_INTERVAL BIGINT NOT NULL,
+    TIMES_TRIGGERED BIGINT NOT NULL,
+    CONSTRAINT PK_QRTZ_SIMPLE_TRIGGERS PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+    CONSTRAINT FK_QRTZ_SIMPLE_TRIGGERS_1 FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP) 
+    REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE QRTZ_CRON_TRIGGERS (
+    TRIGGER_NAME VARCHAR(60) NOT NULL,
+    TRIGGER_GROUP VARCHAR(60) NOT NULL,
+    CRON_EXPRESSION VARCHAR(60) NOT NULL,
+    TIME_ZONE_ID VARCHAR(60),
+    CONSTRAINT PK_QRTZ_SIMPLE_TRG PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+    CONSTRAINT FK_QRTZ_SIMPLE_TRG_1 FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+    REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE QRTZ_BLOB_TRIGGERS (
+    TRIGGER_NAME VARCHAR(60) NOT NULL,
+    TRIGGER_GROUP VARCHAR(60) NOT NULL,
+    BLOB_DATA BLOB,
+    CONSTRAINT PK_QRTZ_BLOB_TRIGGERS PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+    CONSTRAINT FK_QRTZ_BLOB_TRIGGERS_1 FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP) 
+        REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE QRTZ_TRIGGER_LISTENERS (
+    TRIGGER_NAME  VARCHAR(60) NOT NULL, 
+    TRIGGER_GROUP VARCHAR(60) NOT NULL,
+    TRIGGER_LISTENER VARCHAR(60) NOT NULL,
+    CONSTRAINT PK_QRTZ_TRIGGER_LST PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_LISTENER),
+    CONSTRAINT FK_QRTZ_TRIGGER_LST_1 FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+    REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE QRTZ_CALENDARS (
+    CALENDAR_NAME  VARCHAR(60) NOT NULL, 
+    CALENDAR BLOB NOT NULL,
+    CONSTRAINT PK_QRTZ_CALENDARS PRIMARY KEY (CALENDAR_NAME)
+);
+
+CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS (
+    TRIGGER_GROUP  VARCHAR(60) NOT NULL, 
+    CONSTRAINT PK_QRTZ_PAUSED_TRIGGER_GRPS PRIMARY KEY (TRIGGER_GROUP)
+);
+
+CREATE TABLE QRTZ_FIRED_TRIGGERS (
+    ENTRY_ID VARCHAR(95) NOT NULL,
+    TRIGGER_NAME VARCHAR(60) NOT NULL,
+    TRIGGER_GROUP VARCHAR(60) NOT NULL,
+    IS_VOLATILE VARCHAR(1) NOT NULL,
+    INSTANCE_NAME VARCHAR(60) NOT NULL,
+    FIRED_TIME BIGINT NOT NULL,
+    STATE VARCHAR(16) NOT NULL,
+    JOB_NAME VARCHAR(60),
+    JOB_GROUP VARCHAR(60),
+    IS_STATEFUL VARCHAR(1),
+    REQUESTS_RECOVERY VARCHAR(1),
+    CONSTRAINT PK_QRTZ_FIRED_TRIGGERS PRIMARY KEY (ENTRY_ID)
+);
+
+CREATE TABLE QRTZ_SCHEDULER_STATE (
+    INSTANCE_NAME VARCHAR(60) NOT NULL,
+    LAST_CHECKIN_TIME BIGINT NOT NULL,
+    CHECKIN_INTERVAL BIGINT NOT NULL,
+    RECOVERER VARCHAR(60),
+    CONSTRAINT PK_QRTZ_SCHEDULER_STATE PRIMARY KEY (INSTANCE_NAME)
+);
+
+CREATE TABLE QRTZ_LOCKS (
+    LOCK_NAME  VARCHAR(40) NOT NULL, 
+    CONSTRAINT PK_QRTZ_LOCKS PRIMARY KEY (LOCK_NAME)
+);
+
+INSERT INTO QRTZ_LOCKS VALUES('TRIGGER_ACCESS');
+INSERT INTO QRTZ_LOCKS VALUES('JOB_ACCESS');
+INSERT INTO QRTZ_LOCKS VALUES('CALENDAR_ACCESS');
+INSERT INTO QRTZ_LOCKS VALUES('STATE_ACCESS');
+INSERT INTO QRTZ_LOCKS VALUES('MISFIRE_ACCESS');
+
+COMMIT;

File docs/dbTables/tables_hsqldb.sql

+#
+# In your Quartz properties file, you'll need to set 
+# org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.HSQLDBDelegate
+#
+
+ DROP TABLE qrtz_locks IF EXISTS;
+DROP TABLE qrtz_scheduler_state IF EXISTS;
+DROP TABLE qrtz_fired_triggers IF EXISTS;
+DROP TABLE qrtz_paused_trigger_grps IF EXISTS;
+DROP TABLE qrtz_calendars IF EXISTS;
+DROP TABLE qrtz_trigger_listeners IF EXISTS;
+DROP TABLE qrtz_blob_triggers IF EXISTS;
+DROP TABLE qrtz_cron_triggers IF EXISTS;
+DROP TABLE qrtz_simple_triggers IF EXISTS;
+DROP TABLE qrtz_triggers IF EXISTS;
+DROP TABLE qrtz_job_listeners IF EXISTS;
+DROP TABLE qrtz_job_details IF EXISTS;
+
+CREATE TABLE qrtz_job_details
+(
+JOB_NAME VARCHAR(80) NOT NULL,
+JOB_GROUP VARCHAR(80) NOT NULL,
+DESCRIPTION VARCHAR(120) NULL,
+JOB_CLASS_NAME VARCHAR(128) NOT NULL,
+IS_DURABLE VARCHAR(1) NOT NULL,
+IS_VOLATILE VARCHAR(1) NOT NULL,
+IS_STATEFUL VARCHAR(1) NOT NULL,
+REQUESTS_RECOVERY VARCHAR(1) NOT NULL,
+JOB_DATA BINARY NULL,
+PRIMARY KEY (JOB_NAME,JOB_GROUP)
+);
+
+CREATE TABLE qrtz_job_listeners
+(
+JOB_NAME VARCHAR(80) NOT NULL,
+JOB_GROUP VARCHAR(80) NOT NULL,
+JOB_LISTENER VARCHAR(80) NOT NULL,
+PRIMARY KEY (JOB_NAME,JOB_GROUP,JOB_LISTENER),
+FOREIGN KEY (JOB_NAME,JOB_GROUP)
+REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP)
+);
+
+CREATE TABLE qrtz_triggers
+(
+TRIGGER_NAME VARCHAR(80) NOT NULL,
+TRIGGER_GROUP VARCHAR(80) NOT NULL,
+JOB_NAME VARCHAR(80) NOT NULL,
+JOB_GROUP VARCHAR(80) NOT NULL,
+IS_VOLATILE VARCHAR(1) NOT NULL,
+DESCRIPTION VARCHAR(120) NULL,
+NEXT_FIRE_TIME NUMERIC(13) NULL,
+PREV_FIRE_TIME NUMERIC(13) NULL,
+TRIGGER_STATE VARCHAR(16) NOT NULL,
+TRIGGER_TYPE VARCHAR(8) NOT NULL,
+START_TIME NUMERIC(13) NOT NULL,
+END_TIME NUMERIC(13) NULL,
+CALENDAR_NAME VARCHAR(80) NULL,
+MISFIRE_INSTR NUMERIC(2) NULL,
+PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+FOREIGN KEY (JOB_NAME,JOB_GROUP)
+REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP)
+);
+
+CREATE TABLE qrtz_simple_triggers
+(
+TRIGGER_NAME VARCHAR(80) NOT NULL,
+TRIGGER_GROUP VARCHAR(80) NOT NULL,
+REPEAT_COUNT NUMERIC(7) NOT NULL,
+REPEAT_INTERVAL NUMERIC(12) NOT NULL,
+TIMES_TRIGGERED NUMERIC(7) NOT NULL,
+PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_cron_triggers
+(
+TRIGGER_NAME VARCHAR(80) NOT NULL,
+TRIGGER_GROUP VARCHAR(80) NOT NULL,
+CRON_EXPRESSION VARCHAR(80) NOT NULL,
+TIME_ZONE_ID VARCHAR(80),
+PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_blob_triggers
+(
+TRIGGER_NAME VARCHAR(80) NOT NULL,
+TRIGGER_GROUP VARCHAR(80) NOT NULL,
+BLOB_DATA BINARY NULL,
+PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_trigger_listeners
+(
+TRIGGER_NAME VARCHAR(80) NOT NULL,
+TRIGGER_GROUP VARCHAR(80) NOT NULL,
+TRIGGER_LISTENER VARCHAR(80) NOT NULL,
+PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_LISTENER),
+FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_calendars
+(
+CALENDAR_NAME VARCHAR(80) NOT NULL,
+CALENDAR BINARY NOT NULL,
+PRIMARY KEY (CALENDAR_NAME)
+);
+
+CREATE TABLE qrtz_paused_trigger_grps
+(
+TRIGGER_GROUP VARCHAR(80) NOT NULL,
+PRIMARY KEY (TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_fired_triggers
+(
+ENTRY_ID VARCHAR(95) NOT NULL,
+TRIGGER_NAME VARCHAR(80) NOT NULL,
+TRIGGER_GROUP VARCHAR(80) NOT NULL,
+IS_VOLATILE VARCHAR(1) NOT NULL,
+INSTANCE_NAME VARCHAR(80) NOT NULL,
+FIRED_TIME NUMERIC(13) NOT NULL,
+STATE VARCHAR(16) NOT NULL,
+JOB_NAME VARCHAR(80) NULL,
+JOB_GROUP VARCHAR(80) NULL,
+IS_STATEFUL VARCHAR(1) NULL,
+REQUESTS_RECOVERY VARCHAR(1) NULL,
+PRIMARY KEY (ENTRY_ID)
+);
+
+CREATE TABLE qrtz_scheduler_state
+(
+INSTANCE_NAME VARCHAR(80) NOT NULL,
+LAST_CHECKIN_TIME NUMERIC(13) NOT NULL,
+CHECKIN_INTERVAL NUMERIC(13) NOT NULL,
+RECOVERER VARCHAR(80) NULL,
+PRIMARY KEY (INSTANCE_NAME)
+);
+
+CREATE TABLE qrtz_locks
+(
+LOCK_NAME VARCHAR(40) NOT NULL,
+PRIMARY KEY (LOCK_NAME)
+);
+
+INSERT INTO qrtz_locks values('TRIGGER_ACCESS');
+INSERT INTO qrtz_locks values('JOB_ACCESS');
+INSERT INTO qrtz_locks values('CALENDAR_ACCESS');
+INSERT INTO qrtz_locks values('STATE_ACCESS');
+INSERT INTO qrtz_locks values('MISFIRE_ACCESS');

File docs/dbTables/tables_hsqldb_old.sql

+# 
+# Thanks to  Joseph Wilkicki for submitting this file's contents
+#
+# In your Quartz properties file, you'll need to set 
+# org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.HSQLDBDelegate
+#
+# Some users report the need to change the fields
+# with datatype "OTHER" to datatype "BINARY" with
+# particular versions (e.g. 1.7.1) of HSQLDB
+#
+
+CREATE TABLE qrtz_job_details
+(
+JOB_NAME LONGVARCHAR(80) NOT NULL,
+JOB_GROUP LONGVARCHAR(80) NOT NULL,
+DESCRIPTION LONGVARCHAR(120) NULL,
+JOB_CLASS_NAME LONGVARCHAR(128) NOT NULL,
+IS_DURABLE LONGVARCHAR(1) NOT NULL,
+IS_VOLATILE LONGVARCHAR(1) NOT NULL,
+IS_STATEFUL LONGVARCHAR(1) NOT NULL,
+REQUESTS_RECOVERY LONGVARCHAR(1) NOT NULL,
+JOB_DATA OTHER NULL,
+PRIMARY KEY (JOB_NAME,JOB_GROUP)
+);
+
+CREATE TABLE qrtz_job_listeners
+(
+JOB_NAME LONGVARCHAR(80) NOT NULL,
+JOB_GROUP LONGVARCHAR(80) NOT NULL,
+JOB_LISTENER LONGVARCHAR(80) NOT NULL,
+PRIMARY KEY (JOB_NAME,JOB_GROUP,JOB_LISTENER),
+FOREIGN KEY (JOB_NAME,JOB_GROUP)
+REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP)
+);
+
+CREATE TABLE qrtz_triggers
+(
+TRIGGER_NAME LONGVARCHAR(80) NOT NULL,
+TRIGGER_GROUP LONGVARCHAR(80) NOT NULL,
+JOB_NAME LONGVARCHAR(80) NOT NULL,
+JOB_GROUP LONGVARCHAR(80) NOT NULL,
+IS_VOLATILE LONGVARCHAR(1) NOT NULL,
+DESCRIPTION LONGVARCHAR(120) NULL,
+NEXT_FIRE_TIME NUMERIC(13) NULL,
+PREV_FIRE_TIME NUMERIC(13) NULL,
+TRIGGER_STATE LONGVARCHAR(16) NOT NULL,
+TRIGGER_TYPE LONGVARCHAR(8) NOT NULL,
+START_TIME NUMERIC(13) NOT NULL,
+END_TIME NUMERIC(13) NULL,
+CALENDAR_NAME LONGVARCHAR(80) NULL,
+MISFIRE_INSTR NUMERIC(2) NULL,
+PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+FOREIGN KEY (JOB_NAME,JOB_GROUP)
+REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP)
+);
+
+CREATE TABLE qrtz_simple_triggers
+(
+TRIGGER_NAME LONGVARCHAR(80) NOT NULL,
+TRIGGER_GROUP LONGVARCHAR(80) NOT NULL,
+REPEAT_COUNT NUMERIC(7) NOT NULL,
+REPEAT_INTERVAL NUMERIC(12) NOT NULL,
+TIMES_TRIGGERED NUMERIC(7) NOT NULL,
+PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_cron_triggers
+(
+TRIGGER_NAME LONGVARCHAR(80) NOT NULL,
+TRIGGER_GROUP LONGVARCHAR(80) NOT NULL,
+CRON_EXPRESSION LONGVARCHAR(80) NOT NULL,
+TIME_ZONE_ID LONGVARCHAR(80),
+PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_blob_triggers
+(
+TRIGGER_NAME LONGVARCHAR(80) NOT NULL,
+TRIGGER_GROUP LONGVARCHAR(80) NOT NULL,
+BLOB_DATA OTHER NULL,
+PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_trigger_listeners
+(
+TRIGGER_NAME LONGVARCHAR(80) NOT NULL,
+TRIGGER_GROUP LONGVARCHAR(80) NOT NULL,
+TRIGGER_LISTENER LONGVARCHAR(80) NOT NULL,
+PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_LISTENER),
+FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_calendars
+(
+CALENDAR_NAME LONGVARCHAR(80) NOT NULL,
+CALENDAR OTHER NOT NULL,
+PRIMARY KEY (CALENDAR_NAME)
+); 
+
+CREATE TABLE qrtz_paused_trigger_grps
+  (
+    TRIGGER_GROUP  LONGVARCHAR(80) NOT NULL, 
+    PRIMARY KEY (TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_fired_triggers 
+  (
+    ENTRY_ID LONGVARCHAR(95) NOT NULL,
+    TRIGGER_NAME LONGVARCHAR(80) NOT NULL,
+    TRIGGER_GROUP LONGVARCHAR(80) NOT NULL,
+    IS_VOLATILE LONGVARCHAR(1) NOT NULL,
+    INSTANCE_NAME LONGVARCHAR(80) NOT NULL,
+    FIRED_TIME NUMERIC(13) NOT NULL,
+    STATE LONGVARCHAR(16) NOT NULL,
+    JOB_NAME LONGVARCHAR(80) NULL,
+    JOB_GROUP LONGVARCHAR(80) NULL,
+    IS_STATEFUL LONGVARCHAR(1) NULL,
+    REQUESTS_RECOVERY LONGVARCHAR(1) NULL,
+    PRIMARY KEY (ENTRY_ID)
+);
+
+CREATE TABLE qrtz_scheduler_state 
+  (
+    INSTANCE_NAME LONGVARCHAR(80) NOT NULL,
+    LAST_CHECKIN_TIME NUMERIC(13) NOT NULL,
+    CHECKIN_INTERVAL NUMERIC(13) NOT NULL,
+    RECOVERER LONGVARCHAR(80) NULL,
+    PRIMARY KEY (INSTANCE_NAME)
+);
+
+CREATE TABLE qrtz_locks
+  (
+    LOCK_NAME  LONGVARCHAR(40) NOT NULL, 
+    PRIMARY KEY (LOCK_NAME)
+);
+
+
+INSERT INTO qrtz_locks values('TRIGGER_ACCESS');
+INSERT INTO qrtz_locks values('JOB_ACCESS');
+INSERT INTO qrtz_locks values('CALENDAR_ACCESS');
+INSERT INTO qrtz_locks values('STATE_ACCESS');
+INSERT INTO qrtz_locks values('MISFIRE_ACCESS');
+
+commit;

File docs/dbTables/tables_informix.sql

+##
+## Thanks to Keith Chew for submitting this.
+##
+## use the StdJDBCDelegate with Informix.
+##
+## note that Informix has a 18 cahracter limit on the table name, so the prefix had to be shortened to "q" instread of "qrtz_"
+
+CREATE TABLE qblob_triggers (
+TRIGGER_NAME varchar(80) NOT NULL,
+TRIGGER_GROUP varchar(80) NOT NULL,
+BLOB_DATA byte in table
+);
+
+
+ALTER TABLE qblob_triggers
+ADD CONSTRAINT PRIMARY KEY (TRIGGER_NAME, TRIGGER_GROUP);
+
+
+CREATE TABLE qcalendars (
+CALENDAR_NAME varchar(80) NOT NULL,
+CALENDAR byte in table NOT NULL
+);
+
+
+ALTER TABLE qcalendars
+ADD CONSTRAINT PRIMARY KEY (CALENDAR_NAME);
+
+
+CREATE TABLE qcron_triggers (
+TRIGGER_NAME varchar(80) NOT NULL,
+TRIGGER_GROUP varchar(80) NOT NULL,
+CRON_EXPRESSION varchar(80) NOT NULL,
+TIME_ZONE_ID varchar(80)
+);
+
+
+ALTER TABLE qcron_triggers
+ADD CONSTRAINT PRIMARY KEY (TRIGGER_NAME, TRIGGER_GROUP);
+
+
+CREATE TABLE qfired_triggers (
+ENTRY_ID varchar(95) NOT NULL,
+TRIGGER_NAME varchar(80) NOT NULL,
+TRIGGER_GROUP varchar(80) NOT NULL,
+IS_VOLATILE varchar(1) NOT NULL,
+INSTANCE_NAME varchar(80) NOT NULL,
+FIRED_TIME numeric(13) NOT NULL,
+STATE varchar(16) NOT NULL,
+JOB_NAME varchar(80),
+JOB_GROUP varchar(80),
+IS_STATEFUL varchar(1),
+REQUESTS_RECOVERY varchar(1) 
+);
+
+
+ALTER TABLE qfired_triggers
+ADD CONSTRAINT PRIMARY KEY (ENTRY_ID);
+
+
+CREATE TABLE qpaused_trigger_grps (
+TRIGGER_GROUP  VARCHAR2(80) NOT NULL, 
+);
+
+ALTER TABLE qpaused_trigger_grps
+ADD CONSTRAINT PRIMARY KEY (TRIGGER_GROUP);
+
+
+CREATE TABLE qscheduler_state (
+INSTANCE_NAME varchar(80) NOT NULL,
+LAST_CHECKIN_TIME numeric(13) NOT NULL,
+CHECKIN_INTERVAL numeric(13) NOT NULL,
+RECOVERER varchar(80)
+);
+
+ALTER TABLE qscheduler_state
+ADD CONSTRAINT PRIMARY KEY (INSTANCE_NAME);
+
+
+CREATE TABLE qlocks (
+LOCK_NAME  varchar(40) NOT NULL, 
+);
+
+ALTER TABLE qlocks
+ADD CONSTRAINT PRIMARY KEY (LOCK_NAME);
+
+INSERT INTO qlocks values('TRIGGER_ACCESS');
+INSERT INTO qlocks values('JOB_ACCESS');
+INSERT INTO qlocks values('CALENDAR_ACCESS');
+INSERT INTO qlocks values('STATE_ACCESS');
+
+
+
+CREATE TABLE qjob_details (
+JOB_NAME varchar(80) NOT NULL,
+JOB_GROUP varchar(80) NOT NULL,
+DESCRIPTION varchar(120),
+JOB_CLASS_NAME varchar(128) NOT NULL,
+IS_DURABLE varchar(1) NOT NULL,
+IS_VOLATILE varchar(1) NOT NULL,
+IS_STATEFUL varchar(1) NOT NULL,
+REQUESTS_RECOVERY varchar(1) NOT NULL,
+JOB_DATA byte in table
+);
+
+
+ALTER TABLE qjob_details
+ADD CONSTRAINT PRIMARY KEY (JOB_NAME, JOB_GROUP);
+
+
+CREATE TABLE qjob_listeners (
+JOB_NAME varchar(80) NOT NULL,
+JOB_GROUP varchar(80) NOT NULL,
+JOB_LISTENER varchar(80) NOT NULL
+);
+
+
+ALTER TABLE qjob_listeners
+ADD CONSTRAINT PRIMARY KEY (JOB_NAME, JOB_GROUP, JOB_LISTENER);
+
+
+CREATE TABLE qsimple_triggers (
+TRIGGER_NAME varchar(80) NOT NULL,
+TRIGGER_GROUP varchar(80) NOT NULL,
+REPEAT_COUNT numeric(7) NOT NULL,
+REPEAT_INTERVAL numeric(12) NOT NULL,
+TIMES_TRIGGERED numeric(7) NOT NULL
+);
+
+
+ALTER TABLE qsimple_triggers
+ADD CONSTRAINT PRIMARY KEY (TRIGGER_NAME, TRIGGER_GROUP);
+
+
+CREATE TABLE qtrigger_listeners (
+TRIGGER_NAME varchar(80) NOT NULL,
+TRIGGER_GROUP varchar(80) NOT NULL,
+TRIGGER_LISTENER varchar(80) NOT NULL
+);
+
+
+ALTER TABLE qtrigger_listeners
+ADD CONSTRAINT PRIMARY KEY (TRIGGER_NAME, TRIGGER_GROUP,
+TRIGGER_LISTENER);
+
+
+CREATE TABLE qtriggers (
+TRIGGER_NAME varchar(80) NOT NULL,
+TRIGGER_GROUP varchar(80) NOT NULL,
+JOB_NAME varchar(80) NOT NULL,
+JOB_GROUP varchar(80) NOT NULL,
+IS_VOLATILE varchar(1) NOT NULL,
+DESCRIPTION varchar(120),
+NEXT_FIRE_TIME numeric(13),
+PREV_FIRE_TIME numeric(13),
+TRIGGER_STATE varchar(16) NOT NULL,
+TRIGGER_TYPE varchar(8) NOT NULL,
+START_TIME numeric(13) NOT NULL,
+END_TIME numeric(13),
+CALENDAR_NAME varchar(80),
+MISFIRE_INSTR numeric(2)
+);
+
+
+ALTER TABLE qtriggers
+ADD CONSTRAINT PRIMARY KEY (TRIGGER_NAME, TRIGGER_GROUP);
+
+
+ALTER TABLE qblob_triggers
+ADD CONSTRAINT FOREIGN KEY (TRIGGER_NAME, TRIGGER_GROUP)
+REFERENCES qtriggers;
+
+
+ALTER TABLE qcron_triggers
+ADD CONSTRAINT FOREIGN KEY (TRIGGER_NAME, TRIGGER_GROUP)
+REFERENCES qtriggers;
+
+
+ALTER TABLE qjob_listeners
+ADD CONSTRAINT FOREIGN KEY (JOB_NAME, JOB_GROUP)
+REFERENCES qjob_details;
+
+
+ALTER TABLE qsimple_triggers
+ADD CONSTRAINT FOREIGN KEY (TRIGGER_NAME, TRIGGER_GROUP)
+REFERENCES qtriggers;
+
+
+ALTER TABLE qtrigger_listeners
+ADD CONSTRAINT FOREIGN KEY (TRIGGER_NAME, TRIGGER_GROUP)
+REFERENCES qtriggers;
+
+
+ALTER TABLE qtriggers
+ADD CONSTRAINT FOREIGN KEY (JOB_NAME, JOB_GROUP)
+REFERENCES qjob_details; 

File docs/dbTables/tables_mysql.sql

+#
+# Quartz seems to work best with the driver mm.mysql-2.0.7-bin.jar
+#
+# In your Quartz properties file, you'll need to set 
+# org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
+#
+
+DROP TABLE IF EXISTS QRTZ_JOB_LISTENERS;
+DROP TABLE IF EXISTS QRTZ_TRIGGER_LISTENERS;
+DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS;
+DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE;
+DROP TABLE IF EXISTS QRTZ_LOCKS;
+DROP TABLE IF EXISTS QRTZ_SIMPLE_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_CRON_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_BLOB_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_JOB_DETAILS;
+DROP TABLE IF EXISTS QRTZ_CALENDARS;
+
+
+CREATE TABLE QRTZ_JOB_DETAILS
+  (
+    JOB_NAME  VARCHAR(80) NOT NULL,
+    JOB_GROUP VARCHAR(80) NOT NULL,
+    DESCRIPTION VARCHAR(120) NULL,
+    JOB_CLASS_NAME   VARCHAR(128) NOT NULL,
+    IS_DURABLE VARCHAR(1) NOT NULL,
+    IS_VOLATILE VARCHAR(1) NOT NULL,
+    IS_STATEFUL VARCHAR(1) NOT NULL,
+    REQUESTS_RECOVERY VARCHAR(1) NOT NULL,
+    JOB_DATA BLOB NULL,
+    PRIMARY KEY (JOB_NAME,JOB_GROUP)
+);
+
+CREATE TABLE QRTZ_JOB_LISTENERS
+  (
+    JOB_NAME  VARCHAR(80) NOT NULL,
+    JOB_GROUP VARCHAR(80) NOT NULL,
+    JOB_LISTENER VARCHAR(80) NOT NULL,
+    PRIMARY KEY (JOB_NAME,JOB_GROUP,JOB_LISTENER),
+    FOREIGN KEY (JOB_NAME,JOB_GROUP)
+        REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP)
+);
+
+CREATE TABLE QRTZ_TRIGGERS
+  (
+    TRIGGER_NAME VARCHAR(80) NOT NULL,
+    TRIGGER_GROUP VARCHAR(80) NOT NULL,
+    JOB_NAME  VARCHAR(80) NOT NULL,
+    JOB_GROUP VARCHAR(80) NOT NULL,
+    IS_VOLATILE VARCHAR(1) NOT NULL,
+    DESCRIPTION VARCHAR(120) NULL,
+    NEXT_FIRE_TIME BIGINT(13) NULL,
+    PREV_FIRE_TIME BIGINT(13) NULL,
+    TRIGGER_STATE VARCHAR(16) NOT NULL,
+    TRIGGER_TYPE VARCHAR(8) NOT NULL,
+    START_TIME BIGINT(13) NOT NULL,
+    END_TIME BIGINT(13) NULL,
+    CALENDAR_NAME VARCHAR(80) NULL,
+    MISFIRE_INSTR SMALLINT(2) NULL,
+    PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+    FOREIGN KEY (JOB_NAME,JOB_GROUP)
+        REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP)
+);
+
+CREATE TABLE QRTZ_SIMPLE_TRIGGERS
+  (
+    TRIGGER_NAME VARCHAR(80) NOT NULL,
+    TRIGGER_GROUP VARCHAR(80) NOT NULL,
+    REPEAT_COUNT BIGINT(7) NOT NULL,
+    REPEAT_INTERVAL BIGINT(12) NOT NULL,
+    TIMES_TRIGGERED BIGINT(7) NOT NULL,
+    PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+    FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+        REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE QRTZ_CRON_TRIGGERS
+  (
+    TRIGGER_NAME VARCHAR(80) NOT NULL,
+    TRIGGER_GROUP VARCHAR(80) NOT NULL,
+    CRON_EXPRESSION VARCHAR(80) NOT NULL,
+    TIME_ZONE_ID VARCHAR(80),
+    PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+    FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+        REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE QRTZ_BLOB_TRIGGERS
+  (
+    TRIGGER_NAME VARCHAR(80) NOT NULL,
+    TRIGGER_GROUP VARCHAR(80) NOT NULL,
+    BLOB_DATA BLOB NULL,
+    PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+    FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+        REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE QRTZ_TRIGGER_LISTENERS
+  (
+    TRIGGER_NAME  VARCHAR(80) NOT NULL,
+    TRIGGER_GROUP VARCHAR(80) NOT NULL,
+    TRIGGER_LISTENER VARCHAR(80) NOT NULL,
+    PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_LISTENER),
+    FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+        REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+
+CREATE TABLE QRTZ_CALENDARS
+  (
+    CALENDAR_NAME  VARCHAR(80) NOT NULL,
+    CALENDAR BLOB NOT NULL,
+    PRIMARY KEY (CALENDAR_NAME)
+);
+
+
+
+CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS
+  (
+    TRIGGER_GROUP  VARCHAR(80) NOT NULL, 
+    PRIMARY KEY (TRIGGER_GROUP)
+);
+
+CREATE TABLE QRTZ_FIRED_TRIGGERS
+  (
+    ENTRY_ID VARCHAR(95) NOT NULL,
+    TRIGGER_NAME VARCHAR(80) NOT NULL,
+    TRIGGER_GROUP VARCHAR(80) NOT NULL,
+    IS_VOLATILE VARCHAR(1) NOT NULL,
+    INSTANCE_NAME VARCHAR(80) NOT NULL,
+    FIRED_TIME BIGINT(13) NOT NULL,
+    STATE VARCHAR(16) NOT NULL,
+    JOB_NAME VARCHAR(80) NULL,
+    JOB_GROUP VARCHAR(80) NULL,
+    IS_STATEFUL VARCHAR(1) NULL,
+    REQUESTS_RECOVERY VARCHAR(1) NULL,
+    PRIMARY KEY (ENTRY_ID)
+);
+
+CREATE TABLE QRTZ_SCHEDULER_STATE
+  (
+    INSTANCE_NAME VARCHAR(80) NOT NULL,
+    LAST_CHECKIN_TIME BIGINT(13) NOT NULL,
+    CHECKIN_INTERVAL BIGINT(13) NOT NULL,
+    RECOVERER VARCHAR(80) NULL,
+    PRIMARY KEY (INSTANCE_NAME)
+);
+
+CREATE TABLE QRTZ_LOCKS
+  (
+    LOCK_NAME  VARCHAR(40) NOT NULL, 
+    PRIMARY KEY (LOCK_NAME)
+);
+
+
+INSERT INTO QRTZ_LOCKS values('TRIGGER_ACCESS');
+INSERT INTO QRTZ_LOCKS values('JOB_ACCESS');
+INSERT INTO QRTZ_LOCKS values('CALENDAR_ACCESS');
+INSERT INTO QRTZ_LOCKS values('STATE_ACCESS');
+INSERT INTO QRTZ_LOCKS values('MISFIRE_ACCESS');
+
+
+commit;

File docs/dbTables/tables_mysql_innodb.sql

+#
+# In your Quartz properties file, you'll need to set 
+# org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
+#
+#
+# By: Ron Cordell - roncordell
+#  I didn't see this anywhere, so I thought I'd post it here. This is the script from Quartz to create the tables in a MySQL database, modified to use INNODB instead of MYISAM.
+
+DROP TABLE IF EXISTS QRTZ_JOB_LISTENERS;
+DROP TABLE IF EXISTS QRTZ_TRIGGER_LISTENERS;
+DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS;
+DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE;
+DROP TABLE IF EXISTS QRTZ_LOCKS;
+DROP TABLE IF EXISTS QRTZ_SIMPLE_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_CRON_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_BLOB_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_JOB_DETAILS;
+DROP TABLE IF EXISTS QRTZ_CALENDARS;
+CREATE TABLE QRTZ_JOB_DETAILS(
+JOB_NAME VARCHAR(80) NOT NULL,
+JOB_GROUP VARCHAR(80) NOT NULL,
+DESCRIPTION VARCHAR(120) NULL,
+JOB_CLASS_NAME VARCHAR(128) NOT NULL,
+IS_DURABLE VARCHAR(1) NOT NULL,
+IS_VOLATILE VARCHAR(1) NOT NULL,
+IS_STATEFUL VARCHAR(1) NOT NULL,
+REQUESTS_RECOVERY VARCHAR(1) NOT NULL,
+JOB_DATA BLOB NULL,
+PRIMARY KEY (JOB_NAME,JOB_GROUP))
+TYPE=InnoDB;
+
+CREATE TABLE QRTZ_JOB_LISTENERS (
+JOB_NAME VARCHAR(80) NOT NULL,
+JOB_GROUP VARCHAR(80) NOT NULL,
+JOB_LISTENER VARCHAR(80) NOT NULL,
+PRIMARY KEY (JOB_NAME,JOB_GROUP,JOB_LISTENER),
+INDEX (JOB_NAME, JOB_GROUP),
+FOREIGN KEY (JOB_NAME,JOB_GROUP)
+REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP))
+TYPE=InnoDB;
+
+CREATE TABLE QRTZ_TRIGGERS (
+TRIGGER_NAME VARCHAR(80) NOT NULL,
+TRIGGER_GROUP VARCHAR(80) NOT NULL,
+JOB_NAME VARCHAR(80) NOT NULL,
+JOB_GROUP VARCHAR(80) NOT NULL,
+IS_VOLATILE VARCHAR(1) NOT NULL,
+DESCRIPTION VARCHAR(120) NULL,
+NEXT_FIRE_TIME BIGINT(13) NULL,
+PREV_FIRE_TIME BIGINT(13) NULL,
+TRIGGER_STATE VARCHAR(16) NOT NULL,
+TRIGGER_TYPE VARCHAR(8) NOT NULL,
+START_TIME BIGINT(13) NOT NULL,
+END_TIME BIGINT(13) NULL,
+CALENDAR_NAME VARCHAR(80) NULL,
+MISFIRE_INSTR SMALLINT(2) NULL,
+PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+INDEX (JOB_NAME, JOB_GROUP),
+FOREIGN KEY (JOB_NAME,JOB_GROUP)
+REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP))
+TYPE=InnoDB;
+
+CREATE TABLE QRTZ_SIMPLE_TRIGGERS (
+TRIGGER_NAME VARCHAR(80) NOT NULL,
+TRIGGER_GROUP VARCHAR(80) NOT NULL,
+REPEAT_COUNT BIGINT(7) NOT NULL,
+REPEAT_INTERVAL BIGINT(12) NOT NULL,
+TIMES_TRIGGERED BIGINT(7) NOT NULL,
+PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+INDEX (TRIGGER_NAME, TRIGGER_GROUP),
+FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP))
+TYPE=InnoDB;
+
+CREATE TABLE QRTZ_CRON_TRIGGERS (
+TRIGGER_NAME VARCHAR(80) NOT NULL,
+TRIGGER_GROUP VARCHAR(80) NOT NULL,
+CRON_EXPRESSION VARCHAR(80) NOT NULL,
+TIME_ZONE_ID VARCHAR(80),
+PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+INDEX (TRIGGER_NAME, TRIGGER_GROUP),
+FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP))
+TYPE=InnoDB;
+
+CREATE TABLE QRTZ_BLOB_TRIGGERS (
+TRIGGER_NAME VARCHAR(80) NOT NULL,
+TRIGGER_GROUP VARCHAR(80) NOT NULL,
+BLOB_DATA BLOB NULL,
+PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+INDEX (TRIGGER_NAME, TRIGGER_GROUP),
+FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP))