ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/branches/journaling/testsuite/FB3reference.log
(Generate patch)

Comparing ibx/trunk/testsuite/FB3reference.log (file contents):
Revision 348 by tony, Wed Oct 6 09:38:14 2021 UTC vs.
Revision 349 by tony, Mon Oct 18 08:39:40 2021 UTC

# Line 644 | Line 644 | Rows printed = 42
644   Current memory = 19,651,152
645   Delta memory = 13,040
646   Max memory = 19,779,424
647 < Elapsed time= 0.022 sec
648 < Cpu = 0.000 sec
647 > Elapsed time= 0.029 sec
648 > Cpu = 0.010 sec
649   Buffers = 2048
650   Reads = 2
651   Writes = 0
# Line 1445 | Line 1445 | DPB: Item Count = 3
1445    isc_dpb_lc_ctype = UTF8
1446  
1447   Before Disconnect
1448 < inet://localhost/employee Disconnected after 21 ms
1448 > inet://localhost/employee Disconnected after 20 ms
1449   Before Connect
1450   Connected to inet://localhost/employee
1451   DPB: Item Count = 3
# Line 1454 | Line 1454 | DPB: Item Count = 3
1454    isc_dpb_lc_ctype = UTF8
1455  
1456   Before Disconnect
1457 < inet://localhost/employee Disconnected after 4015 ms
1457 > inet://localhost/employee Disconnected after 3984 ms
1458   Idle Timer Expired for Test_Database_02
1459   Database Closed
1460   Transaction Events
# Line 1477 | Line 1477 | TPB: Item Count = 3
1477    isc_tpb_read
1478  
1479   Transaction Ending
1480 < Transaction Ended after 0 ms
1480 > Transaction Ended after 1 ms
1481   Transaction idle timer test
1482   Requested TPB: Item Count = 3
1483    isc_tpb_concurrency
# Line 1491 | Line 1491 | TPB: Item Count = 3
1491    isc_tpb_read
1492  
1493   Transaction Ending
1494 < Transaction Ended after 2000 ms
1494 > Transaction Ended after 2001 ms
1495   Idle Timer Expired for Test_Transaction_02
1496   Before Disconnect
1497 < inet://localhost/employee Disconnected after 2040 ms
1497 > inet://localhost/employee Disconnected after 2051 ms
1498   SQL Dialect Downgrade test
1499   Before Connect
1500   Connected to inet://localhost//tmp/ibx-testsuite/testsuite1.fdb
# Line 1506 | Line 1506 | DPB: Item Count = 4
1506  
1507   inet://localhost//tmp/ibx-testsuite/testsuite1.fdb created
1508   Before Disconnect
1509 < inet://localhost//tmp/ibx-testsuite/testsuite1.fdb Disconnected after 20 ms
1509 > inet://localhost//tmp/ibx-testsuite/testsuite1.fdb Disconnected after 13 ms
1510   Before Connect
1511   Warning: SQL Dialect Downgrade of inet://localhost//tmp/ibx-testsuite/testsuite1.fdb
1512   Connected to inet://localhost//tmp/ibx-testsuite/testsuite1.fdb
# Line 1516 | Line 1516 | DPB: Item Count = 3
1516    isc_dpb_lc_ctype = UTF8
1517  
1518   Before Disconnect
1519 < inet://localhost//tmp/ibx-testsuite/testsuite1.fdb Disconnected after 36 ms
1519 > inet://localhost//tmp/ibx-testsuite/testsuite1.fdb Disconnected after 22 ms
1520  
1521  
1522   ------------------------------------------------------
# Line 3172 | Line 3172 | Current memory = 19,653,504
3172   Delta memory = 13,072
3173   Max memory = 19,729,584
3174   Elapsed time= 0.023 sec
3175 < Cpu = 0.020 sec
3175 > Cpu = 0.010 sec
3176   Buffers = 2048
3177   Reads = 2
3178   Writes = 0
# Line 3773 | Line 3773 | SET AUTODDL ON;
3773   /* Domain definitions */
3774  
3775   CREATE DOMAIN ADDRESSLINE AS VARCHAR(30);
3776 < CREATE DOMAIN BUDGET AS DECIMAL(12, 2)
3776 > CREATE DOMAIN BUDGET AS DECIMAL(12,2)
3777           DEFAULT 50000;
3778   CREATE DOMAIN COUNTRYNAME AS VARCHAR(15);
3779   CREATE DOMAIN CUSTNO AS INTEGER;
# Line 3788 | Line 3788 | CREATE DOMAIN PONUMBER AS CHAR(8);
3788   CREATE DOMAIN PRODTYPE AS VARCHAR(12)
3789           DEFAULT 'software' NOT NULL;
3790   CREATE DOMAIN PROJNO AS CHAR(5);
3791 < CREATE DOMAIN SALARY AS NUMERIC(10, 2)
3791 > CREATE DOMAIN SALARY AS NUMERIC(10,2)
3792           DEFAULT 0;
3793  
3794   /* Table: COUNTRY, Owner: SYSDBA */
3795  
3796 < CREATE TABLE COUNTRY
3796 > CREATE TABLE COUNTRY
3797   (
3798          COUNTRY COUNTRYNAME NOT NULL,
3799          CURRENCY        VARCHAR(10) NOT NULL,
# Line 3802 | Line 3802 | PRIMARY KEY (COUNTRY)
3802  
3803   /* Table: CUSTOMER, Owner: SYSDBA */
3804  
3805 < CREATE TABLE CUSTOMER
3805 > CREATE TABLE CUSTOMER
3806   (
3807          CUST_NO CUSTNO NOT NULL,
3808          CUSTOMER        VARCHAR(25) NOT NULL,
# Line 3821 | Line 3821 | PRIMARY KEY (CUST_NO)
3821  
3822   /* Table: DEPARTMENT, Owner: SYSDBA */
3823  
3824 < CREATE TABLE DEPARTMENT
3824 > CREATE TABLE DEPARTMENT
3825   (
3826          DEPT_NO DEPTNO NOT NULL,
3827          DEPARTMENT      VARCHAR(25) NOT NULL,
# Line 3836 | Line 3836 | PRIMARY KEY (DEPT_NO)
3836  
3837   /* Table: EMPLOYEE, Owner: SYSDBA */
3838  
3839 < CREATE TABLE EMPLOYEE
3839 > CREATE TABLE EMPLOYEE
3840   (
3841          EMP_NO  EMPNO NOT NULL,
3842          FIRST_NAME      FIRSTNAME NOT NULL,
# Line 3854 | Line 3854 | PRIMARY KEY (EMP_NO)
3854  
3855   /* Table: EMPLOYEE_PROJECT, Owner: SYSDBA */
3856  
3857 < CREATE TABLE EMPLOYEE_PROJECT
3857 > CREATE TABLE EMPLOYEE_PROJECT
3858   (
3859          EMP_NO  EMPNO NOT NULL,
3860          PROJ_ID PROJNO NOT NULL,
# Line 3863 | Line 3863 | PRIMARY KEY (EMP_NO, PROJ_ID)
3863  
3864   /* Table: JOB, Owner: SYSDBA */
3865  
3866 < CREATE TABLE JOB
3866 > CREATE TABLE JOB
3867   (
3868          JOB_CODE        JOBCODE NOT NULL,
3869          JOB_GRADE       JOBGRADE NOT NULL,
# Line 3878 | Line 3878 | PRIMARY KEY (JOB_CODE, JOB_GRADE, JOB_CO
3878  
3879   /* Table: PROJECT, Owner: SYSDBA */
3880  
3881 < CREATE TABLE PROJECT
3881 > CREATE TABLE PROJECT
3882   (
3883          PROJ_ID PROJNO NOT NULL,
3884          PROJ_NAME       VARCHAR(20) NOT NULL,
# Line 3891 | Line 3891 | PRIMARY KEY (PROJ_ID)
3891  
3892   /* Table: PROJ_DEPT_BUDGET, Owner: SYSDBA */
3893  
3894 < CREATE TABLE PROJ_DEPT_BUDGET
3894 > CREATE TABLE PROJ_DEPT_BUDGET
3895   (
3896          FISCAL_YEAR     INTEGER NOT NULL,
3897          PROJ_ID PROJNO NOT NULL,
# Line 3903 | Line 3903 | PRIMARY KEY (FISCAL_YEAR, PROJ_ID, DEPT_
3903  
3904   /* Table: SALARY_HISTORY, Owner: SYSDBA */
3905  
3906 < CREATE TABLE SALARY_HISTORY
3906 > CREATE TABLE SALARY_HISTORY
3907   (
3908          EMP_NO  EMPNO NOT NULL,
3909          CHANGE_DATE     TIMESTAMP DEFAULT 'NOW' NOT NULL,
# Line 3916 | Line 3916 | PRIMARY KEY (EMP_NO, CHANGE_DATE, UPDATE
3916  
3917   /* Table: SALES, Owner: SYSDBA */
3918  
3919 < CREATE TABLE SALES
3919 > CREATE TABLE SALES
3920   (
3921          PO_NUMBER       PONUMBER NOT NULL,
3922          CUST_NO CUSTNO NOT NULL,
# Line 3927 | Line 3927 | CREATE TABLE SALES
3927          DATE_NEEDED     TIMESTAMP,
3928          PAID    CHAR(1) DEFAULT 'n',
3929          QTY_ORDERED     INTEGER DEFAULT 1 NOT NULL,
3930 <        TOTAL_VALUE     DECIMAL(9, 2) NOT NULL,
3930 >        TOTAL_VALUE     DECIMAL(9,2) NOT NULL,
3931          DISCOUNT        FLOAT DEFAULT 0 NOT NULL,
3932          ITEM_TYPE       PRODTYPE,
3933          AGED COMPUTED BY (ship_date - order_date),
# Line 3969 | Line 3969 | CREATE SEQUENCE EMP_NO_GEN;
3969   /* View: PHONE_LIST, Owner: SYSDBA */
3970  
3971   CREATE VIEW PHONE_LIST (
3972 <  EMP_NO,
3973 <  FIRST_NAME,
3974 <  LAST_NAME,
3975 <  PHONE_EXT,
3976 <  LOCATION,
3972 >  EMP_NO,
3973 >  FIRST_NAME,
3974 >  LAST_NAME,
3975 >  PHONE_EXT,
3976 >  LOCATION,
3977    PHONE_NO
3978   ) AS
3979   SELECT
# Line 4071 | Line 4071 | CREATE EXCEPTION REASSIGN_SALES 'Reassig
4071   CREATE EXCEPTION UNKNOWN_EMP_ID 'Invalid employee number or project id.';
4072   COMMIT WORK;
4073   SET AUTODDL OFF;
4074 < SET TERM ^ ;
4074 > SET TERM ^;
4075  
4076   /* Stored procedures Definitions*/
4077  
# Line 4088 | Line 4088 | RETURNS
4088   AS
4089   BEGIN SUSPEND; EXIT; END
4090   ^
4091 +
4092   CREATE PROCEDURE ADD_EMP_PROJ
4093   (
4094    EMP_NO SMALLINT,
# Line 4096 | Line 4097 | CREATE PROCEDURE ADD_EMP_PROJ
4097   AS
4098   BEGIN SUSPEND; EXIT; END
4099   ^
4100 +
4101   CREATE PROCEDURE ALL_LANGS
4102   RETURNS
4103   (
# Line 4107 | Line 4109 | RETURNS
4109   AS
4110   BEGIN SUSPEND; EXIT; END
4111   ^
4112 +
4113   CREATE PROCEDURE DELETE_EMPLOYEE
4114   (
4115    EMP_NUM INTEGER
# Line 4114 | Line 4117 | CREATE PROCEDURE DELETE_EMPLOYEE
4117   AS
4118   BEGIN SUSPEND; EXIT; END
4119   ^
4120 +
4121   CREATE PROCEDURE DEPT_BUDGET
4122   (
4123    DNO CHAR(3) CHARACTER SET NONE
4124   )
4125   RETURNS
4126   (
4127 <  TOT DECIMAL(12, 2)
4127 >  TOT DECIMAL(12,2)
4128   )
4129   AS
4130   BEGIN SUSPEND; EXIT; END
4131   ^
4132 +
4133   CREATE PROCEDURE GET_EMP_PROJ
4134   (
4135    EMP_NO SMALLINT
# Line 4136 | Line 4141 | RETURNS
4141   AS
4142   BEGIN SUSPEND; EXIT; END
4143   ^
4144 +
4145   CREATE PROCEDURE MAIL_LABEL
4146   (
4147    CUST_NO INTEGER
# Line 4152 | Line 4158 | RETURNS
4158   AS
4159   BEGIN SUSPEND; EXIT; END
4160   ^
4161 +
4162   CREATE PROCEDURE ORG_CHART
4163   RETURNS
4164   (
# Line 4164 | Line 4171 | RETURNS
4171   AS
4172   BEGIN SUSPEND; EXIT; END
4173   ^
4174 +
4175   CREATE PROCEDURE SHIP_ORDER
4176   (
4177    PO_NUM CHAR(8) CHARACTER SET NONE
# Line 4171 | Line 4179 | CREATE PROCEDURE SHIP_ORDER
4179   AS
4180   BEGIN SUSPEND; EXIT; END
4181   ^
4182 +
4183   CREATE PROCEDURE SUB_TOT_BUDGET
4184   (
4185    HEAD_DEPT CHAR(3) CHARACTER SET NONE
4186   )
4187   RETURNS
4188   (
4189 <  TOT_BUDGET DECIMAL(12, 2),
4190 <  AVG_BUDGET DECIMAL(12, 2),
4191 <  MIN_BUDGET DECIMAL(12, 2),
4192 <  MAX_BUDGET DECIMAL(12, 2)
4189 >  TOT_BUDGET DECIMAL(12,2),
4190 >  AVG_BUDGET DECIMAL(12,2),
4191 >  MIN_BUDGET DECIMAL(12,2),
4192 >  MAX_BUDGET DECIMAL(12,2)
4193   )
4194   AS
4195   BEGIN SUSPEND; EXIT; END
4196   ^
4197 < SET TERM ; ^
4197 >
4198 > SET TERM ;^
4199   COMMIT WORK;
4200   SET AUTODDL ON;
4201 < SET TERM ^ ;
4201 > SET TERM ^;
4202  
4203  
4204   /* Triggers only will work for SQL triggers */
# Line 4200 | Line 4210 | BEGIN
4210      if (new.cust_no is null) then
4211      new.cust_no = gen_id(cust_no_gen, 1);
4212   END
4213 < ^
4213 > ^
4214 >
4215   CREATE TRIGGER SET_EMP_NO FOR EMPLOYEE
4216   ACTIVE BEFORE INSERT POSITION 0
4217   AS
# Line 4208 | Line 4219 | BEGIN
4219      if (new.emp_no is null) then
4220      new.emp_no = gen_id(emp_no_gen, 1);
4221   END
4222 < ^
4222 > ^
4223 >
4224   CREATE TRIGGER SAVE_SALARY_CHANGE FOR EMPLOYEE
4225   ACTIVE AFTER UPDATE POSITION 0
4226   AS
# Line 4223 | Line 4235 | BEGIN
4235              old.salary,
4236              (new.salary - old.salary) * 100 / old.salary);
4237   END
4238 < ^
4238 > ^
4239 >
4240   CREATE TRIGGER POST_NEW_ORDER FOR SALES
4241   ACTIVE AFTER INSERT POSITION 0
4242   AS
4243   BEGIN
4244      POST_EVENT 'new_order';
4245   END
4246 < ^
4247 < COMMIT WORK ^
4246 > ^
4247 >
4248 > COMMIT WORK^
4249   SET TERM ;^
4250   COMMIT WORK;
4251   SET AUTODDL OFF;
4252 < SET TERM ^ ;
4252 > SET TERM ^;
4253  
4254   /* Stored procedure Bodies */
4255  
4242
4256   ALTER PROCEDURE SHOW_LANGS
4257   (
4258    CODE VARCHAR(5) CHARACTER SET NONE,
# Line 4379 | Line 4392 | ALTER PROCEDURE DEPT_BUDGET
4392   )
4393   RETURNS
4394   (
4395 <  TOT DECIMAL(12, 2)
4395 >  TOT DECIMAL(12,2)
4396   )
4397   AS
4398   DECLARE VARIABLE sumb DECIMAL(12, 2);
# Line 4609 | Line 4622 | ALTER PROCEDURE SUB_TOT_BUDGET
4622   )
4623   RETURNS
4624   (
4625 <  TOT_BUDGET DECIMAL(12, 2),
4626 <  AVG_BUDGET DECIMAL(12, 2),
4627 <  MIN_BUDGET DECIMAL(12, 2),
4628 <  MAX_BUDGET DECIMAL(12, 2)
4625 >  TOT_BUDGET DECIMAL(12,2),
4626 >  AVG_BUDGET DECIMAL(12,2),
4627 >  MIN_BUDGET DECIMAL(12,2),
4628 >  MAX_BUDGET DECIMAL(12,2)
4629   )
4630   AS
4631   BEGIN
# Line 4623 | Line 4636 | BEGIN
4636          SUSPEND;
4637   END
4638   ^
4639 < SET TERM ; ^
4639 >
4640 > SET TERM ;^
4641   COMMIT WORK;
4642   SET AUTODDL ON;
4643  
# Line 4667 | Line 4681 | SET AUTODDL ON;
4681  
4682   CREATE DATABASE 'inet://localhost//tmp/ibx-testsuite/testsuite1.fdb' PAGE_SIZE 8192
4683  
4684 < DEFAULT CHARACTER SET NONE;
4684 > DEFAULT CHARACTER SET NONE;
4685   COMMENT ON DATABASE  IS 'Employee Test DB';
4686  
4687   /* Domain definitions */
4688  
4689   CREATE DOMAIN ADDRESSLINE AS VARCHAR(30);
4690 < CREATE DOMAIN BUDGET AS DECIMAL(12, 2)
4690 > CREATE DOMAIN BUDGET AS DECIMAL(12,2)
4691           DEFAULT 50000;
4692   CREATE DOMAIN COUNTRYNAME AS VARCHAR(15);
4693   CREATE DOMAIN CUSTNO AS INTEGER;
# Line 4689 | Line 4703 | CREATE DOMAIN PONUMBER AS CHAR(8);
4703   CREATE DOMAIN PRODTYPE AS VARCHAR(12)
4704           DEFAULT 'software' NOT NULL;
4705   CREATE DOMAIN PROJNO AS CHAR(5);
4706 < CREATE DOMAIN SALARY AS NUMERIC(10, 2)
4706 > CREATE DOMAIN SALARY AS NUMERIC(10,2)
4707           DEFAULT 0;
4708  
4709   /* Table: COUNTRIES, Owner: SYSDBA */
4710  
4711 < CREATE TABLE COUNTRIES
4711 > CREATE TABLE COUNTRIES
4712   (
4713          COUNTRY VARCHAR(64) NOT NULL,
4714          NONEU   SMALLINT,
# Line 4707 | Line 4721 | COMMENT ON COLUMN COUNTRIES.ISO2 IS 'Two
4721  
4722   /* Table: COUNTRY, Owner: SYSDBA */
4723  
4724 < CREATE TABLE COUNTRY
4724 > CREATE TABLE COUNTRY
4725   (
4726          COUNTRY COUNTRYNAME NOT NULL,
4727          CURRENCY        VARCHAR(10) NOT NULL,
# Line 4716 | Line 4730 | PRIMARY KEY (COUNTRY)
4730  
4731   /* Table: CUSTOMER, Owner: SYSDBA */
4732  
4733 < CREATE TABLE CUSTOMER
4733 > CREATE TABLE CUSTOMER
4734   (
4735          CUST_NO CUSTNO NOT NULL,
4736          CUSTOMER        VARCHAR(25) NOT NULL,
# Line 4736 | Line 4750 | PRIMARY KEY (CUST_NO)
4750  
4751   /* Table: DEPARTMENT, Owner: SYSDBA */
4752  
4753 < CREATE TABLE DEPARTMENT
4753 > CREATE TABLE DEPARTMENT
4754   (
4755          DEPT_NO DEPTNO NOT NULL,
4756          DEPARTMENT      VARCHAR(25) NOT NULL,
# Line 4751 | Line 4765 | PRIMARY KEY (DEPT_NO)
4765  
4766   /* Table: EMPLOYEE, Owner: SYSDBA */
4767  
4768 < CREATE TABLE EMPLOYEE
4768 > CREATE TABLE EMPLOYEE
4769   (
4770          EMP_NO  EMPNO NOT NULL,
4771          FIRST_NAME      FIRSTNAME NOT NULL,
# Line 4769 | Line 4783 | PRIMARY KEY (EMP_NO)
4783  
4784   /* Table: EMPLOYEE_PROJECT, Owner: SYSDBA */
4785  
4786 < CREATE TABLE EMPLOYEE_PROJECT
4786 > CREATE TABLE EMPLOYEE_PROJECT
4787   (
4788          EMP_NO  EMPNO NOT NULL,
4789          PROJ_ID PROJNO NOT NULL,
# Line 4778 | Line 4792 | PRIMARY KEY (EMP_NO, PROJ_ID)
4792  
4793   /* Table: FB$OUT_TABLE, Owner: SYSDBA */
4794  
4795 < CREATE GLOBAL TEMPORARY TABLE FB$OUT_TABLE
4795 > CREATE GLOBAL TEMPORARY TABLE FB$OUT_TABLE
4796   (
4797          LINE_NUM        INTEGER,
4798          CONTENT FB$OUT_TYPE
# Line 4786 | Line 4800 | CREATE GLOBAL TEMPORARY TABLE FB$OUT_TAB
4800  
4801   /* Table: ITEST, Owner: SYSDBA */
4802  
4803 < CREATE TABLE ITEST
4803 > CREATE TABLE ITEST
4804   (
4805          "KEY"   INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0) NOT NULL,
4806          SOMETEXT        VARCHAR(64),
# Line 4795 | Line 4809 | PRIMARY KEY ("KEY")
4809  
4810   /* Table: ITEST2, Owner: SYSDBA */
4811  
4812 < CREATE TABLE ITEST2
4812 > CREATE TABLE ITEST2
4813   (
4814          "KEY"   INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0 INCREMENT BY 1) NOT NULL,
4815          SOMETEXT        VARCHAR(64),
# Line 4804 | Line 4818 | PRIMARY KEY ("KEY")
4818   Error processing SQL statement: On Line 140 Character 1:  Dynamic SQL Error
4819   -SQL error code = -104
4820   -Token unknown - line 3, column 63
4821 < -INCREMENT When Executing: CREATE TABLE ITEST2
4821 > -INCREMENT When Executing: CREATE TABLE ITEST2
4822   (
4823          "KEY"   INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0 INCREMENT BY 1) NOT NULL,
4824          SOMETEXT        VARCHAR(64),
4825   PRIMARY KEY ("KEY")
4826   )
4827 < - for statement "CREATE TABLE ITEST2
4827 > - for statement "CREATE TABLE ITEST2
4828   (
4829          "KEY"   INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0 INCREMENT BY 1) NOT NULL,
4830          SOMETEXT        VARCHAR(64),
# Line 4819 | Line 4833 | PRIMARY KEY ("KEY")
4833  
4834   /* Table: JOB, Owner: SYSDBA */
4835  
4836 < CREATE TABLE JOB
4836 > CREATE TABLE JOB
4837   (
4838          JOB_CODE        JOBCODE NOT NULL,
4839          JOB_GRADE       JOBGRADE NOT NULL,
# Line 4834 | Line 4848 | PRIMARY KEY (JOB_CODE, JOB_GRADE, JOB_CO
4848  
4849   /* Table: PROJECT, Owner: SYSDBA */
4850  
4851 < CREATE TABLE PROJECT
4851 > CREATE TABLE PROJECT
4852   (
4853          PROJ_ID PROJNO NOT NULL,
4854          PROJ_NAME       VARCHAR(20) NOT NULL,
# Line 4847 | Line 4861 | PRIMARY KEY (PROJ_ID)
4861  
4862   /* Table: PROJ_DEPT_BUDGET, Owner: SYSDBA */
4863  
4864 < CREATE TABLE PROJ_DEPT_BUDGET
4864 > CREATE TABLE PROJ_DEPT_BUDGET
4865   (
4866          FISCAL_YEAR     INTEGER NOT NULL,
4867          PROJ_ID PROJNO NOT NULL,
# Line 4859 | Line 4873 | PRIMARY KEY (FISCAL_YEAR, PROJ_ID, DEPT_
4873  
4874   /* Table: SALARY_HISTORY, Owner: SYSDBA */
4875  
4876 < CREATE TABLE SALARY_HISTORY
4876 > CREATE TABLE SALARY_HISTORY
4877   (
4878          EMP_NO  EMPNO NOT NULL,
4879          CHANGE_DATE     TIMESTAMP DEFAULT 'NOW' NOT NULL,
# Line 4872 | Line 4886 | PRIMARY KEY (EMP_NO, CHANGE_DATE, UPDATE
4886  
4887   /* Table: SALES, Owner: SYSDBA */
4888  
4889 < CREATE TABLE SALES
4889 > CREATE TABLE SALES
4890   (
4891          PO_NUMBER       PONUMBER NOT NULL,
4892          CUST_NO CUSTNO NOT NULL,
# Line 4883 | Line 4897 | CREATE TABLE SALES
4897          DATE_NEEDED     TIMESTAMP,
4898          PAID    CHAR(1) DEFAULT 'n',
4899          QTY_ORDERED     INTEGER DEFAULT 1 NOT NULL,
4900 <        TOTAL_VALUE     DECIMAL(9, 2) NOT NULL,
4900 >        TOTAL_VALUE     DECIMAL(9,2) NOT NULL,
4901          DISCOUNT        FLOAT DEFAULT 0 NOT NULL,
4902          ITEM_TYPE       PRODTYPE,
4903          AGED COMPUTED BY (ship_date - order_date),
# Line 4896 | Line 4910 | DECLARE EXTERNAL FUNCTION ADDDAY
4910   TIMESTAMP, INTEGER
4911   RETURNS TIMESTAMP
4912   ENTRY_POINT 'addDay' MODULE_NAME 'fbudf'
4899
4913   ;
4914  
4915  
4916   DECLARE EXTERNAL FUNCTION I64TRUNCATE
4917 < NUMERIC(18, 0) BY DESCRIPTOR, NUMERIC(18, 0) BY DESCRIPTOR
4917 > NUMERIC(18,0) BY DESCRIPTOR, NUMERIC(18,0) BY DESCRIPTOR
4918   RETURNS PARAMETER 2
4919   ENTRY_POINT 'fbtruncate' MODULE_NAME 'fbudf'
4907
4920   ;
4921  
4922  
# Line 4912 | Line 4924 | DECLARE EXTERNAL FUNCTION TESTIT
4924   TIMESTAMP, INTEGER NULL, CSTRING(10) CHARACTER SET NONE, CSTRING(10) CHARACTER SET NONE BY DESCRIPTOR
4925   RETURNS CSTRING(32) CHARACTER SET NONE FREE_IT
4926   ENTRY_POINT 'testit' MODULE_NAME 'fbudf'
4915
4927   ;
4928  
4929  
# Line 5654 | Line 5665 | ALTER SEQUENCE FB$OUT_SEQ RESTART WITH 1
5665   /* View: DEPTLIST, Owner: SYSDBA */
5666  
5667   CREATE VIEW DEPTLIST (
5668 <  EMP_NO,
5669 <  FIRST_NAME,
5670 <  LAST_NAME,
5671 <  PHONE_EXT,
5672 <  HIRE_DATE,
5673 <  DEPT_NO,
5674 <  JOB_CODE,
5675 <  JOB_GRADE,
5676 <  JOB_COUNTRY,
5677 <  SALARY,
5678 <  FULL_NAME,
5679 <  DEPT_PATH,
5668 >  EMP_NO,
5669 >  FIRST_NAME,
5670 >  LAST_NAME,
5671 >  PHONE_EXT,
5672 >  HIRE_DATE,
5673 >  DEPT_NO,
5674 >  JOB_CODE,
5675 >  JOB_GRADE,
5676 >  JOB_COUNTRY,
5677 >  SALARY,
5678 >  FULL_NAME,
5679 >  DEPT_PATH,
5680    DEPT_KEY_PATH,
5681    "Payment Status"
5682   ) AS
# Line 5682 | Line 5693 | JOIN Depts On D.HEAD_DEPT = Depts.DEPT_N
5693  
5694   Select distinct A.EMP_NO, A.FIRST_NAME, A.LAST_NAME, A.PHONE_EXT, A.HIRE_DATE, A.DEPT_NO, A.JOB_CODE,
5695   A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, D.DEPT_PATH, D.DEPT_KEY_PATH,
5696 < CASE When A.SALARY > 10000 then 'higher paid' else 'lower paid' End
5696 > CASE When A.SALARY > 10000 then 'higher paid' else 'lower paid' End
5697   From EMPLOYEE A
5698   JOIN Depts D On D.DEPT_NO = A.DEPT_NO
5699   ;
# Line 5690 | Line 5701 | JOIN Depts D On D.DEPT_NO = A.DEPT_NO
5701   /* View: PHONE_LIST, Owner: SYSDBA */
5702  
5703   CREATE VIEW PHONE_LIST (
5704 <  EMP_NO,
5705 <  FIRST_NAME,
5706 <  LAST_NAME,
5707 <  PHONE_EXT,
5708 <  LOCATION,
5704 >  EMP_NO,
5705 >  FIRST_NAME,
5706 >  LAST_NAME,
5707 >  PHONE_EXT,
5708 >  LOCATION,
5709    PHONE_NO
5710   ) AS
5711   SELECT
# Line 5796 | Line 5807 | CREATE EXCEPTION REASSIGN_SALES 'Reassig
5807   CREATE EXCEPTION UNKNOWN_EMP_ID 'Invalid employee number or project id.';
5808   COMMIT WORK;
5809   SET AUTODDL OFF;
5810 < SET TERM ^ ;
5810 > SET TERM ^;
5811  
5812   /* Package Definitions */
5813  
5814 < CREATE PACKAGE FB$OUT                                                        
5814 > CREATE PACKAGE FB$OUT
5815   AS
5805
5816   begin
5817          procedure enable;
5818          procedure disable;
# Line 5814 | Line 5824 | begin
5824   end
5825   ^
5826  
5827 < CREATE PACKAGE SELECT$TEST                                                    
5827 > CREATE PACKAGE SELECT$TEST
5828   AS
5819
5829   Begin
5830    Procedure ShowItems(IPARAM Integer) RETURNS (OutParam integer);
5831   End
# Line 5827 | Line 5836 | COMMIT WORK;
5836   SET AUTODDL ON;
5837   COMMIT WORK;
5838   SET AUTODDL OFF;
5839 < SET TERM ^ ;
5839 > SET TERM ^;
5840  
5841   /* Stored procedures Definitions*/
5842  
5843 < CREATE PROCEDURE SHOW_LANGS
5843 > CREATE PROCEDURE SHOW_LANGS
5844   (
5845    CODE VARCHAR(5) CHARACTER SET NONE,
5846    GRADE SMALLINT,
# Line 5843 | Line 5852 | RETURNS
5852   )
5853   AS
5854   BEGIN SUSPEND; EXIT; END
5846
5855   ^
5856  
5857 < CREATE PROCEDURE ADD_EMP_PROJ
5857 > CREATE PROCEDURE ADD_EMP_PROJ
5858   (
5859    EMP_NO SMALLINT,
5860    PROJ_ID CHAR(5) CHARACTER SET NONE
5861   )
5862   AS
5863   BEGIN EXIT; END
5856
5864   ^
5865  
5866 < CREATE PROCEDURE ALL_LANGS
5866 > CREATE PROCEDURE ALL_LANGS
5867   RETURNS
5868   (
5869    CODE VARCHAR(5) CHARACTER SET NONE,
# Line 5866 | Line 5873 | RETURNS
5873   )
5874   AS
5875   BEGIN SUSPEND; EXIT; END
5869
5876   ^
5877  
5878 < CREATE PROCEDURE DELETE_EMPLOYEE
5878 > CREATE PROCEDURE DELETE_EMPLOYEE
5879   (
5880    EMP_NUM INTEGER
5881   )
5882   AS
5883   BEGIN EXIT; END
5878
5884   ^
5885  
5886 < CREATE PROCEDURE DEPT_BUDGET
5886 > CREATE PROCEDURE DEPT_BUDGET
5887   (
5888    DNO CHAR(3) CHARACTER SET NONE
5889   )
5890   RETURNS
5891   (
5892 <  TOT DECIMAL(12, 2)
5892 >  TOT DECIMAL(12,2)
5893   )
5894   AS
5895   BEGIN SUSPEND; EXIT; END
5891
5896   ^
5897  
5898   CREATE PROCEDURE EMPLOYEE_PAY_STATUS
5899   (
5900 <  EMP_NO SMALLINT
5900 >  EMP_NUM SMALLINT
5901   )
5902   RETURNS
5903   (
5904 <  PAY_STATUS VARCHAR(6) CHARACTER SET NONE
5904 >  PAY_STATUS VARCHAR(6) CHARACTER SET NONE,
5905 >  SALARY NUMERIC(10,2)
5906   )
5907   AS
5908   BEGIN EXIT; END
5904
5909   ^
5910  
5911 <
5908 < CREATE PROCEDURE GET_EMP_PROJ
5911 > CREATE PROCEDURE GET_EMP_PROJ
5912   (
5913    EMP_NO SMALLINT
5914   )
# Line 5915 | Line 5918 | RETURNS
5918   )
5919   AS
5920   BEGIN SUSPEND; EXIT; END
5918
5921   ^
5922  
5923 < CREATE PROCEDURE "Has Space"
5923 > CREATE PROCEDURE "Has Space"
5924   (
5925    ARG1 INTEGER
5926   )
5927   AS
5928   BEGIN EXIT; END
5927
5929   ^
5930  
5931 < CREATE PROCEDURE MAIL_LABEL
5931 > CREATE PROCEDURE MAIL_LABEL
5932   (
5933    CUST_NO INTEGER
5934   )
# Line 5942 | Line 5943 | RETURNS
5943   )
5944   AS
5945   BEGIN SUSPEND; EXIT; END
5945
5946   ^
5947  
5948 < CREATE PROCEDURE ORG_CHART
5948 > CREATE PROCEDURE ORG_CHART
5949   RETURNS
5950   (
5951    HEAD_DEPT CHAR(25) CHARACTER SET NONE,
# Line 5956 | Line 5956 | RETURNS
5956   )
5957   AS
5958   BEGIN SUSPEND; EXIT; END
5959
5959   ^
5960  
5961 < CREATE PROCEDURE SHIP_ORDER
5961 > CREATE PROCEDURE SHIP_ORDER
5962   (
5963    PO_NUM CHAR(8) CHARACTER SET NONE
5964   )
5965   AS
5966   BEGIN EXIT; END
5968
5967   ^
5968  
5969 < CREATE PROCEDURE SUB_TOT_BUDGET
5969 > CREATE PROCEDURE SUB_TOT_BUDGET
5970   (
5971    HEAD_DEPT CHAR(3) CHARACTER SET NONE
5972   )
5973   RETURNS
5974   (
5975 <  TOT_BUDGET DECIMAL(12, 2),
5976 <  AVG_BUDGET DECIMAL(12, 2),
5977 <  MIN_BUDGET DECIMAL(12, 2),
5978 <  MAX_BUDGET DECIMAL(12, 2)
5975 >  TOT_BUDGET DECIMAL(12,2),
5976 >  AVG_BUDGET DECIMAL(12,2),
5977 >  MIN_BUDGET DECIMAL(12,2),
5978 >  MAX_BUDGET DECIMAL(12,2)
5979   )
5980   AS
5981   BEGIN SUSPEND; EXIT; END
5984
5982   ^
5983  
5984 < CREATE PROCEDURE "UC SPACE"
5984 > CREATE PROCEDURE "UC SPACE"
5985   (
5986    ARG1 INTEGER
5987   )
5988   AS
5989   BEGIN EXIT; END
5993
5990   ^
5991  
5992 < CREATE PROCEDURE "iCASE"
5992 > CREATE PROCEDURE "iCASE"
5993   AS
5994   BEGIN EXIT; END
5999
5995   ^
5996  
5997   SET TERM ;^
# Line 6004 | Line 5999 | COMMIT WORK;
5999   SET AUTODDL ON;
6000   COMMIT WORK;
6001   SET AUTODDL OFF;
6002 < SET TERM ^ ;
6002 > SET TERM ^;
6003  
6004   /* Stored Function declarations */
6005  
6006   CREATE FUNCTION F (X INTEGER)
6007   RETURNS INTEGER
6008   AS BEGIN END
6014
6009   ^
6010  
6017
6011   SET TERM ;^
6012   COMMIT WORK;
6013   SET AUTODDL ON;
6014 < SET TERM ^ ;
6014 > SET TERM ^;
6015  
6016  
6017   /* Triggers only will work for SQL triggers */
# Line 6029 | Line 6022 | as
6022   begin
6023   End
6024   ^
6025 +
6026   CREATE TRIGGER "BEFORE CREATE TABLE"
6027   ACTIVE BEFORE CREATE TABLE POSITION 0
6028   AS BEGIN END
6029   ^
6030 +
6031   CREATE TRIGGER "AFTER CREATE TABLE"
6032   ACTIVE AFTER CREATE TABLE POSITION 0
6033   AS BEGIN END
6034   ^
6035 +
6036   CREATE TRIGGER "BEFORE ALTER TABLE"
6037   ACTIVE BEFORE ALTER TABLE POSITION 0
6038   AS BEGIN END
6039   ^
6040 +
6041   CREATE TRIGGER "AFTER ALTER TABLE"
6042   ACTIVE AFTER ALTER TABLE POSITION 0
6043   AS BEGIN END
6044   ^
6045 +
6046   CREATE TRIGGER "AFTER CREATE/Alter TABLE"
6047   ACTIVE AFTER CREATE TABLE OR ALTER TABLE POSITION 0
6048   AS BEGIN END
6049   ^
6050 +
6051   CREATE TRIGGER "BEFORE DROP TABLE"
6052   ACTIVE BEFORE Drop TABLE POSITION 0
6053   AS BEGIN END
6054   ^
6055 +
6056   CREATE TRIGGER "AFTER DROP TABLE"
6057   ACTIVE AFTER Drop TABLE POSITION 0
6058   AS BEGIN END
6059   ^
6060 +
6061   CREATE TRIGGER "BEFORE CREATE PROCEDURE"
6062   ACTIVE BEFORE CREATE PROCEDURE POSITION 0
6063   AS BEGIN END
6064   ^
6065 +
6066   CREATE TRIGGER "AFTER CREATE PROCEDURE"
6067   ACTIVE AFTER CREATE PROCEDURE POSITION 0
6068   AS BEGIN END
6069   ^
6070 +
6071   CREATE TRIGGER "BEFORE ALTER PROCEDURE"
6072   ACTIVE BEFORE ALTER PROCEDURE POSITION 0
6073   AS BEGIN END
6074   ^
6075 +
6076   CREATE TRIGGER "AFTER ALTER PROCEDURE"
6077   ACTIVE AFTER ALTER PROCEDURE POSITION 0
6078   AS BEGIN END
6079   ^
6080 +
6081   CREATE TRIGGER "BEFORE DROP PROCEDURE"
6082   ACTIVE BEFORE Drop PROCEDURE POSITION 0
6083   AS BEGIN END
6084   ^
6085 +
6086   CREATE TRIGGER "AFTER DROP PROCEDURE"
6087   ACTIVE AFTER Drop PROCEDURE POSITION 0
6088   AS BEGIN END
6089   ^
6090 +
6091   CREATE TRIGGER "BEFORE CREATE FUNCTION"
6092   ACTIVE BEFORE CREATE FUNCTION POSITION 0
6093   AS BEGIN END
6094   ^
6095 +
6096   CREATE TRIGGER "AFTER CREATE FUNCTION"
6097   ACTIVE AFTER CREATE FUNCTION POSITION 0
6098   AS BEGIN END
6099   ^
6100 +
6101   CREATE TRIGGER "BEFORE ALTER FUNCTION"
6102   ACTIVE BEFORE ALTER FUNCTION POSITION 0
6103   AS BEGIN END
6104   ^
6105 +
6106   CREATE TRIGGER "AFTER ALTER FUNCTION"
6107   ACTIVE AFTER ALTER FUNCTION POSITION 0
6108   AS BEGIN END
6109   ^
6110 +
6111   CREATE TRIGGER "BEFORE DROP FUNCTION"
6112   ACTIVE BEFORE Drop FUNCTION POSITION 0
6113   AS BEGIN END
6114   ^
6115 +
6116   CREATE TRIGGER "AFTER DROP FUNCTION"
6117   ACTIVE AFTER Drop FUNCTION POSITION 0
6118   AS BEGIN END
6119   ^
6120 +
6121   CREATE TRIGGER "BEFORE CREATE TRIGGER"
6122   ACTIVE BEFORE CREATE TRIGGER POSITION 0
6123   AS BEGIN END
6124   ^
6125 +
6126   CREATE TRIGGER "AFTER CREATE TRIGGER"
6127   ACTIVE AFTER CREATE TRIGGER POSITION 0
6128   AS BEGIN END
6129   ^
6130 +
6131   CREATE TRIGGER "BEFORE ALTER TRIGGER"
6132   ACTIVE BEFORE ALTER TRIGGER POSITION 0
6133   AS BEGIN END
6134   ^
6135 +
6136   CREATE TRIGGER "AFTER ALTER TRIGGER"
6137   ACTIVE AFTER ALTER TRIGGER POSITION 0
6138   AS BEGIN END
6139   ^
6140 +
6141   CREATE TRIGGER "BEFORE DROP TRIGGER"
6142   ACTIVE BEFORE Drop TRIGGER POSITION 0
6143   AS BEGIN END
6144   ^
6145 +
6146   CREATE TRIGGER "AFTER DROP TRIGGER"
6147   ACTIVE AFTER Drop TRIGGER POSITION 0
6148   AS BEGIN END
6149   ^
6150 +
6151   CREATE TRIGGER "BEFORE CREATE EXCEPTION"
6152   ACTIVE BEFORE CREATE EXCEPTION POSITION 0
6153   AS BEGIN END
6154   ^
6155 +
6156   CREATE TRIGGER "AFTER CREATE EXCEPTION"
6157   ACTIVE AFTER CREATE EXCEPTION POSITION 0
6158   AS BEGIN END
6159   ^
6160 +
6161   CREATE TRIGGER "BEFORE ALTER EXCEPTION"
6162   ACTIVE BEFORE ALTER EXCEPTION POSITION 0
6163   AS BEGIN END
6164   ^
6165 +
6166   CREATE TRIGGER "AFTER ALTER EXCEPTION"
6167   ACTIVE AFTER ALTER EXCEPTION POSITION 0
6168   AS BEGIN END
6169   ^
6170 +
6171   CREATE TRIGGER "BEFORE DROP EXCEPTION"
6172   ACTIVE BEFORE Drop EXCEPTION POSITION 0
6173   AS BEGIN END
6174   ^
6175 +
6176   CREATE TRIGGER "AFTER DROP EXCEPTION"
6177   ACTIVE AFTER Drop EXCEPTION POSITION 0
6178   AS BEGIN END
6179   ^
6180 +
6181   CREATE TRIGGER "BEFORE CREATE VIEW"
6182   ACTIVE BEFORE CREATE VIEW POSITION 0
6183   AS BEGIN END
6184   ^
6185 +
6186   CREATE TRIGGER "AFTER CREATE VIEW"
6187   ACTIVE AFTER CREATE VIEW POSITION 0
6188   AS BEGIN END
6189   ^
6190 +
6191   CREATE TRIGGER "BEFORE ALTER VIEW"
6192   ACTIVE BEFORE ALTER VIEW POSITION 0
6193   AS BEGIN END
6194   ^
6195 +
6196   CREATE TRIGGER "AFTER ALTER VIEW"
6197   ACTIVE AFTER ALTER VIEW POSITION 0
6198   AS BEGIN END
6199   ^
6200 +
6201   CREATE TRIGGER "BEFORE DROP VIEW"
6202   ACTIVE BEFORE Drop VIEW POSITION 0
6203   AS BEGIN END
6204   ^
6205 +
6206   CREATE TRIGGER "AFTER DROP VIEW"
6207   ACTIVE AFTER Drop VIEW POSITION 0
6208   AS BEGIN END
6209   ^
6210 +
6211   CREATE TRIGGER "BEFORE CREATE DOMAIN"
6212   ACTIVE BEFORE CREATE DOMAIN POSITION 0
6213   AS BEGIN END
6214   ^
6215 +
6216   CREATE TRIGGER "AFTER CREATE DOMAIN"
6217   ACTIVE AFTER CREATE DOMAIN POSITION 0
6218   AS BEGIN END
6219   ^
6220 +
6221   CREATE TRIGGER "BEFORE ALTER DOMAIN"
6222   ACTIVE BEFORE ALTER DOMAIN POSITION 0
6223   AS BEGIN END
6224   ^
6225 +
6226   CREATE TRIGGER "AFTER ALTER DOMAIN"
6227   ACTIVE AFTER ALTER DOMAIN POSITION 0
6228   AS BEGIN END
6229   ^
6230 +
6231   CREATE TRIGGER "BEFORE DROP DOMAIN"
6232   ACTIVE BEFORE Drop DOMAIN POSITION 0
6233   AS BEGIN END
6234   ^
6235 +
6236   CREATE TRIGGER "AFTER DROP DOMAIN"
6237   ACTIVE AFTER Drop DOMAIN POSITION 0
6238   AS BEGIN END
6239   ^
6240 +
6241   CREATE TRIGGER "BEFORE CREATE ROLE"
6242   ACTIVE BEFORE CREATE ROLE POSITION 0
6243   AS BEGIN END
6244   ^
6245 +
6246   CREATE TRIGGER "AFTER CREATE ROLE"
6247   ACTIVE AFTER CREATE ROLE POSITION 0
6248   AS BEGIN END
6249   ^
6250 +
6251   CREATE TRIGGER "BEFORE ALTER ROLE"
6252   ACTIVE BEFORE ALTER ROLE POSITION 0
6253   AS BEGIN END
6254   ^
6255 +
6256   CREATE TRIGGER "AFTER ALTER ROLE"
6257   ACTIVE AFTER ALTER ROLE POSITION 0
6258   AS BEGIN END
6259   ^
6260 +
6261   CREATE TRIGGER "BEFORE DROP ROLE"
6262   ACTIVE BEFORE Drop ROLE POSITION 0
6263   AS BEGIN END
6264   ^
6265 +
6266   CREATE TRIGGER "AFTER DROP ROLE"
6267   ACTIVE AFTER Drop ROLE POSITION 0
6268   AS BEGIN END
6269   ^
6270 +
6271   CREATE TRIGGER "BEFORE CREATE INDEX"
6272   ACTIVE BEFORE CREATE INDEX POSITION 0
6273   AS BEGIN END
6274   ^
6275 +
6276   CREATE TRIGGER "AFTER CREATE INDEX"
6277   ACTIVE AFTER CREATE INDEX POSITION 0
6278   AS BEGIN END
6279   ^
6280 +
6281   CREATE TRIGGER "BEFORE ALTER INDEX"
6282   ACTIVE BEFORE ALTER INDEX POSITION 0
6283   AS BEGIN END
6284   ^
6285 +
6286   CREATE TRIGGER "AFTER ALTER INDEX"
6287   ACTIVE AFTER ALTER INDEX POSITION 0
6288   AS BEGIN END
6289   ^
6290 +
6291   CREATE TRIGGER "BEFORE DROP INDEX"
6292   ACTIVE BEFORE Drop INDEX POSITION 0
6293   AS BEGIN END
6294   ^
6295 +
6296   CREATE TRIGGER "AFTER DROP INDEX"
6297   ACTIVE AFTER Drop INDEX POSITION 0
6298   AS BEGIN END
6299   ^
6300 +
6301   CREATE TRIGGER "BEFORE CREATE SEQUENCE"
6302   ACTIVE BEFORE CREATE SEQUENCE POSITION 0
6303   AS BEGIN END
6304   ^
6305 +
6306   CREATE TRIGGER "AFTER CREATE SEQUENCE"
6307   ACTIVE AFTER CREATE SEQUENCE POSITION 0
6308   AS BEGIN END
6309   ^
6310 +
6311   CREATE TRIGGER "BEFORE ALTER SEQUENCE"
6312   ACTIVE BEFORE ALTER SEQUENCE POSITION 0
6313   AS BEGIN END
6314   ^
6315 +
6316   CREATE TRIGGER "AFTER ALTER SEQUENCE"
6317   ACTIVE AFTER ALTER SEQUENCE POSITION 0
6318   AS BEGIN END
6319   ^
6320 +
6321   CREATE TRIGGER "BEFORE DROP SEQUENCE"
6322   ACTIVE BEFORE Drop SEQUENCE POSITION 0
6323   AS BEGIN END
6324   ^
6325 +
6326   CREATE TRIGGER "AFTER DROP SEQUENCE"
6327   ACTIVE AFTER Drop SEQUENCE POSITION 0
6328   AS BEGIN END
6329   ^
6330 +
6331   CREATE TRIGGER "BEFORE CREATE USER"
6332   ACTIVE BEFORE CREATE USER POSITION 0
6333   AS BEGIN END
6334   ^
6335 +
6336   CREATE TRIGGER "AFTER CREATE USER"
6337   ACTIVE AFTER CREATE USER POSITION 0
6338   AS BEGIN END
6339   ^
6340 +
6341   CREATE TRIGGER "BEFORE ALTER USER"
6342   ACTIVE BEFORE ALTER USER POSITION 0
6343   AS BEGIN END
6344   ^
6345 +
6346   CREATE TRIGGER "AFTER ALTER USER"
6347   ACTIVE AFTER ALTER USER POSITION 0
6348   AS BEGIN END
6349   ^
6350 +
6351   CREATE TRIGGER "BEFORE DROP USER"
6352   ACTIVE BEFORE Drop USER POSITION 0
6353   AS BEGIN END
6354   ^
6355 +
6356   CREATE TRIGGER "AFTER DROP USER"
6357   ACTIVE AFTER Drop USER POSITION 0
6358   AS BEGIN END
6359   ^
6360 +
6361   CREATE TRIGGER "BEFORE CREATE COLLATION"
6362   ACTIVE BEFORE CREATE COLLATION POSITION 0
6363   AS BEGIN END
6364   ^
6365 +
6366   CREATE TRIGGER "AFTER CREATE COLLATION"
6367   ACTIVE AFTER CREATE COLLATION POSITION 0
6368   AS BEGIN END
6369   ^
6370 +
6371   CREATE TRIGGER "BEFORE DROP COLLATION"
6372   ACTIVE BEFORE Drop COLLATION POSITION 0
6373   AS BEGIN END
6374   ^
6375 +
6376   CREATE TRIGGER "AFTER DROP COLLATION"
6377   ACTIVE AFTER Drop COLLATION POSITION 0
6378   AS BEGIN END
6379   ^
6380 +
6381   CREATE TRIGGER "BEFORE ALTER CHARACTER SET"
6382   ACTIVE BEFORE ALTER CHARACTER SET POSITION 0
6383   AS BEGIN END
6384   ^
6385 +
6386   CREATE TRIGGER "AFTER ALTER CHARACTER SET"
6387   ACTIVE AFTER ALTER CHARACTER SET POSITION 0
6388   AS BEGIN END
6389   ^
6390 +
6391   CREATE TRIGGER "BEFORE CREATE PACKAGE"
6392   ACTIVE BEFORE CREATE PACKAGE POSITION 0
6393   AS BEGIN END
6394   ^
6395 +
6396   CREATE TRIGGER "AFTER CREATE PACKAGE"
6397   ACTIVE AFTER CREATE PACKAGE POSITION 0
6398   AS BEGIN END
6399   ^
6400 +
6401   CREATE TRIGGER "BEFORE ALTER PACKAGE"
6402   ACTIVE BEFORE ALTER PACKAGE POSITION 0
6403   AS BEGIN END
6404   ^
6405 +
6406   CREATE TRIGGER "AFTER ALTER PACKAGE"
6407   ACTIVE AFTER ALTER PACKAGE POSITION 0
6408   AS BEGIN END
6409   ^
6410 +
6411   CREATE TRIGGER "BEFORE DROP PACKAGE"
6412   ACTIVE BEFORE Drop PACKAGE POSITION 0
6413   AS BEGIN END
6414   ^
6415 +
6416   CREATE TRIGGER "AFTER DROP PACKAGE"
6417   ACTIVE AFTER Drop PACKAGE POSITION 0
6418   AS BEGIN END
6419   ^
6420 +
6421   CREATE TRIGGER "BEFORE CREATE PACKAGE BODY"
6422   ACTIVE BEFORE CREATE PACKAGE BODY POSITION 0
6423   AS BEGIN END
6424   ^
6425 +
6426   CREATE TRIGGER "AFTER CREATE PACKAGE BODY"
6427   ACTIVE AFTER CREATE PACKAGE BODY POSITION 0
6428   AS BEGIN END
6429   ^
6430 +
6431   CREATE TRIGGER "BEFORE DROP PACKAGE BODY"
6432   ACTIVE BEFORE Drop PACKAGE BODY POSITION 0
6433   AS BEGIN END
6434   ^
6435 +
6436   CREATE TRIGGER "AFTER DROP PACKAGE BODY"
6437   ACTIVE AFTER Drop PACKAGE BODY POSITION 0
6438   AS BEGIN END
6439   ^
6440 +
6441   CREATE TRIGGER "BEFORE ANY DDL STATEMENT"
6442   ACTIVE BEFORE ANY DDL STATEMENT POSITION 0
6443   AS BEGIN END
6444   ^
6445 +
6446   CREATE TRIGGER "AFTER ANY DDL STATEMENT"
6447   ACTIVE AFTER ANY DDL STATEMENT POSITION 0
6448   AS BEGIN END
6449   ^
6450 +
6451   CREATE TRIGGER SET_CUST_NO FOR CUSTOMER
6452   ACTIVE BEFORE INSERT POSITION 0
6453   AS
# Line 6377 | Line 6456 | BEGIN
6456      new.cust_no = gen_id(cust_no_gen, 1);
6457   END
6458   ^
6459 +
6460   CREATE TRIGGER SET_EMP_NO FOR EMPLOYEE
6461   ACTIVE BEFORE INSERT POSITION 0
6462   AS
# Line 6385 | Line 6465 | BEGIN
6465      new.emp_no = gen_id(emp_no_gen, 1);
6466   END
6467   ^
6468 +
6469   CREATE TRIGGER SAVE_SALARY_CHANGE FOR EMPLOYEE
6470   ACTIVE AFTER UPDATE POSITION 0
6471   AS
# Line 6400 | Line 6481 | BEGIN
6481              (new.salary - old.salary) * 100 / old.salary);
6482   END
6483   ^
6484 +
6485   CREATE TRIGGER POST_NEW_ORDER FOR SALES
6486   ACTIVE AFTER INSERT POSITION 0
6487   AS
# Line 6407 | Line 6489 | BEGIN
6489      POST_EVENT 'new_order';
6490   END
6491   ^
6492 +
6493   COMMIT WORK^
6494   SET TERM ;^
6495   COMMIT WORK;
6496   SET AUTODDL OFF;
6497 < SET TERM ^ ;
6497 > SET TERM ^;
6498  
6499   /* Package Definitions */
6500  
6501 < CREATE PACKAGE BODY FB$OUT                                                        
6501 > CREATE PACKAGE BODY FB$OUT
6502   AS
6420
6503   begin
6504          procedure enable
6505          as
# Line 6474 | Line 6556 | begin
6556   end
6557   ^
6558  
6559 < CREATE PACKAGE BODY SELECT$TEST                                                    
6559 > CREATE PACKAGE BODY SELECT$TEST
6560   AS
6479
6561   Begin
6562    Procedure ShowItems(IPARAM Integer) RETURNS (OutParam integer)
6563    As
# Line 6491 | Line 6572 | COMMIT WORK;
6572   SET AUTODDL ON;
6573   COMMIT WORK;
6574   SET AUTODDL OFF;
6575 < SET TERM ^ ;
6575 > SET TERM ^;
6576  
6577   /* Stored procedure Bodies */
6578  
6579 <
6499 < ALTER PROCEDURE SHOW_LANGS
6579 > ALTER PROCEDURE SHOW_LANGS
6580   (
6581    CODE VARCHAR(5) CHARACTER SET NONE,
6582    GRADE SMALLINT,
# Line 6517 | Line 6597 | BEGIN
6597             AND (language_req IS NOT NULL))
6598      INTO :languages;
6599      IF (languages = ' ') THEN  /* Prints 'NULL' instead of blanks */
6600 <       languages = 'NULL';        
6600 >       languages = 'NULL';
6601      i = i +1;
6602      SUSPEND;
6603    END
6604   END
6605   ^
6606  
6607 <
6528 < ALTER PROCEDURE ADD_EMP_PROJ
6607 > ALTER PROCEDURE ADD_EMP_PROJ
6608   (
6609    EMP_NO SMALLINT,
6610    PROJ_ID CHAR(5) CHARACTER SET NONE
# Line 6540 | Line 6619 | BEGIN
6619   END
6620   ^
6621  
6622 < ALTER PROCEDURE ALL_LANGS
6622 > ALTER PROCEDURE ALL_LANGS
6623   RETURNS
6624   (
6625    CODE VARCHAR(5) CHARACTER SET NONE,
# Line 6550 | Line 6629 | RETURNS
6629   )
6630   AS
6631   BEGIN
6632 <        FOR SELECT job_code, job_grade, job_country FROM job
6632 >        FOR SELECT job_code, job_grade, job_country FROM job
6633                  INTO :code, :grade, :country
6634  
6635          DO
6636          BEGIN
6637 <            FOR SELECT languages FROM show_langs
6637 >            FOR SELECT languages FROM show_langs
6638                      (:code, :grade, :country) INTO :lang DO
6639                  SUSPEND;
6640              /* Put nice separators between rows */
# Line 6568 | Line 6647 | BEGIN
6647      END
6648   ^
6649  
6650 <
6572 < ALTER PROCEDURE DELETE_EMPLOYEE
6650 > ALTER PROCEDURE DELETE_EMPLOYEE
6651   (
6652    EMP_NUM INTEGER
6653   )
# Line 6628 | Line 6706 | BEGIN
6706   END
6707   ^
6708  
6709 <
6632 < ALTER PROCEDURE DEPT_BUDGET
6709 > ALTER PROCEDURE DEPT_BUDGET
6710   (
6711    DNO CHAR(3) CHARACTER SET NONE
6712   )
6713   RETURNS
6714   (
6715 <  TOT DECIMAL(12, 2)
6715 >  TOT DECIMAL(12,2)
6716   )
6717   AS
6718 < DECLARE VARIABLE sumb DECIMAL(12, 2);
6718 > DECLARE VARIABLE sumb DECIMAL(12,2);
6719          DECLARE VARIABLE rdno CHAR(3);
6720          DECLARE VARIABLE cnt INTEGER;
6721   BEGIN
# Line 6675 | Line 6752 | RETURNS
6752    SALARY NUMERIC(10,2)
6753   )
6754   AS
6755 < BEGIN
6756 <  Select SALARY, Case
6757 <   When SALARY > 10000 and SALARY <= 100000 then 'higher'
6758 <   When SALARY > 100000 then 'gross'
6759 <   else 'lower' End
6760 <  From employee
6761 <    WHERE emp_no = :EMP_NUM
6755 > Declare aCursor CURSOR FOR (
6756 >    Select EMP_NO,SALARY From EMPLOYEE WHERE LAST_NAME = 'unknown');
6757 > BEGIN
6758 >  Select SALARY, Case
6759 >   When SALARY > 10000 and SALARY <= 100000 then 'higher'
6760 >   When SALARY > 100000 then 'gross'
6761 >   else 'lower' End
6762 >  From employee
6763 >    WHERE emp_no = :EMP_NUM
6764     into :SALARY, :PAY_STATUS;
6765   END
6766   ^
6767  
6768 < ALTER PROCEDURE GET_EMP_PROJ
6768 > ALTER PROCEDURE GET_EMP_PROJ
6769   (
6770    EMP_NO SMALLINT
6771   )
# Line 6705 | Line 6784 | BEGIN
6784   END
6785   ^
6786  
6787 <
6709 < ALTER PROCEDURE "Has Space"
6787 > ALTER PROCEDURE "Has Space"
6788   (
6789    ARG1 INTEGER
6790   )
# Line 6714 | Line 6792 | AS
6792   Begin End
6793   ^
6794  
6795 <
6718 < ALTER PROCEDURE MAIL_LABEL
6795 > ALTER PROCEDURE MAIL_LABEL
6796   (
6797    CUST_NO INTEGER
6798   )
# Line 6785 | Line 6862 | BEGIN
6862   END
6863   ^
6864  
6865 <
6789 < ALTER PROCEDURE ORG_CHART
6865 > ALTER PROCEDURE ORG_CHART
6866   RETURNS
6867   (
6868    HEAD_DEPT CHAR(25) CHARACTER SET NONE,
# Line 6828 | Line 6904 | BEGIN
6904   END
6905   ^
6906  
6907 <
6832 < ALTER PROCEDURE SHIP_ORDER
6907 > ALTER PROCEDURE SHIP_ORDER
6908   (
6909    PO_NUM CHAR(8) CHARACTER SET NONE
6910   )
# Line 6888 | Line 6963 | BEGIN
6963   END
6964   ^
6965  
6966 <
6892 < ALTER PROCEDURE SUB_TOT_BUDGET
6966 > ALTER PROCEDURE SUB_TOT_BUDGET
6967   (
6968    HEAD_DEPT CHAR(3) CHARACTER SET NONE
6969   )
6970   RETURNS
6971   (
6972 <  TOT_BUDGET DECIMAL(12, 2),
6973 <  AVG_BUDGET DECIMAL(12, 2),
6974 <  MIN_BUDGET DECIMAL(12, 2),
6975 <  MAX_BUDGET DECIMAL(12, 2)
6972 >  TOT_BUDGET DECIMAL(12,2),
6973 >  AVG_BUDGET DECIMAL(12,2),
6974 >  MIN_BUDGET DECIMAL(12,2),
6975 >  MAX_BUDGET DECIMAL(12,2)
6976   )
6977   AS
6978   BEGIN
# Line 6910 | Line 6984 | BEGIN
6984   END
6985   ^
6986  
6987 <
6914 < ALTER PROCEDURE "UC SPACE"
6987 > ALTER PROCEDURE "UC SPACE"
6988   (
6989    ARG1 INTEGER
6990   )
# Line 6919 | Line 6992 | AS
6992   Begin End
6993   ^
6994  
6995 <
6923 < ALTER PROCEDURE "iCASE"
6995 > ALTER PROCEDURE "iCASE"
6996   AS
6997   Begin End
6998   ^
# Line 6930 | Line 7002 | COMMIT WORK;
7002   SET AUTODDL ON;
7003   COMMIT WORK;
7004   SET AUTODDL OFF;
7005 < SET TERM ^ ;
7005 > SET TERM ^;
7006  
7007   /* Stored Function Body */
7008  
7009   ALTER FUNCTION F (X INTEGER)
7010   RETURNS INTEGER
7011 < AS
7011 > AS
7012   BEGIN
7013   RETURN X+1;
7014   END
7015   ^
7016  
6945
7017   SET TERM ;^
7018   COMMIT WORK;
7019   SET AUTODDL ON;
# Line 6957 | Line 7028 | COMMENT ON CHARACTER SET UTF8 IS 'Defaul
7028   /* Role: TESTROLE, Owner: SYSDBA */
7029  
7030   CREATE ROLE TESTROLE SET SYSTEM PRIVILEGES TO CREATE_DATABASE;
7031 < Error processing SQL statement: On Line 2281 Character 1:  Dynamic SQL Error
7031 > Error processing SQL statement: On Line 2338 Character 1:  Dynamic SQL Error
7032   -SQL error code = -104
7033   -Token unknown - line 1, column 22
7034   -SET When Executing: CREATE ROLE TESTROLE SET SYSTEM PRIVILEGES TO CREATE_DATABASE
# Line 7025 | Line 7096 | COMMENT ON DATABASE  IS 'Employee Test D
7096   /* Domain definitions */
7097  
7098   CREATE DOMAIN ADDRESSLINE AS VARCHAR(30);
7099 < CREATE DOMAIN BUDGET AS DECIMAL(12, 2)
7099 > CREATE DOMAIN BUDGET AS DECIMAL(12,2)
7100           DEFAULT 50000;
7101   CREATE DOMAIN COUNTRYNAME AS VARCHAR(15);
7102   CREATE DOMAIN CUSTNO AS INTEGER;
# Line 7041 | Line 7112 | CREATE DOMAIN PONUMBER AS CHAR(8);
7112   CREATE DOMAIN PRODTYPE AS VARCHAR(12)
7113           DEFAULT 'software' NOT NULL;
7114   CREATE DOMAIN PROJNO AS CHAR(5);
7115 < CREATE DOMAIN SALARY AS NUMERIC(10, 2)
7115 > CREATE DOMAIN SALARY AS NUMERIC(10,2)
7116           DEFAULT 0;
7117  
7118   /* Table: COUNTRIES, Owner: SYSDBA */
7119  
7120 < CREATE TABLE COUNTRIES
7120 > CREATE TABLE COUNTRIES
7121   (
7122          COUNTRY VARCHAR(64) NOT NULL,
7123          NONEU   SMALLINT,
# Line 7059 | Line 7130 | COMMENT ON COLUMN COUNTRIES.ISO2 IS 'Two
7130  
7131   /* Table: COUNTRY, Owner: SYSDBA */
7132  
7133 < CREATE TABLE COUNTRY
7133 > CREATE TABLE COUNTRY
7134   (
7135          COUNTRY COUNTRYNAME NOT NULL,
7136          CURRENCY        VARCHAR(10) NOT NULL,
# Line 7068 | Line 7139 | PRIMARY KEY (COUNTRY)
7139  
7140   /* Table: CUSTOMER, Owner: SYSDBA */
7141  
7142 < CREATE TABLE CUSTOMER
7142 > CREATE TABLE CUSTOMER
7143   (
7144          CUST_NO CUSTNO NOT NULL,
7145          CUSTOMER        VARCHAR(25) NOT NULL,
# Line 7088 | Line 7159 | PRIMARY KEY (CUST_NO)
7159  
7160   /* Table: DEPARTMENT, Owner: SYSDBA */
7161  
7162 < CREATE TABLE DEPARTMENT
7162 > CREATE TABLE DEPARTMENT
7163   (
7164          DEPT_NO DEPTNO NOT NULL,
7165          DEPARTMENT      VARCHAR(25) NOT NULL,
# Line 7103 | Line 7174 | PRIMARY KEY (DEPT_NO)
7174  
7175   /* Table: EMPLOYEE, Owner: SYSDBA */
7176  
7177 < CREATE TABLE EMPLOYEE
7177 > CREATE TABLE EMPLOYEE
7178   (
7179          EMP_NO  EMPNO NOT NULL,
7180          FIRST_NAME      FIRSTNAME NOT NULL,
# Line 7121 | Line 7192 | PRIMARY KEY (EMP_NO)
7192  
7193   /* Table: EMPLOYEE_PROJECT, Owner: SYSDBA */
7194  
7195 < CREATE TABLE EMPLOYEE_PROJECT
7195 > CREATE TABLE EMPLOYEE_PROJECT
7196   (
7197          EMP_NO  EMPNO NOT NULL,
7198          PROJ_ID PROJNO NOT NULL,
# Line 7130 | Line 7201 | PRIMARY KEY (EMP_NO, PROJ_ID)
7201  
7202   /* Table: FB$OUT_TABLE, Owner: SYSDBA */
7203  
7204 < CREATE GLOBAL TEMPORARY TABLE FB$OUT_TABLE
7204 > CREATE GLOBAL TEMPORARY TABLE FB$OUT_TABLE
7205   (
7206          LINE_NUM        INTEGER,
7207          CONTENT FB$OUT_TYPE
# Line 7138 | Line 7209 | CREATE GLOBAL TEMPORARY TABLE FB$OUT_TAB
7209  
7210   /* Table: ITEST, Owner: SYSDBA */
7211  
7212 < CREATE TABLE ITEST
7212 > CREATE TABLE ITEST
7213   (
7214          "KEY"   INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0) NOT NULL,
7215          SOMETEXT        VARCHAR(64),
# Line 7147 | Line 7218 | PRIMARY KEY ("KEY")
7218  
7219   /* Table: JOB, Owner: SYSDBA */
7220  
7221 < CREATE TABLE JOB
7221 > CREATE TABLE JOB
7222   (
7223          JOB_CODE        JOBCODE NOT NULL,
7224          JOB_GRADE       JOBGRADE NOT NULL,
# Line 7162 | Line 7233 | PRIMARY KEY (JOB_CODE, JOB_GRADE, JOB_CO
7233  
7234   /* Table: PROJECT, Owner: SYSDBA */
7235  
7236 < CREATE TABLE PROJECT
7236 > CREATE TABLE PROJECT
7237   (
7238          PROJ_ID PROJNO NOT NULL,
7239          PROJ_NAME       VARCHAR(20) NOT NULL,
# Line 7175 | Line 7246 | PRIMARY KEY (PROJ_ID)
7246  
7247   /* Table: PROJ_DEPT_BUDGET, Owner: SYSDBA */
7248  
7249 < CREATE TABLE PROJ_DEPT_BUDGET
7249 > CREATE TABLE PROJ_DEPT_BUDGET
7250   (
7251          FISCAL_YEAR     INTEGER NOT NULL,
7252          PROJ_ID PROJNO NOT NULL,
# Line 7187 | Line 7258 | PRIMARY KEY (FISCAL_YEAR, PROJ_ID, DEPT_
7258  
7259   /* Table: SALARY_HISTORY, Owner: SYSDBA */
7260  
7261 < CREATE TABLE SALARY_HISTORY
7261 > CREATE TABLE SALARY_HISTORY
7262   (
7263          EMP_NO  EMPNO NOT NULL,
7264          CHANGE_DATE     TIMESTAMP DEFAULT 'NOW' NOT NULL,
# Line 7200 | Line 7271 | PRIMARY KEY (EMP_NO, CHANGE_DATE, UPDATE
7271  
7272   /* Table: SALES, Owner: SYSDBA */
7273  
7274 < CREATE TABLE SALES
7274 > CREATE TABLE SALES
7275   (
7276          PO_NUMBER       PONUMBER NOT NULL,
7277          CUST_NO CUSTNO NOT NULL,
# Line 7211 | Line 7282 | CREATE TABLE SALES
7282          DATE_NEEDED     TIMESTAMP,
7283          PAID    CHAR(1) DEFAULT 'n',
7284          QTY_ORDERED     INTEGER DEFAULT 1 NOT NULL,
7285 <        TOTAL_VALUE     DECIMAL(9, 2) NOT NULL,
7285 >        TOTAL_VALUE     DECIMAL(9,2) NOT NULL,
7286          DISCOUNT        FLOAT DEFAULT 0 NOT NULL,
7287          ITEM_TYPE       PRODTYPE,
7288          AGED COMPUTED BY (ship_date - order_date),
# Line 7228 | Line 7299 | ENTRY_POINT 'addDay' MODULE_NAME 'fbudf'
7299  
7300  
7301   DECLARE EXTERNAL FUNCTION I64TRUNCATE
7302 < NUMERIC(18, 0) BY DESCRIPTOR, NUMERIC(18, 0) BY DESCRIPTOR
7302 > NUMERIC(18,0) BY DESCRIPTOR, NUMERIC(18,0) BY DESCRIPTOR
7303   RETURNS PARAMETER 2
7304   ENTRY_POINT 'fbtruncate' MODULE_NAME 'fbudf'
7305   ;
# Line 7979 | Line 8050 | ALTER SEQUENCE FB$OUT_SEQ RESTART WITH 1
8050   /* View: DEPTLIST, Owner: SYSDBA */
8051  
8052   CREATE VIEW DEPTLIST (
8053 <  EMP_NO,
8054 <  FIRST_NAME,
8055 <  LAST_NAME,
8056 <  PHONE_EXT,
8057 <  HIRE_DATE,
8058 <  DEPT_NO,
8059 <  JOB_CODE,
8060 <  JOB_GRADE,
8061 <  JOB_COUNTRY,
8062 <  SALARY,
8063 <  FULL_NAME,
8064 <  DEPT_PATH,
8065 <  DEPT_KEY_PATH,
8053 >  EMP_NO,
8054 >  FIRST_NAME,
8055 >  LAST_NAME,
8056 >  PHONE_EXT,
8057 >  HIRE_DATE,
8058 >  DEPT_NO,
8059 >  JOB_CODE,
8060 >  JOB_GRADE,
8061 >  JOB_COUNTRY,
8062 >  SALARY,
8063 >  FULL_NAME,
8064 >  DEPT_PATH,
8065 >  DEPT_KEY_PATH,
8066    "Payment Status"
8067   ) AS
8068   with recursive Depts As (
# Line 8007 | Line 8078 | JOIN Depts On D.HEAD_DEPT = Depts.DEPT_N
8078  
8079   Select distinct A.EMP_NO, A.FIRST_NAME, A.LAST_NAME, A.PHONE_EXT, A.HIRE_DATE, A.DEPT_NO, A.JOB_CODE,
8080   A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, D.DEPT_PATH, D.DEPT_KEY_PATH,
8081 < CASE When A.SALARY > 10000 then 'higher paid' else 'lower paid' End
8081 > CASE When A.SALARY > 10000 then 'higher paid' else 'lower paid' End
8082   From EMPLOYEE A
8083   JOIN Depts D On D.DEPT_NO = A.DEPT_NO
8084   ;
# Line 8015 | Line 8086 | JOIN Depts D On D.DEPT_NO = A.DEPT_NO
8086   /* View: PHONE_LIST, Owner: SYSDBA */
8087  
8088   CREATE VIEW PHONE_LIST (
8089 <  EMP_NO,
8090 <  FIRST_NAME,
8091 <  LAST_NAME,
8092 <  PHONE_EXT,
8093 <  LOCATION,
8089 >  EMP_NO,
8090 >  FIRST_NAME,
8091 >  LAST_NAME,
8092 >  PHONE_EXT,
8093 >  LOCATION,
8094    PHONE_NO
8095   ) AS
8096   SELECT
# Line 8121 | Line 8192 | CREATE EXCEPTION REASSIGN_SALES 'Reassig
8192   CREATE EXCEPTION UNKNOWN_EMP_ID 'Invalid employee number or project id.';
8193   COMMIT WORK;
8194   SET AUTODDL OFF;
8195 < SET TERM ^ ;
8195 > SET TERM ^;
8196  
8197   /* Package Definitions */
8198  
8199 < CREATE PACKAGE FB$OUT                        
8199 > CREATE PACKAGE FB$OUT
8200   AS
8130
8201   begin
8202          procedure enable;
8203          procedure disable;
# Line 8137 | Line 8207 | begin
8207  
8208          procedure get_lines returns (lines fb$out_type);
8209   end
8210 < ^
8210 > ^
8211  
8212 < CREATE PACKAGE SELECT$TEST                    
8212 > CREATE PACKAGE SELECT$TEST
8213   AS
8144
8214   Begin
8215    Procedure ShowItems(IPARAM Integer) RETURNS (OutParam integer);
8216   End
8217 < ^
8217 > ^
8218  
8219 < SET TERM ; ^
8219 > SET TERM ;^
8220   COMMIT WORK;
8221   SET AUTODDL ON;
8222   COMMIT WORK;
8223   SET AUTODDL OFF;
8224 < SET TERM ^ ;
8224 > SET TERM ^;
8225  
8226   /* Stored procedures Definitions*/
8227  
# Line 8169 | Line 8238 | RETURNS
8238   AS
8239   BEGIN SUSPEND; EXIT; END
8240   ^
8241 +
8242   CREATE PROCEDURE ADD_EMP_PROJ
8243   (
8244    EMP_NO SMALLINT,
# Line 8177 | Line 8247 | CREATE PROCEDURE ADD_EMP_PROJ
8247   AS
8248   BEGIN EXIT; END
8249   ^
8250 +
8251   CREATE PROCEDURE ALL_LANGS
8252   RETURNS
8253   (
# Line 8188 | Line 8259 | RETURNS
8259   AS
8260   BEGIN SUSPEND; EXIT; END
8261   ^
8262 +
8263   CREATE PROCEDURE DELETE_EMPLOYEE
8264   (
8265    EMP_NUM INTEGER
# Line 8195 | Line 8267 | CREATE PROCEDURE DELETE_EMPLOYEE
8267   AS
8268   BEGIN EXIT; END
8269   ^
8270 +
8271   CREATE PROCEDURE DEPT_BUDGET
8272   (
8273    DNO CHAR(3) CHARACTER SET NONE
8274   )
8275   RETURNS
8276   (
8277 <  TOT DECIMAL(12, 2)
8277 >  TOT DECIMAL(12,2)
8278   )
8279   AS
8280   BEGIN SUSPEND; EXIT; END
8281   ^
8282 +
8283   CREATE PROCEDURE EMPLOYEE_PAY_STATUS
8284   (
8285    EMP_NUM SMALLINT
# Line 8213 | Line 8287 | CREATE PROCEDURE EMPLOYEE_PAY_STATUS
8287   RETURNS
8288   (
8289    PAY_STATUS VARCHAR(6) CHARACTER SET NONE,
8290 <  SALARY NUMERIC(10, 2)
8290 >  SALARY NUMERIC(10,2)
8291   )
8292   AS
8293   BEGIN EXIT; END
8294   ^
8295 +
8296   CREATE PROCEDURE GET_EMP_PROJ
8297   (
8298    EMP_NO SMALLINT
# Line 8229 | Line 8304 | RETURNS
8304   AS
8305   BEGIN SUSPEND; EXIT; END
8306   ^
8307 +
8308   CREATE PROCEDURE "Has Space"
8309   (
8310    ARG1 INTEGER
# Line 8236 | Line 8312 | CREATE PROCEDURE "Has Space"
8312   AS
8313   BEGIN EXIT; END
8314   ^
8315 +
8316   CREATE PROCEDURE MAIL_LABEL
8317   (
8318    CUST_NO INTEGER
# Line 8252 | Line 8329 | RETURNS
8329   AS
8330   BEGIN SUSPEND; EXIT; END
8331   ^
8332 +
8333   CREATE PROCEDURE ORG_CHART
8334   RETURNS
8335   (
# Line 8264 | Line 8342 | RETURNS
8342   AS
8343   BEGIN SUSPEND; EXIT; END
8344   ^
8345 +
8346   CREATE PROCEDURE SHIP_ORDER
8347   (
8348    PO_NUM CHAR(8) CHARACTER SET NONE
# Line 8271 | Line 8350 | CREATE PROCEDURE SHIP_ORDER
8350   AS
8351   BEGIN EXIT; END
8352   ^
8353 +
8354   CREATE PROCEDURE SUB_TOT_BUDGET
8355   (
8356    HEAD_DEPT CHAR(3) CHARACTER SET NONE
8357   )
8358   RETURNS
8359   (
8360 <  TOT_BUDGET DECIMAL(12, 2),
8361 <  AVG_BUDGET DECIMAL(12, 2),
8362 <  MIN_BUDGET DECIMAL(12, 2),
8363 <  MAX_BUDGET DECIMAL(12, 2)
8360 >  TOT_BUDGET DECIMAL(12,2),
8361 >  AVG_BUDGET DECIMAL(12,2),
8362 >  MIN_BUDGET DECIMAL(12,2),
8363 >  MAX_BUDGET DECIMAL(12,2)
8364   )
8365   AS
8366   BEGIN SUSPEND; EXIT; END
8367   ^
8368 +
8369   CREATE PROCEDURE "UC SPACE"
8370   (
8371    ARG1 INTEGER
# Line 8292 | Line 8373 | CREATE PROCEDURE "UC SPACE"
8373   AS
8374   BEGIN EXIT; END
8375   ^
8376 +
8377   CREATE PROCEDURE "iCASE"
8378   AS
8379   BEGIN EXIT; END
8380   ^
8381 < SET TERM ; ^
8381 >
8382 > SET TERM ;^
8383   COMMIT WORK;
8384   SET AUTODDL ON;
8385   COMMIT WORK;
8386   SET AUTODDL OFF;
8387 < SET TERM ^ ;
8387 > SET TERM ^;
8388  
8389   /* Stored Function declarations */
8390  
# Line 8310 | Line 8393 | CREATE FUNCTION F (X INTEGER)
8393   AS BEGIN END
8394   ^
8395  
8396 <
8314 < SET TERM ; ^
8396 > SET TERM ;^
8397   COMMIT WORK;
8398   SET AUTODDL ON;
8399 < SET TERM ^ ;
8399 > SET TERM ^;
8400  
8401  
8402   /* Triggers only will work for SQL triggers */
# Line 8324 | Line 8406 | ACTIVE ON CONNECT POSITION 0
8406   as
8407   begin
8408   End
8409 < ^
8409 > ^
8410 >
8411   CREATE TRIGGER "BEFORE CREATE TABLE"
8412   ACTIVE BEFORE CREATE TABLE POSITION 0
8413   AS BEGIN END
8414 < ^
8414 > ^
8415 >
8416   CREATE TRIGGER "AFTER CREATE TABLE"
8417   ACTIVE AFTER CREATE TABLE POSITION 0
8418   AS BEGIN END
8419 < ^
8419 > ^
8420 >
8421   CREATE TRIGGER "BEFORE ALTER TABLE"
8422   ACTIVE BEFORE ALTER TABLE POSITION 0
8423   AS BEGIN END
8424 < ^
8424 > ^
8425 >
8426   CREATE TRIGGER "AFTER ALTER TABLE"
8427   ACTIVE AFTER ALTER TABLE POSITION 0
8428   AS BEGIN END
8429 < ^
8429 > ^
8430 >
8431   CREATE TRIGGER "AFTER CREATE/Alter TABLE"
8432   ACTIVE AFTER CREATE TABLE OR ALTER TABLE POSITION 0
8433   AS BEGIN END
8434 < ^
8434 > ^
8435 >
8436   CREATE TRIGGER "BEFORE DROP TABLE"
8437   ACTIVE BEFORE Drop TABLE POSITION 0
8438   AS BEGIN END
8439 < ^
8439 > ^
8440 >
8441   CREATE TRIGGER "AFTER DROP TABLE"
8442   ACTIVE AFTER Drop TABLE POSITION 0
8443   AS BEGIN END
8444 < ^
8444 > ^
8445 >
8446   CREATE TRIGGER "BEFORE CREATE PROCEDURE"
8447   ACTIVE BEFORE CREATE PROCEDURE POSITION 0
8448   AS BEGIN END
8449 < ^
8449 > ^
8450 >
8451   CREATE TRIGGER "AFTER CREATE PROCEDURE"
8452   ACTIVE AFTER CREATE PROCEDURE POSITION 0
8453   AS BEGIN END
8454 < ^
8454 > ^
8455 >
8456   CREATE TRIGGER "BEFORE ALTER PROCEDURE"
8457   ACTIVE BEFORE ALTER PROCEDURE POSITION 0
8458   AS BEGIN END
8459 < ^
8459 > ^
8460 >
8461   CREATE TRIGGER "AFTER ALTER PROCEDURE"
8462   ACTIVE AFTER ALTER PROCEDURE POSITION 0
8463   AS BEGIN END
8464 < ^
8464 > ^
8465 >
8466   CREATE TRIGGER "BEFORE DROP PROCEDURE"
8467   ACTIVE BEFORE Drop PROCEDURE POSITION 0
8468   AS BEGIN END
8469 < ^
8469 > ^
8470 >
8471   CREATE TRIGGER "AFTER DROP PROCEDURE"
8472   ACTIVE AFTER Drop PROCEDURE POSITION 0
8473   AS BEGIN END
8474 < ^
8474 > ^
8475 >
8476   CREATE TRIGGER "BEFORE CREATE FUNCTION"
8477   ACTIVE BEFORE CREATE FUNCTION POSITION 0
8478   AS BEGIN END
8479 < ^
8479 > ^
8480 >
8481   CREATE TRIGGER "AFTER CREATE FUNCTION"
8482   ACTIVE AFTER CREATE FUNCTION POSITION 0
8483   AS BEGIN END
8484 < ^
8484 > ^
8485 >
8486   CREATE TRIGGER "BEFORE ALTER FUNCTION"
8487   ACTIVE BEFORE ALTER FUNCTION POSITION 0
8488   AS BEGIN END
8489 < ^
8489 > ^
8490 >
8491   CREATE TRIGGER "AFTER ALTER FUNCTION"
8492   ACTIVE AFTER ALTER FUNCTION POSITION 0
8493   AS BEGIN END
8494 < ^
8494 > ^
8495 >
8496   CREATE TRIGGER "BEFORE DROP FUNCTION"
8497   ACTIVE BEFORE Drop FUNCTION POSITION 0
8498   AS BEGIN END
8499 < ^
8499 > ^
8500 >
8501   CREATE TRIGGER "AFTER DROP FUNCTION"
8502   ACTIVE AFTER Drop FUNCTION POSITION 0
8503   AS BEGIN END
8504 < ^
8504 > ^
8505 >
8506   CREATE TRIGGER "BEFORE CREATE TRIGGER"
8507   ACTIVE BEFORE CREATE TRIGGER POSITION 0
8508   AS BEGIN END
8509 < ^
8509 > ^
8510 >
8511   CREATE TRIGGER "AFTER CREATE TRIGGER"
8512   ACTIVE AFTER CREATE TRIGGER POSITION 0
8513   AS BEGIN END
8514 < ^
8514 > ^
8515 >
8516   CREATE TRIGGER "BEFORE ALTER TRIGGER"
8517   ACTIVE BEFORE ALTER TRIGGER POSITION 0
8518   AS BEGIN END
8519 < ^
8519 > ^
8520 >
8521   CREATE TRIGGER "AFTER ALTER TRIGGER"
8522   ACTIVE AFTER ALTER TRIGGER POSITION 0
8523   AS BEGIN END
8524 < ^
8524 > ^
8525 >
8526   CREATE TRIGGER "BEFORE DROP TRIGGER"
8527   ACTIVE BEFORE Drop TRIGGER POSITION 0
8528   AS BEGIN END
8529 < ^
8529 > ^
8530 >
8531   CREATE TRIGGER "AFTER DROP TRIGGER"
8532   ACTIVE AFTER Drop TRIGGER POSITION 0
8533   AS BEGIN END
8534 < ^
8534 > ^
8535 >
8536   CREATE TRIGGER "BEFORE CREATE EXCEPTION"
8537   ACTIVE BEFORE CREATE EXCEPTION POSITION 0
8538   AS BEGIN END
8539 < ^
8539 > ^
8540 >
8541   CREATE TRIGGER "AFTER CREATE EXCEPTION"
8542   ACTIVE AFTER CREATE EXCEPTION POSITION 0
8543   AS BEGIN END
8544 < ^
8544 > ^
8545 >
8546   CREATE TRIGGER "BEFORE ALTER EXCEPTION"
8547   ACTIVE BEFORE ALTER EXCEPTION POSITION 0
8548   AS BEGIN END
8549 < ^
8549 > ^
8550 >
8551   CREATE TRIGGER "AFTER ALTER EXCEPTION"
8552   ACTIVE AFTER ALTER EXCEPTION POSITION 0
8553   AS BEGIN END
8554 < ^
8554 > ^
8555 >
8556   CREATE TRIGGER "BEFORE DROP EXCEPTION"
8557   ACTIVE BEFORE Drop EXCEPTION POSITION 0
8558   AS BEGIN END
8559 < ^
8559 > ^
8560 >
8561   CREATE TRIGGER "AFTER DROP EXCEPTION"
8562   ACTIVE AFTER Drop EXCEPTION POSITION 0
8563   AS BEGIN END
8564 < ^
8564 > ^
8565 >
8566   CREATE TRIGGER "BEFORE CREATE VIEW"
8567   ACTIVE BEFORE CREATE VIEW POSITION 0
8568   AS BEGIN END
8569 < ^
8569 > ^
8570 >
8571   CREATE TRIGGER "AFTER CREATE VIEW"
8572   ACTIVE AFTER CREATE VIEW POSITION 0
8573   AS BEGIN END
8574 < ^
8574 > ^
8575 >
8576   CREATE TRIGGER "BEFORE ALTER VIEW"
8577   ACTIVE BEFORE ALTER VIEW POSITION 0
8578   AS BEGIN END
8579 < ^
8579 > ^
8580 >
8581   CREATE TRIGGER "AFTER ALTER VIEW"
8582   ACTIVE AFTER ALTER VIEW POSITION 0
8583   AS BEGIN END
8584 < ^
8584 > ^
8585 >
8586   CREATE TRIGGER "BEFORE DROP VIEW"
8587   ACTIVE BEFORE Drop VIEW POSITION 0
8588   AS BEGIN END
8589 < ^
8589 > ^
8590 >
8591   CREATE TRIGGER "AFTER DROP VIEW"
8592   ACTIVE AFTER Drop VIEW POSITION 0
8593   AS BEGIN END
8594 < ^
8594 > ^
8595 >
8596   CREATE TRIGGER "BEFORE CREATE DOMAIN"
8597   ACTIVE BEFORE CREATE DOMAIN POSITION 0
8598   AS BEGIN END
8599 < ^
8599 > ^
8600 >
8601   CREATE TRIGGER "AFTER CREATE DOMAIN"
8602   ACTIVE AFTER CREATE DOMAIN POSITION 0
8603   AS BEGIN END
8604 < ^
8604 > ^
8605 >
8606   CREATE TRIGGER "BEFORE ALTER DOMAIN"
8607   ACTIVE BEFORE ALTER DOMAIN POSITION 0
8608   AS BEGIN END
8609 < ^
8609 > ^
8610 >
8611   CREATE TRIGGER "AFTER ALTER DOMAIN"
8612   ACTIVE AFTER ALTER DOMAIN POSITION 0
8613   AS BEGIN END
8614 < ^
8614 > ^
8615 >
8616   CREATE TRIGGER "BEFORE DROP DOMAIN"
8617   ACTIVE BEFORE Drop DOMAIN POSITION 0
8618   AS BEGIN END
8619 < ^
8619 > ^
8620 >
8621   CREATE TRIGGER "AFTER DROP DOMAIN"
8622   ACTIVE AFTER Drop DOMAIN POSITION 0
8623   AS BEGIN END
8624 < ^
8624 > ^
8625 >
8626   CREATE TRIGGER "BEFORE CREATE ROLE"
8627   ACTIVE BEFORE CREATE ROLE POSITION 0
8628   AS BEGIN END
8629 < ^
8629 > ^
8630 >
8631   CREATE TRIGGER "AFTER CREATE ROLE"
8632   ACTIVE AFTER CREATE ROLE POSITION 0
8633   AS BEGIN END
8634 < ^
8634 > ^
8635 >
8636   CREATE TRIGGER "BEFORE ALTER ROLE"
8637   ACTIVE BEFORE ALTER ROLE POSITION 0
8638   AS BEGIN END
8639 < ^
8639 > ^
8640 >
8641   CREATE TRIGGER "AFTER ALTER ROLE"
8642   ACTIVE AFTER ALTER ROLE POSITION 0
8643   AS BEGIN END
8644 < ^
8644 > ^
8645 >
8646   CREATE TRIGGER "BEFORE DROP ROLE"
8647   ACTIVE BEFORE Drop ROLE POSITION 0
8648   AS BEGIN END
8649 < ^
8649 > ^
8650 >
8651   CREATE TRIGGER "AFTER DROP ROLE"
8652   ACTIVE AFTER Drop ROLE POSITION 0
8653   AS BEGIN END
8654 < ^
8654 > ^
8655 >
8656   CREATE TRIGGER "BEFORE CREATE INDEX"
8657   ACTIVE BEFORE CREATE INDEX POSITION 0
8658   AS BEGIN END
8659 < ^
8659 > ^
8660 >
8661   CREATE TRIGGER "AFTER CREATE INDEX"
8662   ACTIVE AFTER CREATE INDEX POSITION 0
8663   AS BEGIN END
8664 < ^
8664 > ^
8665 >
8666   CREATE TRIGGER "BEFORE ALTER INDEX"
8667   ACTIVE BEFORE ALTER INDEX POSITION 0
8668   AS BEGIN END
8669 < ^
8669 > ^
8670 >
8671   CREATE TRIGGER "AFTER ALTER INDEX"
8672   ACTIVE AFTER ALTER INDEX POSITION 0
8673   AS BEGIN END
8674 < ^
8674 > ^
8675 >
8676   CREATE TRIGGER "BEFORE DROP INDEX"
8677   ACTIVE BEFORE Drop INDEX POSITION 0
8678   AS BEGIN END
8679 < ^
8679 > ^
8680 >
8681   CREATE TRIGGER "AFTER DROP INDEX"
8682   ACTIVE AFTER Drop INDEX POSITION 0
8683   AS BEGIN END
8684 < ^
8684 > ^
8685 >
8686   CREATE TRIGGER "BEFORE CREATE SEQUENCE"
8687   ACTIVE BEFORE CREATE SEQUENCE POSITION 0
8688   AS BEGIN END
8689 < ^
8689 > ^
8690 >
8691   CREATE TRIGGER "AFTER CREATE SEQUENCE"
8692   ACTIVE AFTER CREATE SEQUENCE POSITION 0
8693   AS BEGIN END
8694 < ^
8694 > ^
8695 >
8696   CREATE TRIGGER "BEFORE ALTER SEQUENCE"
8697   ACTIVE BEFORE ALTER SEQUENCE POSITION 0
8698   AS BEGIN END
8699 < ^
8699 > ^
8700 >
8701   CREATE TRIGGER "AFTER ALTER SEQUENCE"
8702   ACTIVE AFTER ALTER SEQUENCE POSITION 0
8703   AS BEGIN END
8704 < ^
8704 > ^
8705 >
8706   CREATE TRIGGER "BEFORE DROP SEQUENCE"
8707   ACTIVE BEFORE Drop SEQUENCE POSITION 0
8708   AS BEGIN END
8709 < ^
8709 > ^
8710 >
8711   CREATE TRIGGER "AFTER DROP SEQUENCE"
8712   ACTIVE AFTER Drop SEQUENCE POSITION 0
8713   AS BEGIN END
8714 < ^
8714 > ^
8715 >
8716   CREATE TRIGGER "BEFORE CREATE USER"
8717   ACTIVE BEFORE CREATE USER POSITION 0
8718   AS BEGIN END
8719 < ^
8719 > ^
8720 >
8721   CREATE TRIGGER "AFTER CREATE USER"
8722   ACTIVE AFTER CREATE USER POSITION 0
8723   AS BEGIN END
8724 < ^
8724 > ^
8725 >
8726   CREATE TRIGGER "BEFORE ALTER USER"
8727   ACTIVE BEFORE ALTER USER POSITION 0
8728   AS BEGIN END
8729 < ^
8729 > ^
8730 >
8731   CREATE TRIGGER "AFTER ALTER USER"
8732   ACTIVE AFTER ALTER USER POSITION 0
8733   AS BEGIN END
8734 < ^
8734 > ^
8735 >
8736   CREATE TRIGGER "BEFORE DROP USER"
8737   ACTIVE BEFORE Drop USER POSITION 0
8738   AS BEGIN END
8739 < ^
8739 > ^
8740 >
8741   CREATE TRIGGER "AFTER DROP USER"
8742   ACTIVE AFTER Drop USER POSITION 0
8743   AS BEGIN END
8744 < ^
8744 > ^
8745 >
8746   CREATE TRIGGER "BEFORE CREATE COLLATION"
8747   ACTIVE BEFORE CREATE COLLATION POSITION 0
8748   AS BEGIN END
8749 < ^
8749 > ^
8750 >
8751   CREATE TRIGGER "AFTER CREATE COLLATION"
8752   ACTIVE AFTER CREATE COLLATION POSITION 0
8753   AS BEGIN END
8754 < ^
8754 > ^
8755 >
8756   CREATE TRIGGER "BEFORE DROP COLLATION"
8757   ACTIVE BEFORE Drop COLLATION POSITION 0
8758   AS BEGIN END
8759 < ^
8759 > ^
8760 >
8761   CREATE TRIGGER "AFTER DROP COLLATION"
8762   ACTIVE AFTER Drop COLLATION POSITION 0
8763   AS BEGIN END
8764 < ^
8764 > ^
8765 >
8766   CREATE TRIGGER "BEFORE ALTER CHARACTER SET"
8767   ACTIVE BEFORE ALTER CHARACTER SET POSITION 0
8768   AS BEGIN END
8769 < ^
8769 > ^
8770 >
8771   CREATE TRIGGER "AFTER ALTER CHARACTER SET"
8772   ACTIVE AFTER ALTER CHARACTER SET POSITION 0
8773   AS BEGIN END
8774 < ^
8774 > ^
8775 >
8776   CREATE TRIGGER "BEFORE CREATE PACKAGE"
8777   ACTIVE BEFORE CREATE PACKAGE POSITION 0
8778   AS BEGIN END
8779 < ^
8779 > ^
8780 >
8781   CREATE TRIGGER "AFTER CREATE PACKAGE"
8782   ACTIVE AFTER CREATE PACKAGE POSITION 0
8783   AS BEGIN END
8784 < ^
8784 > ^
8785 >
8786   CREATE TRIGGER "BEFORE ALTER PACKAGE"
8787   ACTIVE BEFORE ALTER PACKAGE POSITION 0
8788   AS BEGIN END
8789 < ^
8789 > ^
8790 >
8791   CREATE TRIGGER "AFTER ALTER PACKAGE"
8792   ACTIVE AFTER ALTER PACKAGE POSITION 0
8793   AS BEGIN END
8794 < ^
8794 > ^
8795 >
8796   CREATE TRIGGER "BEFORE DROP PACKAGE"
8797   ACTIVE BEFORE Drop PACKAGE POSITION 0
8798   AS BEGIN END
8799 < ^
8799 > ^
8800 >
8801   CREATE TRIGGER "AFTER DROP PACKAGE"
8802   ACTIVE AFTER Drop PACKAGE POSITION 0
8803   AS BEGIN END
8804 < ^
8804 > ^
8805 >
8806   CREATE TRIGGER "BEFORE CREATE PACKAGE BODY"
8807   ACTIVE BEFORE CREATE PACKAGE BODY POSITION 0
8808   AS BEGIN END
8809 < ^
8809 > ^
8810 >
8811   CREATE TRIGGER "AFTER CREATE PACKAGE BODY"
8812   ACTIVE AFTER CREATE PACKAGE BODY POSITION 0
8813   AS BEGIN END
8814 < ^
8814 > ^
8815 >
8816   CREATE TRIGGER "BEFORE DROP PACKAGE BODY"
8817   ACTIVE BEFORE Drop PACKAGE BODY POSITION 0
8818   AS BEGIN END
8819 < ^
8819 > ^
8820 >
8821   CREATE TRIGGER "AFTER DROP PACKAGE BODY"
8822   ACTIVE AFTER Drop PACKAGE BODY POSITION 0
8823   AS BEGIN END
8824 < ^
8824 > ^
8825 >
8826   CREATE TRIGGER "BEFORE ANY DDL STATEMENT"
8827   ACTIVE BEFORE ANY DDL STATEMENT POSITION 0
8828   AS BEGIN END
8829 < ^
8829 > ^
8830 >
8831   CREATE TRIGGER "AFTER ANY DDL STATEMENT"
8832   ACTIVE AFTER ANY DDL STATEMENT POSITION 0
8833   AS BEGIN END
8834 < ^
8834 > ^
8835 >
8836   CREATE TRIGGER SET_CUST_NO FOR CUSTOMER
8837   ACTIVE BEFORE INSERT POSITION 0
8838   AS
# Line 8672 | Line 8840 | BEGIN
8840      if (new.cust_no is null) then
8841      new.cust_no = gen_id(cust_no_gen, 1);
8842   END
8843 < ^
8843 > ^
8844 >
8845   CREATE TRIGGER SET_EMP_NO FOR EMPLOYEE
8846   ACTIVE BEFORE INSERT POSITION 0
8847   AS
# Line 8680 | Line 8849 | BEGIN
8849      if (new.emp_no is null) then
8850      new.emp_no = gen_id(emp_no_gen, 1);
8851   END
8852 < ^
8852 > ^
8853 >
8854   CREATE TRIGGER SAVE_SALARY_CHANGE FOR EMPLOYEE
8855   ACTIVE AFTER UPDATE POSITION 0
8856   AS
# Line 8695 | Line 8865 | BEGIN
8865              old.salary,
8866              (new.salary - old.salary) * 100 / old.salary);
8867   END
8868 < ^
8868 > ^
8869 >
8870   CREATE TRIGGER POST_NEW_ORDER FOR SALES
8871   ACTIVE AFTER INSERT POSITION 0
8872   AS
8873   BEGIN
8874      POST_EVENT 'new_order';
8875   END
8876 < ^
8877 < COMMIT WORK ^
8876 > ^
8877 >
8878 > COMMIT WORK^
8879   SET TERM ;^
8880   COMMIT WORK;
8881   SET AUTODDL OFF;
8882 < SET TERM ^ ;
8882 > SET TERM ^;
8883  
8884   /* Package Definitions */
8885  
8886 < CREATE PACKAGE BODY FB$OUT                        
8886 > CREATE PACKAGE BODY FB$OUT
8887   AS
8716
8888   begin
8889          procedure enable
8890          as
# Line 8768 | Line 8939 | begin
8939                  execute procedure clear;
8940          end
8941   end
8942 < ^
8942 > ^
8943  
8944 < CREATE PACKAGE BODY SELECT$TEST                    
8944 > CREATE PACKAGE BODY SELECT$TEST
8945   AS
8775
8946   Begin
8947    Procedure ShowItems(IPARAM Integer) RETURNS (OutParam integer)
8948    As
# Line 8780 | Line 8950 | Begin
8950      SUSPEND;
8951    End
8952   End
8953 < ^
8953 > ^
8954  
8955 < SET TERM ; ^
8955 > SET TERM ;^
8956   COMMIT WORK;
8957   SET AUTODDL ON;
8958   COMMIT WORK;
8959   SET AUTODDL OFF;
8960 < SET TERM ^ ;
8960 > SET TERM ^;
8961  
8962   /* Stored procedure Bodies */
8963  
8794
8964   ALTER PROCEDURE SHOW_LANGS
8965   (
8966    CODE VARCHAR(5) CHARACTER SET NONE,
# Line 8813 | Line 8982 | BEGIN
8982             AND (language_req IS NOT NULL))
8983      INTO :languages;
8984      IF (languages = ' ') THEN  /* Prints 'NULL' instead of blanks */
8985 <       languages = 'NULL';        
8985 >       languages = 'NULL';
8986      i = i +1;
8987      SUSPEND;
8988    END
# Line 8845 | Line 9014 | RETURNS
9014   )
9015   AS
9016   BEGIN
9017 <        FOR SELECT job_code, job_grade, job_country FROM job
9017 >        FOR SELECT job_code, job_grade, job_country FROM job
9018                  INTO :code, :grade, :country
9019  
9020          DO
9021          BEGIN
9022 <            FOR SELECT languages FROM show_langs
9022 >            FOR SELECT languages FROM show_langs
9023                      (:code, :grade, :country) INTO :lang DO
9024                  SUSPEND;
9025              /* Put nice separators between rows */
# Line 8928 | Line 9097 | ALTER PROCEDURE DEPT_BUDGET
9097   )
9098   RETURNS
9099   (
9100 <  TOT DECIMAL(12, 2)
9100 >  TOT DECIMAL(12,2)
9101   )
9102   AS
9103 < DECLARE VARIABLE sumb DECIMAL(12, 2);
9103 > DECLARE VARIABLE sumb DECIMAL(12,2);
9104          DECLARE VARIABLE rdno CHAR(3);
9105          DECLARE VARIABLE cnt INTEGER;
9106   BEGIN
# Line 8965 | Line 9134 | ALTER PROCEDURE EMPLOYEE_PAY_STATUS
9134   RETURNS
9135   (
9136    PAY_STATUS VARCHAR(6) CHARACTER SET NONE,
9137 <  SALARY NUMERIC(10, 2)
9137 >  SALARY NUMERIC(10,2)
9138   )
9139   AS
9140 < BEGIN
9141 <  Select SALARY, Case
9142 <   When SALARY > 10000 and SALARY <= 100000 then 'higher'
9143 <   When SALARY > 100000 then 'gross'
9144 <   else 'lower' End
9145 <  From employee
9146 <    WHERE emp_no = :EMP_NUM
9140 > Declare aCursor CURSOR FOR (
9141 >    Select EMP_NO,SALARY From EMPLOYEE WHERE LAST_NAME = 'unknown');
9142 > BEGIN
9143 >  Select SALARY, Case
9144 >   When SALARY > 10000 and SALARY <= 100000 then 'higher'
9145 >   When SALARY > 100000 then 'gross'
9146 >   else 'lower' End
9147 >  From employee
9148 >    WHERE emp_no = :EMP_NUM
9149     into :SALARY, :PAY_STATUS;
9150   END
9151   ^
# Line 9183 | Line 9354 | ALTER PROCEDURE SUB_TOT_BUDGET
9354   )
9355   RETURNS
9356   (
9357 <  TOT_BUDGET DECIMAL(12, 2),
9358 <  AVG_BUDGET DECIMAL(12, 2),
9359 <  MIN_BUDGET DECIMAL(12, 2),
9360 <  MAX_BUDGET DECIMAL(12, 2)
9357 >  TOT_BUDGET DECIMAL(12,2),
9358 >  AVG_BUDGET DECIMAL(12,2),
9359 >  MIN_BUDGET DECIMAL(12,2),
9360 >  MAX_BUDGET DECIMAL(12,2)
9361   )
9362   AS
9363   BEGIN
# Line 9210 | Line 9381 | ALTER PROCEDURE "iCASE"
9381   AS
9382   Begin End
9383   ^
9384 < SET TERM ; ^
9384 >
9385 > SET TERM ;^
9386   COMMIT WORK;
9387   SET AUTODDL ON;
9388   COMMIT WORK;
9389   SET AUTODDL OFF;
9390 < SET TERM ^ ;
9390 > SET TERM ^;
9391  
9392   /* Stored Function Body */
9393  
9394   ALTER FUNCTION F (X INTEGER)
9395   RETURNS INTEGER
9396 < AS
9396 > AS
9397   BEGIN
9398   RETURN X+1;
9399   END
9400   ^
9401  
9402 <
9231 < SET TERM ; ^
9402 > SET TERM ;^
9403   COMMIT WORK;
9404   SET AUTODDL ON;
9405  
# Line 9298 | Line 9469 | COMMENT ON DATABASE  IS 'Employee Test D
9469   /* Domain definitions */
9470  
9471   CREATE DOMAIN ADDRESSLINE AS VARCHAR(30);
9472 < CREATE DOMAIN BUDGET AS DECIMAL(12, 2)
9472 > CREATE DOMAIN BUDGET AS DECIMAL(12,2)
9473           DEFAULT 50000;
9474   CREATE DOMAIN COUNTRYNAME AS VARCHAR(15);
9475   CREATE DOMAIN CUSTNO AS INTEGER;
# Line 9314 | Line 9485 | CREATE DOMAIN PONUMBER AS CHAR(8);
9485   CREATE DOMAIN PRODTYPE AS VARCHAR(12)
9486           DEFAULT 'software' NOT NULL;
9487   CREATE DOMAIN PROJNO AS CHAR(5);
9488 < CREATE DOMAIN SALARY AS NUMERIC(10, 2)
9488 > CREATE DOMAIN SALARY AS NUMERIC(10,2)
9489           DEFAULT 0;
9490  
9491   /* Table: COUNTRIES, Owner: SYSDBA */
9492  
9493 < CREATE TABLE COUNTRIES
9493 > CREATE TABLE COUNTRIES
9494   (
9495          COUNTRY VARCHAR(64) NOT NULL,
9496          NONEU   SMALLINT,
# Line 9332 | Line 9503 | COMMENT ON COLUMN COUNTRIES.ISO2 IS 'Two
9503  
9504   /* Table: COUNTRY, Owner: SYSDBA */
9505  
9506 < CREATE TABLE COUNTRY
9506 > CREATE TABLE COUNTRY
9507   (
9508          COUNTRY COUNTRYNAME NOT NULL,
9509          CURRENCY        VARCHAR(10) NOT NULL,
# Line 9341 | Line 9512 | PRIMARY KEY (COUNTRY)
9512  
9513   /* Table: CUSTOMER, Owner: SYSDBA */
9514  
9515 < CREATE TABLE CUSTOMER
9515 > CREATE TABLE CUSTOMER
9516   (
9517          CUST_NO CUSTNO NOT NULL,
9518          CUSTOMER        VARCHAR(25) NOT NULL,
# Line 9361 | Line 9532 | PRIMARY KEY (CUST_NO)
9532  
9533   /* Table: DEPARTMENT, Owner: SYSDBA */
9534  
9535 < CREATE TABLE DEPARTMENT
9535 > CREATE TABLE DEPARTMENT
9536   (
9537          DEPT_NO DEPTNO NOT NULL,
9538          DEPARTMENT      VARCHAR(25) NOT NULL,
# Line 9376 | Line 9547 | PRIMARY KEY (DEPT_NO)
9547  
9548   /* Table: EMPLOYEE, Owner: SYSDBA */
9549  
9550 < CREATE TABLE EMPLOYEE
9550 > CREATE TABLE EMPLOYEE
9551   (
9552          EMP_NO  EMPNO NOT NULL,
9553          FIRST_NAME      FIRSTNAME NOT NULL,
# Line 9394 | Line 9565 | PRIMARY KEY (EMP_NO)
9565  
9566   /* Table: EMPLOYEE_PROJECT, Owner: SYSDBA */
9567  
9568 < CREATE TABLE EMPLOYEE_PROJECT
9568 > CREATE TABLE EMPLOYEE_PROJECT
9569   (
9570          EMP_NO  EMPNO NOT NULL,
9571          PROJ_ID PROJNO NOT NULL,
# Line 9403 | Line 9574 | PRIMARY KEY (EMP_NO, PROJ_ID)
9574  
9575   /* Table: FB$OUT_TABLE, Owner: SYSDBA */
9576  
9577 < CREATE GLOBAL TEMPORARY TABLE FB$OUT_TABLE
9577 > CREATE GLOBAL TEMPORARY TABLE FB$OUT_TABLE
9578   (
9579          LINE_NUM        INTEGER,
9580          CONTENT FB$OUT_TYPE
# Line 9411 | Line 9582 | CREATE GLOBAL TEMPORARY TABLE FB$OUT_TAB
9582  
9583   /* Table: ITEST, Owner: SYSDBA */
9584  
9585 < CREATE TABLE ITEST
9585 > CREATE TABLE ITEST
9586   (
9587          "KEY"   INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0) NOT NULL,
9588          SOMETEXT        VARCHAR(64),
# Line 9420 | Line 9591 | PRIMARY KEY ("KEY")
9591  
9592   /* Table: JOB, Owner: SYSDBA */
9593  
9594 < CREATE TABLE JOB
9594 > CREATE TABLE JOB
9595   (
9596          JOB_CODE        JOBCODE NOT NULL,
9597          JOB_GRADE       JOBGRADE NOT NULL,
# Line 9435 | Line 9606 | PRIMARY KEY (JOB_CODE, JOB_GRADE, JOB_CO
9606  
9607   /* Table: PROJECT, Owner: SYSDBA */
9608  
9609 < CREATE TABLE PROJECT
9609 > CREATE TABLE PROJECT
9610   (
9611          PROJ_ID PROJNO NOT NULL,
9612          PROJ_NAME       VARCHAR(20) NOT NULL,
# Line 9448 | Line 9619 | PRIMARY KEY (PROJ_ID)
9619  
9620   /* Table: PROJ_DEPT_BUDGET, Owner: SYSDBA */
9621  
9622 < CREATE TABLE PROJ_DEPT_BUDGET
9622 > CREATE TABLE PROJ_DEPT_BUDGET
9623   (
9624          FISCAL_YEAR     INTEGER NOT NULL,
9625          PROJ_ID PROJNO NOT NULL,
# Line 9460 | Line 9631 | PRIMARY KEY (FISCAL_YEAR, PROJ_ID, DEPT_
9631  
9632   /* Table: SALARY_HISTORY, Owner: SYSDBA */
9633  
9634 < CREATE TABLE SALARY_HISTORY
9634 > CREATE TABLE SALARY_HISTORY
9635   (
9636          EMP_NO  EMPNO NOT NULL,
9637          CHANGE_DATE     TIMESTAMP DEFAULT 'NOW' NOT NULL,
# Line 9473 | Line 9644 | PRIMARY KEY (EMP_NO, CHANGE_DATE, UPDATE
9644  
9645   /* Table: SALES, Owner: SYSDBA */
9646  
9647 < CREATE TABLE SALES
9647 > CREATE TABLE SALES
9648   (
9649          PO_NUMBER       PONUMBER NOT NULL,
9650          CUST_NO CUSTNO NOT NULL,
# Line 9484 | Line 9655 | CREATE TABLE SALES
9655          DATE_NEEDED     TIMESTAMP,
9656          PAID    CHAR(1) DEFAULT 'n',
9657          QTY_ORDERED     INTEGER DEFAULT 1 NOT NULL,
9658 <        TOTAL_VALUE     DECIMAL(9, 2) NOT NULL,
9658 >        TOTAL_VALUE     DECIMAL(9,2) NOT NULL,
9659          DISCOUNT        FLOAT DEFAULT 0 NOT NULL,
9660          ITEM_TYPE       PRODTYPE,
9661          AGED COMPUTED BY (ship_date - order_date),
# Line 9501 | Line 9672 | ENTRY_POINT 'addDay' MODULE_NAME 'fbudf'
9672  
9673  
9674   DECLARE EXTERNAL FUNCTION I64TRUNCATE
9675 < NUMERIC(18, 0) BY DESCRIPTOR, NUMERIC(18, 0) BY DESCRIPTOR
9675 > NUMERIC(18,0) BY DESCRIPTOR, NUMERIC(18,0) BY DESCRIPTOR
9676   RETURNS PARAMETER 2
9677   ENTRY_POINT 'fbtruncate' MODULE_NAME 'fbudf'
9678   ;
# Line 10252 | Line 10423 | ALTER SEQUENCE FB$OUT_SEQ RESTART WITH 1
10423   /* View: DEPTLIST, Owner: SYSDBA */
10424  
10425   CREATE VIEW DEPTLIST (
10426 <  EMP_NO,
10427 <  FIRST_NAME,
10428 <  LAST_NAME,
10429 <  PHONE_EXT,
10430 <  HIRE_DATE,
10431 <  DEPT_NO,
10432 <  JOB_CODE,
10433 <  JOB_GRADE,
10434 <  JOB_COUNTRY,
10435 <  SALARY,
10436 <  FULL_NAME,
10437 <  DEPT_PATH,
10438 <  DEPT_KEY_PATH,
10426 >  EMP_NO,
10427 >  FIRST_NAME,
10428 >  LAST_NAME,
10429 >  PHONE_EXT,
10430 >  HIRE_DATE,
10431 >  DEPT_NO,
10432 >  JOB_CODE,
10433 >  JOB_GRADE,
10434 >  JOB_COUNTRY,
10435 >  SALARY,
10436 >  FULL_NAME,
10437 >  DEPT_PATH,
10438 >  DEPT_KEY_PATH,
10439    "Payment Status"
10440   ) AS
10441   with recursive Depts As (
# Line 10280 | Line 10451 | JOIN Depts On D.HEAD_DEPT = Depts.DEPT_N
10451  
10452   Select distinct A.EMP_NO, A.FIRST_NAME, A.LAST_NAME, A.PHONE_EXT, A.HIRE_DATE, A.DEPT_NO, A.JOB_CODE,
10453   A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, D.DEPT_PATH, D.DEPT_KEY_PATH,
10454 < CASE When A.SALARY > 10000 then 'higher paid' else 'lower paid' End
10454 > CASE When A.SALARY > 10000 then 'higher paid' else 'lower paid' End
10455   From EMPLOYEE A
10456   JOIN Depts D On D.DEPT_NO = A.DEPT_NO
10457   ;
# Line 10288 | Line 10459 | JOIN Depts D On D.DEPT_NO = A.DEPT_NO
10459   /* View: PHONE_LIST, Owner: SYSDBA */
10460  
10461   CREATE VIEW PHONE_LIST (
10462 <  EMP_NO,
10463 <  FIRST_NAME,
10464 <  LAST_NAME,
10465 <  PHONE_EXT,
10466 <  LOCATION,
10462 >  EMP_NO,
10463 >  FIRST_NAME,
10464 >  LAST_NAME,
10465 >  PHONE_EXT,
10466 >  LOCATION,
10467    PHONE_NO
10468   ) AS
10469   SELECT
# Line 10394 | Line 10565 | CREATE EXCEPTION REASSIGN_SALES 'Reassig
10565   CREATE EXCEPTION UNKNOWN_EMP_ID 'Invalid employee number or project id.';
10566   COMMIT WORK;
10567   SET AUTODDL OFF;
10568 < SET TERM ^ ;
10568 > SET TERM ^;
10569  
10570   /* Package Definitions */
10571  
10572 < CREATE PACKAGE FB$OUT                        
10572 > CREATE PACKAGE FB$OUT
10573   AS
10403
10574   begin
10575          procedure enable;
10576          procedure disable;
# Line 10410 | Line 10580 | begin
10580  
10581          procedure get_lines returns (lines fb$out_type);
10582   end
10583 < ^
10583 > ^
10584  
10585 < CREATE PACKAGE SELECT$TEST                    
10585 > CREATE PACKAGE SELECT$TEST
10586   AS
10417
10587   Begin
10588    Procedure ShowItems(IPARAM Integer) RETURNS (OutParam integer);
10589   End
10590 < ^
10590 > ^
10591  
10592 < SET TERM ; ^
10592 > SET TERM ;^
10593   COMMIT WORK;
10594   SET AUTODDL ON;
10595   COMMIT WORK;
10596   SET AUTODDL OFF;
10597 < SET TERM ^ ;
10597 > SET TERM ^;
10598  
10599   /* Stored procedures Definitions*/
10600  
# Line 10442 | Line 10611 | RETURNS
10611   AS
10612   BEGIN SUSPEND; EXIT; END
10613   ^
10614 +
10615   CREATE PROCEDURE ADD_EMP_PROJ
10616   (
10617    EMP_NO SMALLINT,
# Line 10450 | Line 10620 | CREATE PROCEDURE ADD_EMP_PROJ
10620   AS
10621   BEGIN EXIT; END
10622   ^
10623 +
10624   CREATE PROCEDURE ALL_LANGS
10625   RETURNS
10626   (
# Line 10461 | Line 10632 | RETURNS
10632   AS
10633   BEGIN SUSPEND; EXIT; END
10634   ^
10635 +
10636   CREATE PROCEDURE DELETE_EMPLOYEE
10637   (
10638    EMP_NUM INTEGER
# Line 10468 | Line 10640 | CREATE PROCEDURE DELETE_EMPLOYEE
10640   AS
10641   BEGIN EXIT; END
10642   ^
10643 +
10644   CREATE PROCEDURE DEPT_BUDGET
10645   (
10646    DNO CHAR(3) CHARACTER SET NONE
10647   )
10648   RETURNS
10649   (
10650 <  TOT DECIMAL(12, 2)
10650 >  TOT DECIMAL(12,2)
10651   )
10652   AS
10653   BEGIN SUSPEND; EXIT; END
10654   ^
10655 +
10656   CREATE PROCEDURE EMPLOYEE_PAY_STATUS
10657   (
10658    EMP_NUM SMALLINT
# Line 10486 | Line 10660 | CREATE PROCEDURE EMPLOYEE_PAY_STATUS
10660   RETURNS
10661   (
10662    PAY_STATUS VARCHAR(6) CHARACTER SET NONE,
10663 <  SALARY NUMERIC(10, 2)
10663 >  SALARY NUMERIC(10,2)
10664   )
10665   AS
10666   BEGIN EXIT; END
10667   ^
10668 +
10669   CREATE PROCEDURE GET_EMP_PROJ
10670   (
10671    EMP_NO SMALLINT
# Line 10502 | Line 10677 | RETURNS
10677   AS
10678   BEGIN SUSPEND; EXIT; END
10679   ^
10680 +
10681   CREATE PROCEDURE "Has Space"
10682   (
10683    ARG1 INTEGER
# Line 10509 | Line 10685 | CREATE PROCEDURE "Has Space"
10685   AS
10686   BEGIN EXIT; END
10687   ^
10688 +
10689   CREATE PROCEDURE MAIL_LABEL
10690   (
10691    CUST_NO INTEGER
# Line 10525 | Line 10702 | RETURNS
10702   AS
10703   BEGIN SUSPEND; EXIT; END
10704   ^
10705 +
10706   CREATE PROCEDURE ORG_CHART
10707   RETURNS
10708   (
# Line 10537 | Line 10715 | RETURNS
10715   AS
10716   BEGIN SUSPEND; EXIT; END
10717   ^
10718 +
10719   CREATE PROCEDURE SHIP_ORDER
10720   (
10721    PO_NUM CHAR(8) CHARACTER SET NONE
# Line 10544 | Line 10723 | CREATE PROCEDURE SHIP_ORDER
10723   AS
10724   BEGIN EXIT; END
10725   ^
10726 +
10727   CREATE PROCEDURE SUB_TOT_BUDGET
10728   (
10729    HEAD_DEPT CHAR(3) CHARACTER SET NONE
10730   )
10731   RETURNS
10732   (
10733 <  TOT_BUDGET DECIMAL(12, 2),
10734 <  AVG_BUDGET DECIMAL(12, 2),
10735 <  MIN_BUDGET DECIMAL(12, 2),
10736 <  MAX_BUDGET DECIMAL(12, 2)
10733 >  TOT_BUDGET DECIMAL(12,2),
10734 >  AVG_BUDGET DECIMAL(12,2),
10735 >  MIN_BUDGET DECIMAL(12,2),
10736 >  MAX_BUDGET DECIMAL(12,2)
10737   )
10738   AS
10739   BEGIN SUSPEND; EXIT; END
10740   ^
10741 +
10742   CREATE PROCEDURE "UC SPACE"
10743   (
10744    ARG1 INTEGER
# Line 10565 | Line 10746 | CREATE PROCEDURE "UC SPACE"
10746   AS
10747   BEGIN EXIT; END
10748   ^
10749 +
10750   CREATE PROCEDURE "iCASE"
10751   AS
10752   BEGIN EXIT; END
10753   ^
10754 < SET TERM ; ^
10754 >
10755 > SET TERM ;^
10756   COMMIT WORK;
10757   SET AUTODDL ON;
10758   COMMIT WORK;
10759   SET AUTODDL OFF;
10760 < SET TERM ^ ;
10760 > SET TERM ^;
10761  
10762   /* Stored Function declarations */
10763  
# Line 10583 | Line 10766 | CREATE FUNCTION F (X INTEGER)
10766   AS BEGIN END
10767   ^
10768  
10769 <
10587 < SET TERM ; ^
10769 > SET TERM ;^
10770   COMMIT WORK;
10771   SET AUTODDL ON;
10772 < SET TERM ^ ;
10772 > SET TERM ^;
10773  
10774  
10775   /* Triggers only will work for SQL triggers */
# Line 10597 | Line 10779 | ACTIVE ON CONNECT POSITION 0
10779   as
10780   begin
10781   End
10782 < ^
10782 > ^
10783 >
10784   CREATE TRIGGER "BEFORE CREATE TABLE"
10785   ACTIVE BEFORE CREATE TABLE POSITION 0
10786   AS BEGIN END
10787 < ^
10787 > ^
10788 >
10789   CREATE TRIGGER "AFTER CREATE TABLE"
10790   ACTIVE AFTER CREATE TABLE POSITION 0
10791   AS BEGIN END
10792 < ^
10792 > ^
10793 >
10794   CREATE TRIGGER "BEFORE ALTER TABLE"
10795   ACTIVE BEFORE ALTER TABLE POSITION 0
10796   AS BEGIN END
10797 < ^
10797 > ^
10798 >
10799   CREATE TRIGGER "AFTER ALTER TABLE"
10800   ACTIVE AFTER ALTER TABLE POSITION 0
10801   AS BEGIN END
10802 < ^
10802 > ^
10803 >
10804   CREATE TRIGGER "AFTER CREATE/Alter TABLE"
10805   ACTIVE AFTER CREATE TABLE OR ALTER TABLE POSITION 0
10806   AS BEGIN END
10807 < ^
10807 > ^
10808 >
10809   CREATE TRIGGER "BEFORE DROP TABLE"
10810   ACTIVE BEFORE Drop TABLE POSITION 0
10811   AS BEGIN END
10812 < ^
10812 > ^
10813 >
10814   CREATE TRIGGER "AFTER DROP TABLE"
10815   ACTIVE AFTER Drop TABLE POSITION 0
10816   AS BEGIN END
10817 < ^
10817 > ^
10818 >
10819   CREATE TRIGGER "BEFORE CREATE PROCEDURE"
10820   ACTIVE BEFORE CREATE PROCEDURE POSITION 0
10821   AS BEGIN END
10822 < ^
10822 > ^
10823 >
10824   CREATE TRIGGER "AFTER CREATE PROCEDURE"
10825   ACTIVE AFTER CREATE PROCEDURE POSITION 0
10826   AS BEGIN END
10827 < ^
10827 > ^
10828 >
10829   CREATE TRIGGER "BEFORE ALTER PROCEDURE"
10830   ACTIVE BEFORE ALTER PROCEDURE POSITION 0
10831   AS BEGIN END
10832 < ^
10832 > ^
10833 >
10834   CREATE TRIGGER "AFTER ALTER PROCEDURE"
10835   ACTIVE AFTER ALTER PROCEDURE POSITION 0
10836   AS BEGIN END
10837 < ^
10837 > ^
10838 >
10839   CREATE TRIGGER "BEFORE DROP PROCEDURE"
10840   ACTIVE BEFORE Drop PROCEDURE POSITION 0
10841   AS BEGIN END
10842 < ^
10842 > ^
10843 >
10844   CREATE TRIGGER "AFTER DROP PROCEDURE"
10845   ACTIVE AFTER Drop PROCEDURE POSITION 0
10846   AS BEGIN END
10847 < ^
10847 > ^
10848 >
10849   CREATE TRIGGER "BEFORE CREATE FUNCTION"
10850   ACTIVE BEFORE CREATE FUNCTION POSITION 0
10851   AS BEGIN END
10852 < ^
10852 > ^
10853 >
10854   CREATE TRIGGER "AFTER CREATE FUNCTION"
10855   ACTIVE AFTER CREATE FUNCTION POSITION 0
10856   AS BEGIN END
10857 < ^
10857 > ^
10858 >
10859   CREATE TRIGGER "BEFORE ALTER FUNCTION"
10860   ACTIVE BEFORE ALTER FUNCTION POSITION 0
10861   AS BEGIN END
10862 < ^
10862 > ^
10863 >
10864   CREATE TRIGGER "AFTER ALTER FUNCTION"
10865   ACTIVE AFTER ALTER FUNCTION POSITION 0
10866   AS BEGIN END
10867 < ^
10867 > ^
10868 >
10869   CREATE TRIGGER "BEFORE DROP FUNCTION"
10870   ACTIVE BEFORE Drop FUNCTION POSITION 0
10871   AS BEGIN END
10872 < ^
10872 > ^
10873 >
10874   CREATE TRIGGER "AFTER DROP FUNCTION"
10875   ACTIVE AFTER Drop FUNCTION POSITION 0
10876   AS BEGIN END
10877 < ^
10877 > ^
10878 >
10879   CREATE TRIGGER "BEFORE CREATE TRIGGER"
10880   ACTIVE BEFORE CREATE TRIGGER POSITION 0
10881   AS BEGIN END
10882 < ^
10882 > ^
10883 >
10884   CREATE TRIGGER "AFTER CREATE TRIGGER"
10885   ACTIVE AFTER CREATE TRIGGER POSITION 0
10886   AS BEGIN END
10887 < ^
10887 > ^
10888 >
10889   CREATE TRIGGER "BEFORE ALTER TRIGGER"
10890   ACTIVE BEFORE ALTER TRIGGER POSITION 0
10891   AS BEGIN END
10892 < ^
10892 > ^
10893 >
10894   CREATE TRIGGER "AFTER ALTER TRIGGER"
10895   ACTIVE AFTER ALTER TRIGGER POSITION 0
10896   AS BEGIN END
10897 < ^
10897 > ^
10898 >
10899   CREATE TRIGGER "BEFORE DROP TRIGGER"
10900   ACTIVE BEFORE Drop TRIGGER POSITION 0
10901   AS BEGIN END
10902 < ^
10902 > ^
10903 >
10904   CREATE TRIGGER "AFTER DROP TRIGGER"
10905   ACTIVE AFTER Drop TRIGGER POSITION 0
10906   AS BEGIN END
10907 < ^
10907 > ^
10908 >
10909   CREATE TRIGGER "BEFORE CREATE EXCEPTION"
10910   ACTIVE BEFORE CREATE EXCEPTION POSITION 0
10911   AS BEGIN END
10912 < ^
10912 > ^
10913 >
10914   CREATE TRIGGER "AFTER CREATE EXCEPTION"
10915   ACTIVE AFTER CREATE EXCEPTION POSITION 0
10916   AS BEGIN END
10917 < ^
10917 > ^
10918 >
10919   CREATE TRIGGER "BEFORE ALTER EXCEPTION"
10920   ACTIVE BEFORE ALTER EXCEPTION POSITION 0
10921   AS BEGIN END
10922 < ^
10922 > ^
10923 >
10924   CREATE TRIGGER "AFTER ALTER EXCEPTION"
10925   ACTIVE AFTER ALTER EXCEPTION POSITION 0
10926   AS BEGIN END
10927 < ^
10927 > ^
10928 >
10929   CREATE TRIGGER "BEFORE DROP EXCEPTION"
10930   ACTIVE BEFORE Drop EXCEPTION POSITION 0
10931   AS BEGIN END
10932 < ^
10932 > ^
10933 >
10934   CREATE TRIGGER "AFTER DROP EXCEPTION"
10935   ACTIVE AFTER Drop EXCEPTION POSITION 0
10936   AS BEGIN END
10937 < ^
10937 > ^
10938 >
10939   CREATE TRIGGER "BEFORE CREATE VIEW"
10940   ACTIVE BEFORE CREATE VIEW POSITION 0
10941   AS BEGIN END
10942 < ^
10942 > ^
10943 >
10944   CREATE TRIGGER "AFTER CREATE VIEW"
10945   ACTIVE AFTER CREATE VIEW POSITION 0
10946   AS BEGIN END
10947 < ^
10947 > ^
10948 >
10949   CREATE TRIGGER "BEFORE ALTER VIEW"
10950   ACTIVE BEFORE ALTER VIEW POSITION 0
10951   AS BEGIN END
10952 < ^
10952 > ^
10953 >
10954   CREATE TRIGGER "AFTER ALTER VIEW"
10955   ACTIVE AFTER ALTER VIEW POSITION 0
10956   AS BEGIN END
10957 < ^
10957 > ^
10958 >
10959   CREATE TRIGGER "BEFORE DROP VIEW"
10960   ACTIVE BEFORE Drop VIEW POSITION 0
10961   AS BEGIN END
10962 < ^
10962 > ^
10963 >
10964   CREATE TRIGGER "AFTER DROP VIEW"
10965   ACTIVE AFTER Drop VIEW POSITION 0
10966   AS BEGIN END
10967 < ^
10967 > ^
10968 >
10969   CREATE TRIGGER "BEFORE CREATE DOMAIN"
10970   ACTIVE BEFORE CREATE DOMAIN POSITION 0
10971   AS BEGIN END
10972 < ^
10972 > ^
10973 >
10974   CREATE TRIGGER "AFTER CREATE DOMAIN"
10975   ACTIVE AFTER CREATE DOMAIN POSITION 0
10976   AS BEGIN END
10977 < ^
10977 > ^
10978 >
10979   CREATE TRIGGER "BEFORE ALTER DOMAIN"
10980   ACTIVE BEFORE ALTER DOMAIN POSITION 0
10981   AS BEGIN END
10982 < ^
10982 > ^
10983 >
10984   CREATE TRIGGER "AFTER ALTER DOMAIN"
10985   ACTIVE AFTER ALTER DOMAIN POSITION 0
10986   AS BEGIN END
10987 < ^
10987 > ^
10988 >
10989   CREATE TRIGGER "BEFORE DROP DOMAIN"
10990   ACTIVE BEFORE Drop DOMAIN POSITION 0
10991   AS BEGIN END
10992 < ^
10992 > ^
10993 >
10994   CREATE TRIGGER "AFTER DROP DOMAIN"
10995   ACTIVE AFTER Drop DOMAIN POSITION 0
10996   AS BEGIN END
10997 < ^
10997 > ^
10998 >
10999   CREATE TRIGGER "BEFORE CREATE ROLE"
11000   ACTIVE BEFORE CREATE ROLE POSITION 0
11001   AS BEGIN END
11002 < ^
11002 > ^
11003 >
11004   CREATE TRIGGER "AFTER CREATE ROLE"
11005   ACTIVE AFTER CREATE ROLE POSITION 0
11006   AS BEGIN END
11007 < ^
11007 > ^
11008 >
11009   CREATE TRIGGER "BEFORE ALTER ROLE"
11010   ACTIVE BEFORE ALTER ROLE POSITION 0
11011   AS BEGIN END
11012 < ^
11012 > ^
11013 >
11014   CREATE TRIGGER "AFTER ALTER ROLE"
11015   ACTIVE AFTER ALTER ROLE POSITION 0
11016   AS BEGIN END
11017 < ^
11017 > ^
11018 >
11019   CREATE TRIGGER "BEFORE DROP ROLE"
11020   ACTIVE BEFORE Drop ROLE POSITION 0
11021   AS BEGIN END
11022 < ^
11022 > ^
11023 >
11024   CREATE TRIGGER "AFTER DROP ROLE"
11025   ACTIVE AFTER Drop ROLE POSITION 0
11026   AS BEGIN END
11027 < ^
11027 > ^
11028 >
11029   CREATE TRIGGER "BEFORE CREATE INDEX"
11030   ACTIVE BEFORE CREATE INDEX POSITION 0
11031   AS BEGIN END
11032 < ^
11032 > ^
11033 >
11034   CREATE TRIGGER "AFTER CREATE INDEX"
11035   ACTIVE AFTER CREATE INDEX POSITION 0
11036   AS BEGIN END
11037 < ^
11037 > ^
11038 >
11039   CREATE TRIGGER "BEFORE ALTER INDEX"
11040   ACTIVE BEFORE ALTER INDEX POSITION 0
11041   AS BEGIN END
11042 < ^
11042 > ^
11043 >
11044   CREATE TRIGGER "AFTER ALTER INDEX"
11045   ACTIVE AFTER ALTER INDEX POSITION 0
11046   AS BEGIN END
11047 < ^
11047 > ^
11048 >
11049   CREATE TRIGGER "BEFORE DROP INDEX"
11050   ACTIVE BEFORE Drop INDEX POSITION 0
11051   AS BEGIN END
11052 < ^
11052 > ^
11053 >
11054   CREATE TRIGGER "AFTER DROP INDEX"
11055   ACTIVE AFTER Drop INDEX POSITION 0
11056   AS BEGIN END
11057 < ^
11057 > ^
11058 >
11059   CREATE TRIGGER "BEFORE CREATE SEQUENCE"
11060   ACTIVE BEFORE CREATE SEQUENCE POSITION 0
11061   AS BEGIN END
11062 < ^
11062 > ^
11063 >
11064   CREATE TRIGGER "AFTER CREATE SEQUENCE"
11065   ACTIVE AFTER CREATE SEQUENCE POSITION 0
11066   AS BEGIN END
11067 < ^
11067 > ^
11068 >
11069   CREATE TRIGGER "BEFORE ALTER SEQUENCE"
11070   ACTIVE BEFORE ALTER SEQUENCE POSITION 0
11071   AS BEGIN END
11072 < ^
11072 > ^
11073 >
11074   CREATE TRIGGER "AFTER ALTER SEQUENCE"
11075   ACTIVE AFTER ALTER SEQUENCE POSITION 0
11076   AS BEGIN END
11077 < ^
11077 > ^
11078 >
11079   CREATE TRIGGER "BEFORE DROP SEQUENCE"
11080   ACTIVE BEFORE Drop SEQUENCE POSITION 0
11081   AS BEGIN END
11082 < ^
11082 > ^
11083 >
11084   CREATE TRIGGER "AFTER DROP SEQUENCE"
11085   ACTIVE AFTER Drop SEQUENCE POSITION 0
11086   AS BEGIN END
11087 < ^
11087 > ^
11088 >
11089   CREATE TRIGGER "BEFORE CREATE USER"
11090   ACTIVE BEFORE CREATE USER POSITION 0
11091   AS BEGIN END
11092 < ^
11092 > ^
11093 >
11094   CREATE TRIGGER "AFTER CREATE USER"
11095   ACTIVE AFTER CREATE USER POSITION 0
11096   AS BEGIN END
11097 < ^
11097 > ^
11098 >
11099   CREATE TRIGGER "BEFORE ALTER USER"
11100   ACTIVE BEFORE ALTER USER POSITION 0
11101   AS BEGIN END
11102 < ^
11102 > ^
11103 >
11104   CREATE TRIGGER "AFTER ALTER USER"
11105   ACTIVE AFTER ALTER USER POSITION 0
11106   AS BEGIN END
11107 < ^
11107 > ^
11108 >
11109   CREATE TRIGGER "BEFORE DROP USER"
11110   ACTIVE BEFORE Drop USER POSITION 0
11111   AS BEGIN END
11112 < ^
11112 > ^
11113 >
11114   CREATE TRIGGER "AFTER DROP USER"
11115   ACTIVE AFTER Drop USER POSITION 0
11116   AS BEGIN END
11117 < ^
11117 > ^
11118 >
11119   CREATE TRIGGER "BEFORE CREATE COLLATION"
11120   ACTIVE BEFORE CREATE COLLATION POSITION 0
11121   AS BEGIN END
11122 < ^
11122 > ^
11123 >
11124   CREATE TRIGGER "AFTER CREATE COLLATION"
11125   ACTIVE AFTER CREATE COLLATION POSITION 0
11126   AS BEGIN END
11127 < ^
11127 > ^
11128 >
11129   CREATE TRIGGER "BEFORE DROP COLLATION"
11130   ACTIVE BEFORE Drop COLLATION POSITION 0
11131   AS BEGIN END
11132 < ^
11132 > ^
11133 >
11134   CREATE TRIGGER "AFTER DROP COLLATION"
11135   ACTIVE AFTER Drop COLLATION POSITION 0
11136   AS BEGIN END
11137 < ^
11137 > ^
11138 >
11139   CREATE TRIGGER "BEFORE ALTER CHARACTER SET"
11140   ACTIVE BEFORE ALTER CHARACTER SET POSITION 0
11141   AS BEGIN END
11142 < ^
11142 > ^
11143 >
11144   CREATE TRIGGER "AFTER ALTER CHARACTER SET"
11145   ACTIVE AFTER ALTER CHARACTER SET POSITION 0
11146   AS BEGIN END
11147 < ^
11147 > ^
11148 >
11149   CREATE TRIGGER "BEFORE CREATE PACKAGE"
11150   ACTIVE BEFORE CREATE PACKAGE POSITION 0
11151   AS BEGIN END
11152 < ^
11152 > ^
11153 >
11154   CREATE TRIGGER "AFTER CREATE PACKAGE"
11155   ACTIVE AFTER CREATE PACKAGE POSITION 0
11156   AS BEGIN END
11157 < ^
11157 > ^
11158 >
11159   CREATE TRIGGER "BEFORE ALTER PACKAGE"
11160   ACTIVE BEFORE ALTER PACKAGE POSITION 0
11161   AS BEGIN END
11162 < ^
11162 > ^
11163 >
11164   CREATE TRIGGER "AFTER ALTER PACKAGE"
11165   ACTIVE AFTER ALTER PACKAGE POSITION 0
11166   AS BEGIN END
11167 < ^
11167 > ^
11168 >
11169   CREATE TRIGGER "BEFORE DROP PACKAGE"
11170   ACTIVE BEFORE Drop PACKAGE POSITION 0
11171   AS BEGIN END
11172 < ^
11172 > ^
11173 >
11174   CREATE TRIGGER "AFTER DROP PACKAGE"
11175   ACTIVE AFTER Drop PACKAGE POSITION 0
11176   AS BEGIN END
11177 < ^
11177 > ^
11178 >
11179   CREATE TRIGGER "BEFORE CREATE PACKAGE BODY"
11180   ACTIVE BEFORE CREATE PACKAGE BODY POSITION 0
11181   AS BEGIN END
11182 < ^
11182 > ^
11183 >
11184   CREATE TRIGGER "AFTER CREATE PACKAGE BODY"
11185   ACTIVE AFTER CREATE PACKAGE BODY POSITION 0
11186   AS BEGIN END
11187 < ^
11187 > ^
11188 >
11189   CREATE TRIGGER "BEFORE DROP PACKAGE BODY"
11190   ACTIVE BEFORE Drop PACKAGE BODY POSITION 0
11191   AS BEGIN END
11192 < ^
11192 > ^
11193 >
11194   CREATE TRIGGER "AFTER DROP PACKAGE BODY"
11195   ACTIVE AFTER Drop PACKAGE BODY POSITION 0
11196   AS BEGIN END
11197 < ^
11197 > ^
11198 >
11199   CREATE TRIGGER "BEFORE ANY DDL STATEMENT"
11200   ACTIVE BEFORE ANY DDL STATEMENT POSITION 0
11201   AS BEGIN END
11202 < ^
11202 > ^
11203 >
11204   CREATE TRIGGER "AFTER ANY DDL STATEMENT"
11205   ACTIVE AFTER ANY DDL STATEMENT POSITION 0
11206   AS BEGIN END
11207 < ^
11207 > ^
11208 >
11209   CREATE TRIGGER SET_CUST_NO FOR CUSTOMER
11210   ACTIVE BEFORE INSERT POSITION 0
11211   AS
# Line 10945 | Line 11213 | BEGIN
11213      if (new.cust_no is null) then
11214      new.cust_no = gen_id(cust_no_gen, 1);
11215   END
11216 < ^
11216 > ^
11217 >
11218   CREATE TRIGGER SET_EMP_NO FOR EMPLOYEE
11219   ACTIVE BEFORE INSERT POSITION 0
11220   AS
# Line 10953 | Line 11222 | BEGIN
11222      if (new.emp_no is null) then
11223      new.emp_no = gen_id(emp_no_gen, 1);
11224   END
11225 < ^
11225 > ^
11226 >
11227   CREATE TRIGGER SAVE_SALARY_CHANGE FOR EMPLOYEE
11228   ACTIVE AFTER UPDATE POSITION 0
11229   AS
# Line 10968 | Line 11238 | BEGIN
11238              old.salary,
11239              (new.salary - old.salary) * 100 / old.salary);
11240   END
11241 < ^
11241 > ^
11242 >
11243   CREATE TRIGGER POST_NEW_ORDER FOR SALES
11244   ACTIVE AFTER INSERT POSITION 0
11245   AS
11246   BEGIN
11247      POST_EVENT 'new_order';
11248   END
11249 < ^
11250 < COMMIT WORK ^
11249 > ^
11250 >
11251 > COMMIT WORK^
11252   SET TERM ;^
11253   COMMIT WORK;
11254   SET AUTODDL OFF;
11255 < SET TERM ^ ;
11255 > SET TERM ^;
11256  
11257   /* Package Definitions */
11258  
11259 < CREATE PACKAGE BODY FB$OUT                        
11259 > CREATE PACKAGE BODY FB$OUT
11260   AS
10989
11261   begin
11262          procedure enable
11263          as
# Line 11041 | Line 11312 | begin
11312                  execute procedure clear;
11313          end
11314   end
11315 < ^
11315 > ^
11316  
11317 < CREATE PACKAGE BODY SELECT$TEST                    
11317 > CREATE PACKAGE BODY SELECT$TEST
11318   AS
11048
11319   Begin
11320    Procedure ShowItems(IPARAM Integer) RETURNS (OutParam integer)
11321    As
# Line 11053 | Line 11323 | Begin
11323      SUSPEND;
11324    End
11325   End
11326 < ^
11326 > ^
11327  
11328 < SET TERM ; ^
11328 > SET TERM ;^
11329   COMMIT WORK;
11330   SET AUTODDL ON;
11331   COMMIT WORK;
11332   SET AUTODDL OFF;
11333 < SET TERM ^ ;
11333 > SET TERM ^;
11334  
11335   /* Stored procedure Bodies */
11336  
11067
11337   ALTER PROCEDURE SHOW_LANGS
11338   (
11339    CODE VARCHAR(5) CHARACTER SET NONE,
# Line 11086 | Line 11355 | BEGIN
11355             AND (language_req IS NOT NULL))
11356      INTO :languages;
11357      IF (languages = ' ') THEN  /* Prints 'NULL' instead of blanks */
11358 <       languages = 'NULL';        
11358 >       languages = 'NULL';
11359      i = i +1;
11360      SUSPEND;
11361    END
# Line 11118 | Line 11387 | RETURNS
11387   )
11388   AS
11389   BEGIN
11390 <        FOR SELECT job_code, job_grade, job_country FROM job
11390 >        FOR SELECT job_code, job_grade, job_country FROM job
11391                  INTO :code, :grade, :country
11392  
11393          DO
11394          BEGIN
11395 <            FOR SELECT languages FROM show_langs
11395 >            FOR SELECT languages FROM show_langs
11396                      (:code, :grade, :country) INTO :lang DO
11397                  SUSPEND;
11398              /* Put nice separators between rows */
# Line 11201 | Line 11470 | ALTER PROCEDURE DEPT_BUDGET
11470   )
11471   RETURNS
11472   (
11473 <  TOT DECIMAL(12, 2)
11473 >  TOT DECIMAL(12,2)
11474   )
11475   AS
11476 < DECLARE VARIABLE sumb DECIMAL(12, 2);
11476 > DECLARE VARIABLE sumb DECIMAL(12,2);
11477          DECLARE VARIABLE rdno CHAR(3);
11478          DECLARE VARIABLE cnt INTEGER;
11479   BEGIN
# Line 11238 | Line 11507 | ALTER PROCEDURE EMPLOYEE_PAY_STATUS
11507   RETURNS
11508   (
11509    PAY_STATUS VARCHAR(6) CHARACTER SET NONE,
11510 <  SALARY NUMERIC(10, 2)
11510 >  SALARY NUMERIC(10,2)
11511   )
11512   AS
11513 < BEGIN
11514 <  Select SALARY, Case
11515 <   When SALARY > 10000 and SALARY <= 100000 then 'higher'
11516 <   When SALARY > 100000 then 'gross'
11517 <   else 'lower' End
11518 <  From employee
11519 <    WHERE emp_no = :EMP_NUM
11513 > Declare aCursor CURSOR FOR (
11514 >    Select EMP_NO,SALARY From EMPLOYEE WHERE LAST_NAME = 'unknown');
11515 > BEGIN
11516 >  Select SALARY, Case
11517 >   When SALARY > 10000 and SALARY <= 100000 then 'higher'
11518 >   When SALARY > 100000 then 'gross'
11519 >   else 'lower' End
11520 >  From employee
11521 >    WHERE emp_no = :EMP_NUM
11522     into :SALARY, :PAY_STATUS;
11523   END
11524   ^
# Line 11456 | Line 11727 | ALTER PROCEDURE SUB_TOT_BUDGET
11727   )
11728   RETURNS
11729   (
11730 <  TOT_BUDGET DECIMAL(12, 2),
11731 <  AVG_BUDGET DECIMAL(12, 2),
11732 <  MIN_BUDGET DECIMAL(12, 2),
11733 <  MAX_BUDGET DECIMAL(12, 2)
11730 >  TOT_BUDGET DECIMAL(12,2),
11731 >  AVG_BUDGET DECIMAL(12,2),
11732 >  MIN_BUDGET DECIMAL(12,2),
11733 >  MAX_BUDGET DECIMAL(12,2)
11734   )
11735   AS
11736   BEGIN
# Line 11483 | Line 11754 | ALTER PROCEDURE "iCASE"
11754   AS
11755   Begin End
11756   ^
11757 < SET TERM ; ^
11757 >
11758 > SET TERM ;^
11759   COMMIT WORK;
11760   SET AUTODDL ON;
11761   COMMIT WORK;
11762   SET AUTODDL OFF;
11763 < SET TERM ^ ;
11763 > SET TERM ^;
11764  
11765   /* Stored Function Body */
11766  
11767   ALTER FUNCTION F (X INTEGER)
11768   RETURNS INTEGER
11769 < AS
11769 > AS
11770   BEGIN
11771   RETURN X+1;
11772   END
11773   ^
11774  
11775 <
11504 < SET TERM ; ^
11775 > SET TERM ;^
11776   COMMIT WORK;
11777   SET AUTODDL ON;
11778  
# Line 11570 | Line 11841 | Output from diff command
11841   ---
11842   > /* CREATE DATABASE 'inet://localhost//tmp/ibx-testsuite/testsuite1.fdb' PAGE_SIZE 8192
11843   6c6
11844 < <  DEFAULT CHARACTER SET NONE;
11844 > <  DEFAULT CHARACTER SET NONE;
11845   ---
11846   >  DEFAULT CHARACTER SET NONE; */
11847   132,140d131
11848   < /* Table: ITEST2, Owner: SYSDBA */
11849   <
11850 < < CREATE TABLE ITEST2
11850 > < CREATE TABLE ITEST2
11851   < (
11852   <       "KEY"   INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0 INCREMENT BY 1) NOT NULL,
11853   <       SOMETEXT        VARCHAR(64),
11854   < PRIMARY KEY ("KEY")
11855   < );
11856   <
11857 < 220d210
11587 < <
11588 < 228d217
11589 < <
11590 < 236d224
11591 < <
11592 < 990c978
11593 < <   DEPT_KEY_PATH,
11594 < ---
11595 < >   DEPT_KEY_PATH,
11596 < 1124c1112
11597 < < CREATE PACKAGE FB$OUT                                                        
11598 < ---
11599 < > CREATE PACKAGE FB$OUT                        
11600 < 1136c1124
11601 < < ^
11602 < ---
11603 < >  ^
11604 < 1138c1126
11605 < < CREATE PACKAGE SELECT$TEST                                                    
11606 < ---
11607 < > CREATE PACKAGE SELECT$TEST                    
11608 < 1144c1132
11609 < < ^
11610 < ---
11611 < >  ^
11612 < 1146c1134
11613 < < SET TERM ;^
11614 < ---
11615 < > SET TERM ; ^
11616 < 1155c1143
11617 < < CREATE PROCEDURE SHOW_LANGS
11618 < ---
11619 < > CREATE PROCEDURE SHOW_LANGS
11620 < 1167d1154
11621 < <
11622 < 1169,1170c1156
11623 < <
11624 < < CREATE PROCEDURE ADD_EMP_PROJ
11625 < ---
11626 < > CREATE PROCEDURE ADD_EMP_PROJ
11627 < 1177d1162
11628 < <
11629 < 1179,1180c1164
11630 < <
11631 < < CREATE PROCEDURE ALL_LANGS
11632 < ---
11633 < > CREATE PROCEDURE ALL_LANGS
11634 < 1190d1173
11635 < <
11636 < 1192,1193c1175
11637 < <
11638 < < CREATE PROCEDURE DELETE_EMPLOYEE
11639 < ---
11640 < > CREATE PROCEDURE DELETE_EMPLOYEE
11641 < 1199d1180
11642 < <
11643 < 1201,1202c1182
11644 < <
11645 < < CREATE PROCEDURE DEPT_BUDGET
11646 < ---
11647 < > CREATE PROCEDURE DEPT_BUDGET
11648 < 1212d1191
11649 < <
11650 < 1214d1192
11651 < <
11652 < 1217c1195
11653 < <   EMP_NO SMALLINT
11654 < ---
11655 < >   EMP_NUM SMALLINT
11656 < 1221c1199,1200
11657 < <   PAY_STATUS VARCHAR(6) CHARACTER SET NONE
11658 < ---
11659 < >   PAY_STATUS VARCHAR(6) CHARACTER SET NONE,
11660 < >   SALARY NUMERIC(10, 2)
11661 < 1225d1203
11662 < <
11663 < 1227,1229c1205
11664 < <
11665 < <
11666 < < CREATE PROCEDURE GET_EMP_PROJ
11667 < ---
11668 < > CREATE PROCEDURE GET_EMP_PROJ
11669 < 1239d1214
11670 < <
11671 < 1241,1242c1216
11672 < <
11673 < < CREATE PROCEDURE "Has Space"
11674 < ---
11675 < > CREATE PROCEDURE "Has Space"
11676 < 1248d1221
11677 < <
11678 < 1250,1251c1223
11679 < <
11680 < < CREATE PROCEDURE MAIL_LABEL
11681 < ---
11682 < > CREATE PROCEDURE MAIL_LABEL
11683 < 1266d1237
11684 < <
11685 < 1268,1269c1239
11686 < <
11687 < < CREATE PROCEDURE ORG_CHART
11688 < ---
11689 < > CREATE PROCEDURE ORG_CHART
11690 < 1280d1249
11691 < <
11692 < 1282,1283c1251
11693 < <
11694 < < CREATE PROCEDURE SHIP_ORDER
11695 < ---
11696 < > CREATE PROCEDURE SHIP_ORDER
11697 < 1289d1256
11698 < <
11699 < 1291,1292c1258
11700 < <
11701 < < CREATE PROCEDURE SUB_TOT_BUDGET
11702 < ---
11703 < > CREATE PROCEDURE SUB_TOT_BUDGET
11704 < 1305d1270
11705 < <
11706 < 1307,1308c1272
11707 < <
11708 < < CREATE PROCEDURE "UC SPACE"
11709 < ---
11710 < > CREATE PROCEDURE "UC SPACE"
11711 < 1314d1277
11712 < <
11713 < 1316,1317c1279
11714 < <
11715 < < CREATE PROCEDURE "iCASE"
11716 < ---
11717 < > CREATE PROCEDURE "iCASE"
11718 < 1320d1281
11719 < <
11720 < 1322,1323c1283
11721 < <
11722 < < SET TERM ;^
11723 < ---
11724 < > SET TERM ; ^
11725 < 1335d1294
11726 < <
11727 < 1339c1298
11728 < < SET TERM ;^
11729 < ---
11730 < > SET TERM ; ^
11731 < 1352c1311
11732 < < ^
11733 < ---
11734 < >  ^
11735 < 1356c1315
11736 < < ^
11737 < ---
11738 < >  ^
11739 < 1360c1319
11740 < < ^
11741 < ---
11742 < >  ^
11743 < 1364c1323
11744 < < ^
11745 < ---
11746 < >  ^
11747 < 1368c1327
11748 < < ^
11749 < ---
11750 < >  ^
11751 < 1372c1331
11752 < < ^
11753 < ---
11754 < >  ^
11755 < 1376c1335
11756 < < ^
11757 < ---
11758 < >  ^
11759 < 1380c1339
11760 < < ^
11761 < ---
11762 < >  ^
11763 < 1384c1343
11764 < < ^
11765 < ---
11766 < >  ^
11767 < 1388c1347
11768 < < ^
11769 < ---
11770 < >  ^
11771 < 1392c1351
11772 < < ^
11773 < ---
11774 < >  ^
11775 < 1396c1355
11776 < < ^
11777 < ---
11778 < >  ^
11779 < 1400c1359
11780 < < ^
11781 < ---
11782 < >  ^
11783 < 1404c1363
11784 < < ^
11785 < ---
11786 < >  ^
11787 < 1408c1367
11788 < < ^
11789 < ---
11790 < >  ^
11791 < 1412c1371
11792 < < ^
11793 < ---
11794 < >  ^
11795 < 1416c1375
11796 < < ^
11797 < ---
11798 < >  ^
11799 < 1420c1379
11800 < < ^
11801 < ---
11802 < >  ^
11803 < 1424c1383
11804 < < ^
11805 < ---
11806 < >  ^
11807 < 1428c1387
11808 < < ^
11809 < ---
11810 < >  ^
11811 < 1432c1391
11812 < < ^
11813 < ---
11814 < >  ^
11815 < 1436c1395
11816 < < ^
11817 < ---
11818 < >  ^
11819 < 1440c1399
11820 < < ^
11821 < ---
11822 < >  ^
11823 < 1444c1403
11824 < < ^
11825 < ---
11826 < >  ^
11827 < 1448c1407
11828 < < ^
11829 < ---
11830 < >  ^
11831 < 1452c1411
11832 < < ^
11833 < ---
11834 < >  ^
11835 < 1456c1415
11836 < < ^
11837 < ---
11838 < >  ^
11839 < 1460c1419
11840 < < ^
11841 < ---
11842 < >  ^
11843 < 1464c1423
11844 < < ^
11845 < ---
11846 < >  ^
11847 < 1468c1427
11848 < < ^
11849 < ---
11850 < >  ^
11851 < 1472c1431
11852 < < ^
11853 < ---
11854 < >  ^
11855 < 1476c1435
11856 < < ^
11857 < ---
11858 < >  ^
11859 < 1480c1439
11860 < < ^
11861 < ---
11862 < >  ^
11863 < 1484c1443
11864 < < ^
11865 < ---
11866 < >  ^
11867 < 1488c1447
11868 < < ^
11869 < ---
11870 < >  ^
11871 < 1492c1451
11872 < < ^
11873 < ---
11874 < >  ^
11875 < 1496c1455
11876 < < ^
11877 < ---
11878 < >  ^
11879 < 1500c1459
11880 < < ^
11881 < ---
11882 < >  ^
11883 < 1504c1463
11884 < < ^
11885 < ---
11886 < >  ^
11887 < 1508c1467
11888 < < ^
11889 < ---
11890 < >  ^
11891 < 1512c1471
11892 < < ^
11893 < ---
11894 < >  ^
11895 < 1516c1475
11896 < < ^
11897 < ---
11898 < >  ^
11899 < 1520c1479
11900 < < ^
11901 < ---
11902 < >  ^
11903 < 1524c1483
11904 < < ^
11905 < ---
11906 < >  ^
11907 < 1528c1487
11908 < < ^
11909 < ---
11910 < >  ^
11911 < 1532c1491
11912 < < ^
11913 < ---
11914 < >  ^
11915 < 1536c1495
11916 < < ^
11917 < ---
11918 < >  ^
11919 < 1540c1499
11920 < < ^
11921 < ---
11922 < >  ^
11923 < 1544c1503
11924 < < ^
11925 < ---
11926 < >  ^
11927 < 1548c1507
11928 < < ^
11929 < ---
11930 < >  ^
11931 < 1552c1511
11932 < < ^
11933 < ---
11934 < >  ^
11935 < 1556c1515
11936 < < ^
11937 < ---
11938 < >  ^
11939 < 1560c1519
11940 < < ^
11941 < ---
11942 < >  ^
11943 < 1564c1523
11944 < < ^
11945 < ---
11946 < >  ^
11947 < 1568c1527
11948 < < ^
11949 < ---
11950 < >  ^
11951 < 1572c1531
11952 < < ^
11953 < ---
11954 < >  ^
11955 < 1576c1535
11956 < < ^
11957 < ---
11958 < >  ^
11959 < 1580c1539
11960 < < ^
11961 < ---
11962 < >  ^
11963 < 1584c1543
11964 < < ^
11965 < ---
11966 < >  ^
11967 < 1588c1547
11968 < < ^
11969 < ---
11970 < >  ^
11971 < 1592c1551
11972 < < ^
11973 < ---
11974 < >  ^
11975 < 1596c1555
11976 < < ^
11977 < ---
11978 < >  ^
11979 < 1600c1559
11980 < < ^
11981 < ---
11982 < >  ^
11983 < 1604c1563
11984 < < ^
11985 < ---
11986 < >  ^
11987 < 1608c1567
11988 < < ^
11989 < ---
11990 < >  ^
11991 < 1612c1571
11992 < < ^
11993 < ---
11994 < >  ^
11995 < 1616c1575
11996 < < ^
11997 < ---
11998 < >  ^
11999 < 1620c1579
12000 < < ^
12001 < ---
12002 < >  ^
12003 < 1624c1583
12004 < < ^
12005 < ---
12006 < >  ^
12007 < 1628c1587
12008 < < ^
12009 < ---
12010 < >  ^
12011 < 1632c1591
12012 < < ^
12013 < ---
12014 < >  ^
12015 < 1636c1595
12016 < < ^
12017 < ---
12018 < >  ^
12019 < 1640c1599
12020 < < ^
12021 < ---
12022 < >  ^
12023 < 1644c1603
12024 < < ^
12025 < ---
12026 < >  ^
12027 < 1648c1607
12028 < < ^
12029 < ---
12030 < >  ^
12031 < 1652c1611
12032 < < ^
12033 < ---
12034 < >  ^
12035 < 1656c1615
12036 < < ^
12037 < ---
12038 < >  ^
12039 < 1660c1619
12040 < < ^
12041 < ---
12042 < >  ^
12043 < 1664c1623
12044 < < ^
12045 < ---
12046 < >  ^
12047 < 1668c1627
12048 < < ^
12049 < ---
12050 < >  ^
12051 < 1672c1631
12052 < < ^
12053 < ---
12054 < >  ^
12055 < 1676c1635
12056 < < ^
12057 < ---
12058 < >  ^
12059 < 1680c1639
12060 < < ^
12061 < ---
12062 < >  ^
12063 < 1684c1643
12064 < < ^
12065 < ---
12066 < >  ^
12067 < 1688c1647
12068 < < ^
12069 < ---
12070 < >  ^
12071 < 1692c1651
12072 < < ^
12073 < ---
12074 < >  ^
12075 < 1700c1659
12076 < < ^
12077 < ---
12078 < >  ^
12079 < 1708c1667
12080 < < ^
12081 < ---
12082 < >  ^
12083 < 1723c1682
12084 < < ^
12085 < ---
12086 < >  ^
12087 < 1730,1731c1689,1690
12088 < < ^
12089 < < COMMIT WORK^
12090 < ---
12091 < >  ^
12092 < > COMMIT WORK ^
12093 < 1739c1698
12094 < < CREATE PACKAGE BODY FB$OUT                                                        
12095 < ---
12096 < > CREATE PACKAGE BODY FB$OUT                        
12097 < 1796c1755
12098 < < ^
12099 < ---
12100 < >  ^
12101 < 1798c1757
12102 < < CREATE PACKAGE BODY SELECT$TEST                                                    
12103 < ---
12104 < > CREATE PACKAGE BODY SELECT$TEST                    
12105 < 1808c1767
12106 < < ^
12107 < ---
12108 < >  ^
12109 < 1810c1769
12110 < < SET TERM ;^
12111 < ---
12112 < > SET TERM ; ^
12113 < 1820c1779
12114 < < ALTER PROCEDURE SHOW_LANGS
12115 < ---
12116 < > ALTER PROCEDURE SHOW_LANGS
12117 < 1848,1849c1807
12118 < <
12119 < < ALTER PROCEDURE ADD_EMP_PROJ
12120 < ---
12121 < > ALTER PROCEDURE ADD_EMP_PROJ
12122 < 1864c1822
12123 < < ALTER PROCEDURE ALL_LANGS
12124 < ---
12125 < > ALTER PROCEDURE ALL_LANGS
12126 < 1892,1893c1850
12127 < <
12128 < < ALTER PROCEDURE DELETE_EMPLOYEE
12129 < ---
12130 < > ALTER PROCEDURE DELETE_EMPLOYEE
12131 < 1952,1953c1909
12132 < <
12133 < < ALTER PROCEDURE DEPT_BUDGET
12134 < ---
12135 < > ALTER PROCEDURE DEPT_BUDGET
12136 < 1996c1952
12137 < <   SALARY NUMERIC(10,2)
12138 < ---
12139 < >   SALARY NUMERIC(10, 2)
12140 < 2010c1966
12141 < < ALTER PROCEDURE GET_EMP_PROJ
12142 < ---
12143 < > ALTER PROCEDURE GET_EMP_PROJ
12144 < 2029,2030c1985
12145 < <
12146 < < ALTER PROCEDURE "Has Space"
12147 < ---
12148 < > ALTER PROCEDURE "Has Space"
12149 < 2038,2039c1993
12150 < <
12151 < < ALTER PROCEDURE MAIL_LABEL
12152 < ---
12153 < > ALTER PROCEDURE MAIL_LABEL
12154 < 2109,2110c2063
12155 < <
12156 < < ALTER PROCEDURE ORG_CHART
12157 < ---
12158 < > ALTER PROCEDURE ORG_CHART
12159 < 2152,2153c2105
12160 < <
12161 < < ALTER PROCEDURE SHIP_ORDER
12162 < ---
12163 < > ALTER PROCEDURE SHIP_ORDER
12164 < 2212,2213c2164
12165 < <
12166 < < ALTER PROCEDURE SUB_TOT_BUDGET
12167 < ---
12168 < > ALTER PROCEDURE SUB_TOT_BUDGET
12169 < 2234,2235c2185
12170 < <
12171 < < ALTER PROCEDURE "UC SPACE"
12172 < ---
12173 < > ALTER PROCEDURE "UC SPACE"
12174 < 2243,2244c2193
12175 < <
12176 < < ALTER PROCEDURE "iCASE"
12177 < ---
12178 < > ALTER PROCEDURE "iCASE"
12179 < 2248,2249c2197
12180 < <
12181 < < SET TERM ;^
12182 < ---
12183 < > SET TERM ; ^
12184 < 2267c2215
12185 < < SET TERM ;^
12186 < ---
12187 < > SET TERM ; ^
12188 < 2277,2280d2224
11857 > 2334,2337d2324
11858   <
11859   < /* Role: TESTROLE, Owner: SYSDBA */
11860   <
# Line 12244 | Line 11913 | Message File Location = /opt/firebird3.0
11913   Database Statistics for employee
11914  
11915   Database "/opt/firebird3.0.5/examples/empbuild/employee.fdb"
11916 < Gstat execution time Wed Oct  6 09:54:45 2021
11916 > Gstat execution time Sun Oct 17 23:38:52 2021
11917  
11918   Database header page information:
11919   Flags                   0
11920 < Generation              3338
11920 > Generation              3558
11921   System Change Number    0
11922   Page size               8192
11923   ODS version             12.0
11924 < Oldest transaction      3763
11925 < Oldest active           3764
11926 < Oldest snapshot         3764
11927 < Next transaction        3764
11924 > Oldest transaction      4013
11925 > Oldest active           4014
11926 > Oldest snapshot         4014
11927 > Next transaction        4014
11928   Sequence number         0
11929 < Next attachment ID      3517
11929 > Next attachment ID      3761
11930   Implementation          HW=AMD/Intel/x64 little-endian OS=Linux CC=gcc
11931   Shadow count            0
11932   Page buffers            0
# Line 12404 | Line 12073 | Fill distribution:
12073   60 - 79% = 0
12074   80 - 99% = 0
12075  
12076 < Gstat completion time Wed Oct  6 09:54:45 2021
12076 > Gstat completion time Sun Oct 17 23:38:52 2021
12077  
12078  
12079  
# Line 12414 | Line 12083 | zeus   Tue Jun  9 15:11:28 2020
12083   bin/fbguard: guardian starting /opt/firebird3.0.5/bin/firebird
12084  
12085   Online Validation
12086 < 09:54:46.38 Validation started
12086 > 23:38:53.49 Validation started
12087  
12088 < 09:54:46.39 Relation 128 (COUNTRY)
12089 < 09:54:46.39   process pointer page    0 of    1
12090 < 09:54:46.39 Index 1 (RDB$PRIMARY1)
12091 < 09:54:46.39 Relation 128 (COUNTRY) is ok
12092 <
12093 < 09:54:46.39 Relation 129 (JOB)
12094 < 09:54:46.39   process pointer page    0 of    1
12095 < 09:54:46.39 Index 1 (RDB$PRIMARY2)
12096 < 09:54:46.39 Index 2 (RDB$FOREIGN3)
12097 < 09:54:46.39 Index 3 (MAXSALX)
12098 < 09:54:46.39 Index 4 (MINSALX)
12099 < 09:54:46.39 Relation 129 (JOB) is ok
12100 <
12101 < 09:54:46.39 Relation 130 (DEPARTMENT)
12102 < 09:54:46.39   process pointer page    0 of    1
12103 < 09:54:46.39 Index 1 (RDB$4)
12104 < 09:54:46.40 Index 2 (RDB$PRIMARY5)
12105 < 09:54:46.40 Index 3 (RDB$FOREIGN6)
12106 < 09:54:46.40 Index 4 (BUDGETX)
12107 < 09:54:46.40 Index 5 (RDB$FOREIGN10)
12108 < 09:54:46.40 Relation 130 (DEPARTMENT) is ok
12109 <
12110 < 09:54:46.40 Relation 131 (EMPLOYEE)
12111 < 09:54:46.40   process pointer page    0 of    1
12112 < 09:54:46.40 Index 1 (RDB$PRIMARY7)
12113 < 09:54:46.40 Index 2 (RDB$FOREIGN8)
12114 < 09:54:46.40 Index 3 (RDB$FOREIGN9)
12115 < 09:54:46.40 Index 4 (NAMEX)
12116 < 09:54:46.40 Relation 131 (EMPLOYEE) is ok
12117 <
12118 < 09:54:46.40 Relation 133 (PROJECT)
12119 < 09:54:46.40   process pointer page    0 of    1
12120 < 09:54:46.40 Index 1 (RDB$11)
12121 < 09:54:46.40 Index 2 (RDB$PRIMARY12)
12122 < 09:54:46.40 Index 3 (RDB$FOREIGN13)
12123 < 09:54:46.40 Index 4 (PRODTYPEX)
12124 < 09:54:46.40 Relation 133 (PROJECT) is ok
12125 <
12126 < 09:54:46.40 Relation 134 (EMPLOYEE_PROJECT)
12127 < 09:54:46.40   process pointer page    0 of    1
12128 < 09:54:46.40 Index 1 (RDB$PRIMARY14)
12129 < 09:54:46.40 Index 2 (RDB$FOREIGN15)
12130 < 09:54:46.40 Index 3 (RDB$FOREIGN16)
12131 < 09:54:46.40 Relation 134 (EMPLOYEE_PROJECT) is ok
12132 <
12133 < 09:54:46.40 Relation 135 (PROJ_DEPT_BUDGET)
12134 < 09:54:46.40   process pointer page    0 of    1
12135 < 09:54:46.40 Index 1 (RDB$PRIMARY17)
12136 < 09:54:46.40 Index 2 (RDB$FOREIGN18)
12137 < 09:54:46.40 Index 3 (RDB$FOREIGN19)
12138 < 09:54:46.40 Relation 135 (PROJ_DEPT_BUDGET) is ok
12139 <
12140 < 09:54:46.40 Relation 136 (SALARY_HISTORY)
12141 < 09:54:46.40   process pointer page    0 of    1
12142 < 09:54:46.40 Index 1 (RDB$PRIMARY20)
12143 < 09:54:46.40 Index 2 (RDB$FOREIGN21)
12144 < 09:54:46.40 Index 3 (CHANGEX)
12145 < 09:54:46.40 Index 4 (UPDATERX)
12146 < 09:54:46.41 Relation 136 (SALARY_HISTORY) is ok
12147 <
12148 < 09:54:46.41 Relation 137 (CUSTOMER)
12149 < 09:54:46.41   process pointer page    0 of    1
12150 < 09:54:46.41 Index 1 (RDB$PRIMARY22)
12151 < 09:54:46.41 Index 2 (RDB$FOREIGN23)
12152 < 09:54:46.41 Index 3 (CUSTNAMEX)
12153 < 09:54:46.41 Index 4 (CUSTREGION)
12154 < 09:54:46.41 Relation 137 (CUSTOMER) is ok
12155 <
12156 < 09:54:46.41 Relation 138 (SALES)
12157 < 09:54:46.41   process pointer page    0 of    1
12158 < 09:54:46.41 Index 1 (RDB$PRIMARY24)
12159 < 09:54:46.41 Index 2 (RDB$FOREIGN25)
12160 < 09:54:46.41 Index 3 (RDB$FOREIGN26)
12161 < 09:54:46.41 Index 4 (NEEDX)
12162 < 09:54:46.41 Index 5 (QTYX)
12163 < 09:54:46.41 Index 6 (SALESTATX)
12164 < 09:54:46.41 Relation 138 (SALES) is ok
12088 > 23:38:53.49 Relation 128 (COUNTRY)
12089 > 23:38:53.49   process pointer page    0 of    1
12090 > 23:38:53.49 Index 1 (RDB$PRIMARY1)
12091 > 23:38:53.49 Relation 128 (COUNTRY) is ok
12092 >
12093 > 23:38:53.49 Relation 129 (JOB)
12094 > 23:38:53.49   process pointer page    0 of    1
12095 > 23:38:53.49 Index 1 (RDB$PRIMARY2)
12096 > 23:38:53.49 Index 2 (RDB$FOREIGN3)
12097 > 23:38:53.49 Index 3 (MAXSALX)
12098 > 23:38:53.49 Index 4 (MINSALX)
12099 > 23:38:53.49 Relation 129 (JOB) is ok
12100 >
12101 > 23:38:53.49 Relation 130 (DEPARTMENT)
12102 > 23:38:53.49   process pointer page    0 of    1
12103 > 23:38:53.49 Index 1 (RDB$4)
12104 > 23:38:53.49 Index 2 (RDB$PRIMARY5)
12105 > 23:38:53.49 Index 3 (RDB$FOREIGN6)
12106 > 23:38:53.49 Index 4 (BUDGETX)
12107 > 23:38:53.49 Index 5 (RDB$FOREIGN10)
12108 > 23:38:53.49 Relation 130 (DEPARTMENT) is ok
12109 >
12110 > 23:38:53.49 Relation 131 (EMPLOYEE)
12111 > 23:38:53.50   process pointer page    0 of    1
12112 > 23:38:53.50 Index 1 (RDB$PRIMARY7)
12113 > 23:38:53.50 Index 2 (RDB$FOREIGN8)
12114 > 23:38:53.50 Index 3 (RDB$FOREIGN9)
12115 > 23:38:53.50 Index 4 (NAMEX)
12116 > 23:38:53.50 Relation 131 (EMPLOYEE) is ok
12117 >
12118 > 23:38:53.50 Relation 133 (PROJECT)
12119 > 23:38:53.50   process pointer page    0 of    1
12120 > 23:38:53.50 Index 1 (RDB$11)
12121 > 23:38:53.50 Index 2 (RDB$PRIMARY12)
12122 > 23:38:53.50 Index 3 (RDB$FOREIGN13)
12123 > 23:38:53.50 Index 4 (PRODTYPEX)
12124 > 23:38:53.50 Relation 133 (PROJECT) is ok
12125 >
12126 > 23:38:53.50 Relation 134 (EMPLOYEE_PROJECT)
12127 > 23:38:53.50   process pointer page    0 of    1
12128 > 23:38:53.50 Index 1 (RDB$PRIMARY14)
12129 > 23:38:53.50 Index 2 (RDB$FOREIGN15)
12130 > 23:38:53.50 Index 3 (RDB$FOREIGN16)
12131 > 23:38:53.50 Relation 134 (EMPLOYEE_PROJECT) is ok
12132 >
12133 > 23:38:53.50 Relation 135 (PROJ_DEPT_BUDGET)
12134 > 23:38:53.50   process pointer page    0 of    1
12135 > 23:38:53.50 Index 1 (RDB$PRIMARY17)
12136 > 23:38:53.50 Index 2 (RDB$FOREIGN18)
12137 > 23:38:53.50 Index 3 (RDB$FOREIGN19)
12138 > 23:38:53.50 Relation 135 (PROJ_DEPT_BUDGET) is ok
12139 >
12140 > 23:38:53.50 Relation 136 (SALARY_HISTORY)
12141 > 23:38:53.50   process pointer page    0 of    1
12142 > 23:38:53.50 Index 1 (RDB$PRIMARY20)
12143 > 23:38:53.50 Index 2 (RDB$FOREIGN21)
12144 > 23:38:53.50 Index 3 (CHANGEX)
12145 > 23:38:53.50 Index 4 (UPDATERX)
12146 > 23:38:53.50 Relation 136 (SALARY_HISTORY) is ok
12147 >
12148 > 23:38:53.50 Relation 137 (CUSTOMER)
12149 > 23:38:53.50   process pointer page    0 of    1
12150 > 23:38:53.50 Index 1 (RDB$PRIMARY22)
12151 > 23:38:53.50 Index 2 (RDB$FOREIGN23)
12152 > 23:38:53.50 Index 3 (CUSTNAMEX)
12153 > 23:38:53.50 Index 4 (CUSTREGION)
12154 > 23:38:53.50 Relation 137 (CUSTOMER) is ok
12155 >
12156 > 23:38:53.50 Relation 138 (SALES)
12157 > 23:38:53.50   process pointer page    0 of    1
12158 > 23:38:53.51 Index 1 (RDB$PRIMARY24)
12159 > 23:38:53.51 Index 2 (RDB$FOREIGN25)
12160 > 23:38:53.51 Index 3 (RDB$FOREIGN26)
12161 > 23:38:53.51 Index 4 (NEEDX)
12162 > 23:38:53.51 Index 5 (QTYX)
12163 > 23:38:53.51 Index 6 (SALESTATX)
12164 > 23:38:53.51 Relation 138 (SALES) is ok
12165  
12166 < 09:54:46.41 Validation finished
12166 > 23:38:53.51 Validation finished
12167  
12168  
12169   Normal Validation
# Line 15668 | Line 15337 | Create Table LotsOfData (
15337      MyText VarChar(1024),
15338      Primary Key (RowID)
15339    );                
15340 < Loading data into database table. Started at 06/10/2021 09:55:30.702
15341 < Data load completed at 06/10/2021 09:57:14.355 Elapsed Time = 103653 ms, 100000 records loaded
15342 < Message Hash = aada768f1d5fa8c549d255798b6df8ab
15343 < Database Read started at 06/10/2021 09:57:14.365
15344 < Read Dataset completed at 06/10/2021 09:57:44.461 Elapsed Time = 30096 ms, 100000 records read
15345 < Message Hash = aada768f1d5fa8c549d255798b6df8ab
15340 > Loading data into database table. Started at 17/10/2021 23:39:39.221
15341 > Data load completed at 17/10/2021 23:41:18.349 Elapsed Time = 99128 ms, 100000 records loaded
15342 > Message Hash = 0469fd0e0213f65f1bb40a36cc30b97b
15343 > Database Read started at 17/10/2021 23:41:18.359
15344 > Read Dataset completed at 17/10/2021 23:41:48.428 Elapsed Time = 30069 ms, 100000 records read
15345 > Message Hash = 0469fd0e0213f65f1bb40a36cc30b97b
15346   Test Completed successfully
15347 < 06/10/2021 09:57:44.461 Test 21 passes as long as the checksums are identical
15347 > 17/10/2021 23:41:48.428 Test 21 passes as long as the checksums are identical
15348  
15349  
15350   ------------------------------------------------------
# Line 16570 | Line 16239 | IBTable after create
16239  
16240   /* Table: TestTable, Owner: SYSDBA */
16241  
16242 < CREATE TABLE "TestTable"
16242 > CREATE TABLE "TestTable"
16243   (
16244          MYKEY   INTEGER NOT NULL,
16245          TEXTFIELD       VARCHAR(32) CHARACTER SET UTF8,
# Line 17311 | Line 16980 | SET AUTODDL ON;
16980  
16981   /* Table: DBVERSIONINFO, Owner: SYSDBA */
16982  
16983 < CREATE TABLE DBVERSIONINFO
16983 > CREATE TABLE DBVERSIONINFO
16984   (
16985          VERSIONNO       INTEGER NOT NULL,
16986   PRIMARY KEY (VERSIONNO)
# Line 17319 | Line 16988 | PRIMARY KEY (VERSIONNO)
16988  
16989   /* Table: IBDATASETTEST, Owner: SYSDBA */
16990  
16991 < CREATE TABLE IBDATASETTEST
16991 > CREATE TABLE IBDATASETTEST
16992   (
16993          KEYFIELD        INTEGER NOT NULL,
16994          PLAINTEXT       VARCHAR(128),
# Line 17337 | Line 17006 | COMMIT;
17006  
17007   CREATE SEQUENCE AGENERATOR;
17008   ALTER SEQUENCE AGENERATOR RESTART WITH 0;
17009 < SET TERM ^ ;
17009 > SET TERM ^;
17010  
17011  
17012   /* Triggers only will work for SQL triggers */
# Line 17348 | Line 17017 | As
17017   Begin
17018    new.ServerSideText = new.KeyField || ' - ' || new.PlainText;
17019   End
17020 < ^
17021 < COMMIT WORK ^
17020 > ^
17021 >
17022 > COMMIT WORK^
17023   SET TERM ;^
17024  
17025   /* Comments on System Objects */
# Line 17507 | Line 17177 | SET AUTODDL ON;
17177  
17178   /* Table: DBVERSIONINFO, Owner: SYSDBA */
17179  
17180 < CREATE TABLE DBVERSIONINFO
17180 > CREATE TABLE DBVERSIONINFO
17181   (
17182          VERSIONNO       INTEGER NOT NULL,
17183   PRIMARY KEY (VERSIONNO)
# Line 17515 | Line 17185 | PRIMARY KEY (VERSIONNO)
17185  
17186   /* Table: IBDATASETTEST, Owner: SYSDBA */
17187  
17188 < CREATE TABLE IBDATASETTEST
17188 > CREATE TABLE IBDATASETTEST
17189   (
17190          KEYFIELD        INTEGER NOT NULL,
17191          PLAINTEXT       VARCHAR(128),
# Line 17538 | Line 17208 | COMMIT;
17208  
17209   CREATE SEQUENCE AGENERATOR;
17210   ALTER SEQUENCE AGENERATOR RESTART WITH 1;
17211 < SET TERM ^ ;
17211 > SET TERM ^;
17212  
17213  
17214   /* Triggers only will work for SQL triggers */
# Line 17549 | Line 17219 | As
17219   Begin
17220    new.ServerSideText = new.KeyField || ' - ' || new.PlainText;
17221   End
17222 < ^
17223 < COMMIT WORK ^
17222 > ^
17223 >
17224 > COMMIT WORK^
17225   SET TERM ;^
17226  
17227   /* Comments on System Objects */
# Line 17693 | Line 17364 | SET AUTODDL ON;
17364  
17365   /* Table: DBVERSIONINFO, Owner: SYSDBA */
17366  
17367 < CREATE TABLE DBVERSIONINFO
17367 > CREATE TABLE DBVERSIONINFO
17368   (
17369          VERSIONNO       INTEGER NOT NULL,
17370   PRIMARY KEY (VERSIONNO)
# Line 17701 | Line 17372 | PRIMARY KEY (VERSIONNO)
17372  
17373   /* Table: IBDATASETTEST, Owner: SYSDBA */
17374  
17375 < CREATE TABLE IBDATASETTEST
17375 > CREATE TABLE IBDATASETTEST
17376   (
17377          KEYFIELD        INTEGER NOT NULL,
17378          PLAINTEXT       VARCHAR(128),
# Line 17725 | Line 17396 | COMMIT;
17396  
17397   CREATE SEQUENCE AGENERATOR;
17398   ALTER SEQUENCE AGENERATOR RESTART WITH 2;
17399 < SET TERM ^ ;
17399 > SET TERM ^;
17400  
17401  
17402   /* Triggers only will work for SQL triggers */
# Line 17736 | Line 17407 | As
17407   Begin
17408    new.ServerSideText = new.KeyField || ' - ' || new.PlainText;
17409   End
17410 < ^
17411 < COMMIT WORK ^
17410 > ^
17411 >
17412 > COMMIT WORK^
17413   SET TERM ;^
17414  
17415   /* Comments on System Objects */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines