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

Comparing:
ibx/trunk/testsuite/FB2reference.log (file contents), Revision 348 by tony, Wed Oct 6 09:38:14 2021 UTC vs.
ibx/branches/journaling/testsuite/FB2reference.log (file contents), Revision 363 by tony, Tue Dec 7 13:30:05 2021 UTC

# Line 640 | Line 640 | DEPT_KEY_PATH = 000;900
640   Rows printed = 42
641  
642   Current memory = 960,760
643 < Delta memory = 9,624
643 > Delta memory = 9,512
644   Max memory = 1,012,104
645 < Elapsed time= 0.032 sec
645 > Elapsed time= 0.027 sec
646   Cpu = 0.002 sec
647   Buffers = 75
648   Reads = 3
# Line 1443 | Line 1443 | DPB: Item Count = 3
1443    isc_dpb_lc_ctype = UTF8
1444  
1445   Before Disconnect
1446 < localhost:employee Disconnected after 23 ms
1446 > localhost:employee Disconnected after 17 ms
1447   Before Connect
1448   Connected to localhost:employee
1449   DPB: Item Count = 3
# Line 1452 | Line 1452 | DPB: Item Count = 3
1452    isc_dpb_lc_ctype = UTF8
1453  
1454   Before Disconnect
1455 < localhost:employee Disconnected after 3989 ms
1455 > localhost:employee Disconnected after 3979 ms
1456   Idle Timer Expired for Test_Database_02
1457   Database Closed
1458   Transaction Events
# Line 1489 | Line 1489 | TPB: Item Count = 3
1489    isc_tpb_read
1490  
1491   Transaction Ending
1492 < Transaction Ended after 2012 ms
1492 > Transaction Ended after 2015 ms
1493   Idle Timer Expired for Test_Transaction_02
1494   Before Disconnect
1495 < localhost:employee Disconnected after 2074 ms
1495 > localhost:employee Disconnected after 2066 ms
1496   SQL Dialect Downgrade test
1497   Before Connect
1498   Connected to localhost:/tmp/ibx-testsuite/testsuite1.fdb
# Line 1504 | Line 1504 | DPB: Item Count = 4
1504  
1505   localhost:/tmp/ibx-testsuite/testsuite1.fdb created
1506   Before Disconnect
1507 < localhost:/tmp/ibx-testsuite/testsuite1.fdb Disconnected after 30 ms
1507 > localhost:/tmp/ibx-testsuite/testsuite1.fdb Disconnected after 27 ms
1508   Before Connect
1509   Warning: SQL Dialect Downgrade of localhost:/tmp/ibx-testsuite/testsuite1.fdb
1510   Connected to localhost:/tmp/ibx-testsuite/testsuite1.fdb
# Line 1514 | Line 1514 | DPB: Item Count = 3
1514    isc_dpb_lc_ctype = UTF8
1515  
1516   Before Disconnect
1517 < localhost:/tmp/ibx-testsuite/testsuite1.fdb Disconnected after 37 ms
1517 > localhost:/tmp/ibx-testsuite/testsuite1.fdb Disconnected after 22 ms
1518  
1519  
1520   ------------------------------------------------------
# Line 1543 | Line 1543 | Page Size = 4096
1543   Version = LI-V6.3.9.27139 Firebird 2.5
1544   Current Memory = 876840
1545   Forced Writes Enabled
1546 < Max Memory = 902432
1546 > Max Memory = 902544
1547   Number of Buffers = 75
1548   Sweep Interval = 20000
1549   User Names: SYSDBA
# Line 3149 | Line 3149 | FULL_NAME = Guckenheimer, Mark
3149   DEPT_PATH = Corporate Headquarters / Engineering / Software Products Div. / Quality Assurance
3150   DEPT_KEY_PATH = 000;600;620;622
3151   Current memory = 952,624
3152 < Delta memory = 9,608
3152 > Delta memory = 9,496
3153   Max memory = 1,013,496
3154 < Elapsed time= 0.038 sec
3155 < Cpu = 0.001 sec
3154 > Elapsed time= 0.031 sec
3155 > Cpu = 0.002 sec
3156   Buffers = 75
3157   Reads = 3
3158   Writes = 0
# Line 3753 | Line 3753 | SET AUTODDL ON;
3753   /* Domain definitions */
3754  
3755   CREATE DOMAIN ADDRESSLINE AS VARCHAR(30);
3756 < CREATE DOMAIN BUDGET AS DECIMAL(12, 2)
3756 > CREATE DOMAIN BUDGET AS DECIMAL(12,2)
3757           DEFAULT 50000;
3758   CREATE DOMAIN COUNTRYNAME AS VARCHAR(15);
3759   CREATE DOMAIN CUSTNO AS INTEGER;
# Line 3768 | Line 3768 | CREATE DOMAIN PONUMBER AS CHAR(8);
3768   CREATE DOMAIN PRODTYPE AS VARCHAR(12)
3769           DEFAULT 'software' NOT NULL;
3770   CREATE DOMAIN PROJNO AS CHAR(5);
3771 < CREATE DOMAIN SALARY AS NUMERIC(10, 2)
3771 > CREATE DOMAIN SALARY AS NUMERIC(10,2)
3772           DEFAULT 0;
3773  
3774   /* Table: COUNTRY, Owner: SYSDBA */
3775  
3776 < CREATE TABLE COUNTRY
3776 > CREATE TABLE COUNTRY
3777   (
3778          COUNTRY COUNTRYNAME NOT NULL,
3779          CURRENCY        VARCHAR(10) NOT NULL,
# Line 3782 | Line 3782 | PRIMARY KEY (COUNTRY)
3782  
3783   /* Table: CUSTOMER, Owner: SYSDBA */
3784  
3785 < CREATE TABLE CUSTOMER
3785 > CREATE TABLE CUSTOMER
3786   (
3787          CUST_NO CUSTNO NOT NULL,
3788          CUSTOMER        VARCHAR(25) NOT NULL,
# Line 3801 | Line 3801 | PRIMARY KEY (CUST_NO)
3801  
3802   /* Table: DEPARTMENT, Owner: SYSDBA */
3803  
3804 < CREATE TABLE DEPARTMENT
3804 > CREATE TABLE DEPARTMENT
3805   (
3806          DEPT_NO DEPTNO NOT NULL,
3807          DEPARTMENT      VARCHAR(25) NOT NULL,
# Line 3816 | Line 3816 | PRIMARY KEY (DEPT_NO)
3816  
3817   /* Table: EMPLOYEE, Owner: SYSDBA */
3818  
3819 < CREATE TABLE EMPLOYEE
3819 > CREATE TABLE EMPLOYEE
3820   (
3821          EMP_NO  EMPNO NOT NULL,
3822          FIRST_NAME      FIRSTNAME NOT NULL,
# Line 3834 | Line 3834 | PRIMARY KEY (EMP_NO)
3834  
3835   /* Table: EMPLOYEE_PROJECT, Owner: SYSDBA */
3836  
3837 < CREATE TABLE EMPLOYEE_PROJECT
3837 > CREATE TABLE EMPLOYEE_PROJECT
3838   (
3839          EMP_NO  EMPNO NOT NULL,
3840          PROJ_ID PROJNO NOT NULL,
# Line 3843 | Line 3843 | PRIMARY KEY (EMP_NO, PROJ_ID)
3843  
3844   /* Table: JOB, Owner: SYSDBA */
3845  
3846 < CREATE TABLE JOB
3846 > CREATE TABLE JOB
3847   (
3848          JOB_CODE        JOBCODE NOT NULL,
3849          JOB_GRADE       JOBGRADE NOT NULL,
# Line 3858 | Line 3858 | PRIMARY KEY (JOB_CODE, JOB_GRADE, JOB_CO
3858  
3859   /* Table: PROJECT, Owner: SYSDBA */
3860  
3861 < CREATE TABLE PROJECT
3861 > CREATE TABLE PROJECT
3862   (
3863          PROJ_ID PROJNO NOT NULL,
3864          PROJ_NAME       VARCHAR(20) NOT NULL,
# Line 3871 | Line 3871 | PRIMARY KEY (PROJ_ID)
3871  
3872   /* Table: PROJ_DEPT_BUDGET, Owner: SYSDBA */
3873  
3874 < CREATE TABLE PROJ_DEPT_BUDGET
3874 > CREATE TABLE PROJ_DEPT_BUDGET
3875   (
3876          FISCAL_YEAR     INTEGER NOT NULL,
3877          PROJ_ID PROJNO NOT NULL,
# Line 3883 | Line 3883 | PRIMARY KEY (FISCAL_YEAR, PROJ_ID, DEPT_
3883  
3884   /* Table: SALARY_HISTORY, Owner: SYSDBA */
3885  
3886 < CREATE TABLE SALARY_HISTORY
3886 > CREATE TABLE SALARY_HISTORY
3887   (
3888          EMP_NO  EMPNO NOT NULL,
3889          CHANGE_DATE     TIMESTAMP DEFAULT 'NOW' NOT NULL,
# Line 3896 | Line 3896 | PRIMARY KEY (EMP_NO, CHANGE_DATE, UPDATE
3896  
3897   /* Table: SALES, Owner: SYSDBA */
3898  
3899 < CREATE TABLE SALES
3899 > CREATE TABLE SALES
3900   (
3901          PO_NUMBER       PONUMBER NOT NULL,
3902          CUST_NO CUSTNO NOT NULL,
# Line 3907 | Line 3907 | CREATE TABLE SALES
3907          DATE_NEEDED     TIMESTAMP,
3908          PAID    CHAR(1) DEFAULT 'n',
3909          QTY_ORDERED     INTEGER DEFAULT 1 NOT NULL,
3910 <        TOTAL_VALUE     DECIMAL(9, 2) NOT NULL,
3910 >        TOTAL_VALUE     DECIMAL(9,2) NOT NULL,
3911          DISCOUNT        FLOAT DEFAULT 0 NOT NULL,
3912          ITEM_TYPE       PRODTYPE,
3913          AGED COMPUTED BY (ship_date - order_date),
# Line 3949 | Line 3949 | CREATE SEQUENCE EMP_NO_GEN;
3949   /* View: PHONE_LIST, Owner: SYSDBA */
3950  
3951   CREATE VIEW PHONE_LIST (
3952 <  EMP_NO,
3953 <  FIRST_NAME,
3954 <  LAST_NAME,
3955 <  PHONE_EXT,
3956 <  LOCATION,
3952 >  EMP_NO,
3953 >  FIRST_NAME,
3954 >  LAST_NAME,
3955 >  PHONE_EXT,
3956 >  LOCATION,
3957    PHONE_NO
3958   ) AS
3959   SELECT
# Line 4051 | Line 4051 | CREATE EXCEPTION REASSIGN_SALES 'Reassig
4051   CREATE EXCEPTION UNKNOWN_EMP_ID 'Invalid employee number or project id.';
4052   COMMIT WORK;
4053   SET AUTODDL OFF;
4054 < SET TERM ^ ;
4054 > SET TERM ^;
4055  
4056   /* Stored procedures Definitions*/
4057  
# Line 4068 | Line 4068 | RETURNS
4068   AS
4069   BEGIN SUSPEND; EXIT; END
4070   ^
4071 +
4072   CREATE PROCEDURE ADD_EMP_PROJ
4073   (
4074    EMP_NO SMALLINT,
# Line 4076 | Line 4077 | CREATE PROCEDURE ADD_EMP_PROJ
4077   AS
4078   BEGIN SUSPEND; EXIT; END
4079   ^
4080 +
4081   CREATE PROCEDURE ALL_LANGS
4082   RETURNS
4083   (
# Line 4087 | Line 4089 | RETURNS
4089   AS
4090   BEGIN SUSPEND; EXIT; END
4091   ^
4092 +
4093   CREATE PROCEDURE DELETE_EMPLOYEE
4094   (
4095    EMP_NUM INTEGER
# Line 4094 | Line 4097 | CREATE PROCEDURE DELETE_EMPLOYEE
4097   AS
4098   BEGIN SUSPEND; EXIT; END
4099   ^
4100 +
4101   CREATE PROCEDURE DEPT_BUDGET
4102   (
4103    DNO CHAR(3) CHARACTER SET NONE
4104   )
4105   RETURNS
4106   (
4107 <  TOT DECIMAL(12, 2)
4107 >  TOT DECIMAL(12,2)
4108   )
4109   AS
4110   BEGIN SUSPEND; EXIT; END
4111   ^
4112 +
4113   CREATE PROCEDURE GET_EMP_PROJ
4114   (
4115    EMP_NO SMALLINT
# Line 4116 | Line 4121 | RETURNS
4121   AS
4122   BEGIN SUSPEND; EXIT; END
4123   ^
4124 +
4125   CREATE PROCEDURE MAIL_LABEL
4126   (
4127    CUST_NO INTEGER
# Line 4132 | Line 4138 | RETURNS
4138   AS
4139   BEGIN SUSPEND; EXIT; END
4140   ^
4141 +
4142   CREATE PROCEDURE ORG_CHART
4143   RETURNS
4144   (
# Line 4144 | Line 4151 | RETURNS
4151   AS
4152   BEGIN SUSPEND; EXIT; END
4153   ^
4154 +
4155   CREATE PROCEDURE SHIP_ORDER
4156   (
4157    PO_NUM CHAR(8) CHARACTER SET NONE
# Line 4151 | Line 4159 | CREATE PROCEDURE SHIP_ORDER
4159   AS
4160   BEGIN SUSPEND; EXIT; END
4161   ^
4162 +
4163   CREATE PROCEDURE SUB_TOT_BUDGET
4164   (
4165    HEAD_DEPT CHAR(3) CHARACTER SET NONE
4166   )
4167   RETURNS
4168   (
4169 <  TOT_BUDGET DECIMAL(12, 2),
4170 <  AVG_BUDGET DECIMAL(12, 2),
4171 <  MIN_BUDGET DECIMAL(12, 2),
4172 <  MAX_BUDGET DECIMAL(12, 2)
4169 >  TOT_BUDGET DECIMAL(12,2),
4170 >  AVG_BUDGET DECIMAL(12,2),
4171 >  MIN_BUDGET DECIMAL(12,2),
4172 >  MAX_BUDGET DECIMAL(12,2)
4173   )
4174   AS
4175   BEGIN SUSPEND; EXIT; END
4176   ^
4177 < SET TERM ; ^
4177 >
4178 > SET TERM ;^
4179   COMMIT WORK;
4180   SET AUTODDL ON;
4181 < SET TERM ^ ;
4181 > SET TERM ^;
4182  
4183  
4184   /* Triggers only will work for SQL triggers */
# Line 4180 | Line 4190 | BEGIN
4190      if (new.cust_no is null) then
4191      new.cust_no = gen_id(cust_no_gen, 1);
4192   END
4193 < ^
4193 > ^
4194 >
4195   CREATE TRIGGER SET_EMP_NO FOR EMPLOYEE
4196   ACTIVE BEFORE INSERT POSITION 0
4197   AS
# Line 4188 | Line 4199 | BEGIN
4199      if (new.emp_no is null) then
4200      new.emp_no = gen_id(emp_no_gen, 1);
4201   END
4202 < ^
4202 > ^
4203 >
4204   CREATE TRIGGER SAVE_SALARY_CHANGE FOR EMPLOYEE
4205   ACTIVE AFTER UPDATE POSITION 0
4206   AS
# Line 4203 | Line 4215 | BEGIN
4215              old.salary,
4216              (new.salary - old.salary) * 100 / old.salary);
4217   END
4218 < ^
4218 > ^
4219 >
4220   CREATE TRIGGER POST_NEW_ORDER FOR SALES
4221   ACTIVE AFTER INSERT POSITION 0
4222   AS
4223   BEGIN
4224      POST_EVENT 'new_order';
4225   END
4226 < ^
4227 < COMMIT WORK ^
4226 > ^
4227 >
4228 > COMMIT WORK^
4229   SET TERM ;^
4230   COMMIT WORK;
4231   SET AUTODDL OFF;
4232 < SET TERM ^ ;
4232 > SET TERM ^;
4233  
4234   /* Stored procedure Bodies */
4235  
4222
4236   ALTER PROCEDURE SHOW_LANGS
4237   (
4238    CODE VARCHAR(5) CHARACTER SET NONE,
# Line 4359 | Line 4372 | ALTER PROCEDURE DEPT_BUDGET
4372   )
4373   RETURNS
4374   (
4375 <  TOT DECIMAL(12, 2)
4375 >  TOT DECIMAL(12,2)
4376   )
4377   AS
4378          DECLARE VARIABLE sumb DECIMAL(12, 2);
# Line 4589 | Line 4602 | ALTER PROCEDURE SUB_TOT_BUDGET
4602   )
4603   RETURNS
4604   (
4605 <  TOT_BUDGET DECIMAL(12, 2),
4606 <  AVG_BUDGET DECIMAL(12, 2),
4607 <  MIN_BUDGET DECIMAL(12, 2),
4608 <  MAX_BUDGET DECIMAL(12, 2)
4605 >  TOT_BUDGET DECIMAL(12,2),
4606 >  AVG_BUDGET DECIMAL(12,2),
4607 >  MIN_BUDGET DECIMAL(12,2),
4608 >  MAX_BUDGET DECIMAL(12,2)
4609   )
4610   AS
4611   BEGIN
# Line 4603 | Line 4616 | BEGIN
4616          SUSPEND;
4617   END
4618   ^
4619 < SET TERM ; ^
4619 >
4620 > SET TERM ;^
4621   COMMIT WORK;
4622   SET AUTODDL ON;
4623  
# Line 4649 | Line 4663 | SET AUTODDL ON;
4663  
4664   CREATE DATABASE 'inet://localhost//tmp/ibx-testsuite/testsuite1.fdb' PAGE_SIZE 8192
4665  
4666 < DEFAULT CHARACTER SET NONE;
4666 > DEFAULT CHARACTER SET NONE;
4667   COMMENT ON DATABASE  IS 'Employee Test DB';
4668  
4669   /* Domain definitions */
4670  
4671   CREATE DOMAIN ADDRESSLINE AS VARCHAR(30);
4672 < CREATE DOMAIN BUDGET AS DECIMAL(12, 2)
4672 > CREATE DOMAIN BUDGET AS DECIMAL(12,2)
4673           DEFAULT 50000;
4674   CREATE DOMAIN COUNTRYNAME AS VARCHAR(15);
4675   CREATE DOMAIN CUSTNO AS INTEGER;
# Line 4671 | Line 4685 | CREATE DOMAIN PONUMBER AS CHAR(8);
4685   CREATE DOMAIN PRODTYPE AS VARCHAR(12)
4686           DEFAULT 'software' NOT NULL;
4687   CREATE DOMAIN PROJNO AS CHAR(5);
4688 < CREATE DOMAIN SALARY AS NUMERIC(10, 2)
4688 > CREATE DOMAIN SALARY AS NUMERIC(10,2)
4689           DEFAULT 0;
4690  
4691   /* Table: COUNTRIES, Owner: SYSDBA */
4692  
4693 < CREATE TABLE COUNTRIES
4693 > CREATE TABLE COUNTRIES
4694   (
4695          COUNTRY VARCHAR(64) NOT NULL,
4696          NONEU   SMALLINT,
# Line 4689 | Line 4703 | COMMENT ON COLUMN COUNTRIES.ISO2 IS 'Two
4703  
4704   /* Table: COUNTRY, Owner: SYSDBA */
4705  
4706 < CREATE TABLE COUNTRY
4706 > CREATE TABLE COUNTRY
4707   (
4708          COUNTRY COUNTRYNAME NOT NULL,
4709          CURRENCY        VARCHAR(10) NOT NULL,
# Line 4698 | Line 4712 | PRIMARY KEY (COUNTRY)
4712  
4713   /* Table: CUSTOMER, Owner: SYSDBA */
4714  
4715 < CREATE TABLE CUSTOMER
4715 > CREATE TABLE CUSTOMER
4716   (
4717          CUST_NO CUSTNO NOT NULL,
4718          CUSTOMER        VARCHAR(25) NOT NULL,
# Line 4718 | Line 4732 | PRIMARY KEY (CUST_NO)
4732  
4733   /* Table: DEPARTMENT, Owner: SYSDBA */
4734  
4735 < CREATE TABLE DEPARTMENT
4735 > CREATE TABLE DEPARTMENT
4736   (
4737          DEPT_NO DEPTNO NOT NULL,
4738          DEPARTMENT      VARCHAR(25) NOT NULL,
# Line 4733 | Line 4747 | PRIMARY KEY (DEPT_NO)
4747  
4748   /* Table: EMPLOYEE, Owner: SYSDBA */
4749  
4750 < CREATE TABLE EMPLOYEE
4750 > CREATE TABLE EMPLOYEE
4751   (
4752          EMP_NO  EMPNO NOT NULL,
4753          FIRST_NAME      FIRSTNAME NOT NULL,
# Line 4751 | Line 4765 | PRIMARY KEY (EMP_NO)
4765  
4766   /* Table: EMPLOYEE_PROJECT, Owner: SYSDBA */
4767  
4768 < CREATE TABLE EMPLOYEE_PROJECT
4768 > CREATE TABLE EMPLOYEE_PROJECT
4769   (
4770          EMP_NO  EMPNO NOT NULL,
4771          PROJ_ID PROJNO NOT NULL,
# Line 4760 | Line 4774 | PRIMARY KEY (EMP_NO, PROJ_ID)
4774  
4775   /* Table: FB$OUT_TABLE, Owner: SYSDBA */
4776  
4777 < CREATE GLOBAL TEMPORARY TABLE FB$OUT_TABLE
4777 > CREATE GLOBAL TEMPORARY TABLE FB$OUT_TABLE
4778   (
4779          LINE_NUM        INTEGER,
4780          CONTENT FB$OUT_TYPE
# Line 4768 | Line 4782 | CREATE GLOBAL TEMPORARY TABLE FB$OUT_TAB
4782  
4783   /* Table: JOB, Owner: SYSDBA */
4784  
4785 < CREATE TABLE JOB
4785 > CREATE TABLE JOB
4786   (
4787          JOB_CODE        JOBCODE NOT NULL,
4788          JOB_GRADE       JOBGRADE NOT NULL,
# Line 4783 | Line 4797 | PRIMARY KEY (JOB_CODE, JOB_GRADE, JOB_CO
4797  
4798   /* Table: PROJECT, Owner: SYSDBA */
4799  
4800 < CREATE TABLE PROJECT
4800 > CREATE TABLE PROJECT
4801   (
4802          PROJ_ID PROJNO NOT NULL,
4803          PROJ_NAME       VARCHAR(20) NOT NULL,
# Line 4796 | Line 4810 | PRIMARY KEY (PROJ_ID)
4810  
4811   /* Table: PROJ_DEPT_BUDGET, Owner: SYSDBA */
4812  
4813 < CREATE TABLE PROJ_DEPT_BUDGET
4813 > CREATE TABLE PROJ_DEPT_BUDGET
4814   (
4815          FISCAL_YEAR     INTEGER NOT NULL,
4816          PROJ_ID PROJNO NOT NULL,
# Line 4808 | Line 4822 | PRIMARY KEY (FISCAL_YEAR, PROJ_ID, DEPT_
4822  
4823   /* Table: SALARY_HISTORY, Owner: SYSDBA */
4824  
4825 < CREATE TABLE SALARY_HISTORY
4825 > CREATE TABLE SALARY_HISTORY
4826   (
4827          EMP_NO  EMPNO NOT NULL,
4828          CHANGE_DATE     TIMESTAMP DEFAULT 'NOW' NOT NULL,
# Line 4821 | Line 4835 | PRIMARY KEY (EMP_NO, CHANGE_DATE, UPDATE
4835  
4836   /* Table: SALES, Owner: SYSDBA */
4837  
4838 < CREATE TABLE SALES
4838 > CREATE TABLE SALES
4839   (
4840          PO_NUMBER       PONUMBER NOT NULL,
4841          CUST_NO CUSTNO NOT NULL,
# Line 4832 | Line 4846 | CREATE TABLE SALES
4846          DATE_NEEDED     TIMESTAMP,
4847          PAID    CHAR(1) DEFAULT 'n',
4848          QTY_ORDERED     INTEGER DEFAULT 1 NOT NULL,
4849 <        TOTAL_VALUE     DECIMAL(9, 2) NOT NULL,
4849 >        TOTAL_VALUE     DECIMAL(9,2) NOT NULL,
4850          DISCOUNT        FLOAT DEFAULT 0 NOT NULL,
4851          ITEM_TYPE       PRODTYPE,
4852          AGED COMPUTED BY (ship_date - order_date),
# Line 4845 | Line 4859 | DECLARE EXTERNAL FUNCTION ADDDAY
4859   TIMESTAMP, INTEGER
4860   RETURNS TIMESTAMP
4861   ENTRY_POINT 'addDay' MODULE_NAME 'fbudf'
4848
4862   ;
4863  
4864  
4865   DECLARE EXTERNAL FUNCTION I64TRUNCATE
4866 < NUMERIC(18, 0) BY DESCRIPTOR, NUMERIC(18, 0) BY DESCRIPTOR
4866 > NUMERIC(18,0) BY DESCRIPTOR, NUMERIC(18,0) BY DESCRIPTOR
4867   RETURNS PARAMETER 2
4868   ENTRY_POINT 'fbtruncate' MODULE_NAME 'fbudf'
4856
4869   ;
4870  
4871  
# Line 4861 | Line 4873 | DECLARE EXTERNAL FUNCTION TESTIT
4873   TIMESTAMP, INTEGER NULL, CSTRING(10) CHARACTER SET NONE, CSTRING(10) CHARACTER SET NONE BY DESCRIPTOR
4874   RETURNS CSTRING(32) CHARACTER SET NONE FREE_IT
4875   ENTRY_POINT 'testit' MODULE_NAME 'fbudf'
4864
4876   ;
4877  
4878  
# Line 5592 | Line 5603 | ALTER SEQUENCE FB$OUT_SEQ RESTART WITH 1
5603   /* View: DEPTLIST, Owner: SYSDBA */
5604  
5605   CREATE VIEW DEPTLIST (
5606 <  EMP_NO,
5607 <  FIRST_NAME,
5608 <  LAST_NAME,
5609 <  PHONE_EXT,
5610 <  HIRE_DATE,
5611 <  DEPT_NO,
5612 <  JOB_CODE,
5613 <  JOB_GRADE,
5614 <  JOB_COUNTRY,
5615 <  SALARY,
5616 <  FULL_NAME,
5617 <  DEPT_PATH,
5606 >  EMP_NO,
5607 >  FIRST_NAME,
5608 >  LAST_NAME,
5609 >  PHONE_EXT,
5610 >  HIRE_DATE,
5611 >  DEPT_NO,
5612 >  JOB_CODE,
5613 >  JOB_GRADE,
5614 >  JOB_COUNTRY,
5615 >  SALARY,
5616 >  FULL_NAME,
5617 >  DEPT_PATH,
5618    DEPT_KEY_PATH
5619   ) AS
5620   with recursive Depts As (
# Line 5626 | Line 5637 | JOIN Depts D On D.DEPT_NO = A.DEPT_NO
5637   /* View: PHONE_LIST, Owner: SYSDBA */
5638  
5639   CREATE VIEW PHONE_LIST (
5640 <  EMP_NO,
5641 <  FIRST_NAME,
5642 <  LAST_NAME,
5643 <  PHONE_EXT,
5644 <  LOCATION,
5640 >  EMP_NO,
5641 >  FIRST_NAME,
5642 >  LAST_NAME,
5643 >  PHONE_EXT,
5644 >  LOCATION,
5645    PHONE_NO
5646   ) AS
5647   SELECT
# Line 5732 | Line 5743 | CREATE EXCEPTION REASSIGN_SALES 'Reassig
5743   CREATE EXCEPTION UNKNOWN_EMP_ID 'Invalid employee number or project id.';
5744   COMMIT WORK;
5745   SET AUTODDL OFF;
5746 < SET TERM ^ ;
5736 <
5737 < SET TERM ; ^
5738 < COMMIT WORK;
5739 < SET AUTODDL ON;
5740 < COMMIT WORK;
5741 < SET AUTODDL OFF;
5742 < SET TERM ^ ;
5746 > SET TERM ^;
5747  
5748   /* Stored procedures Definitions*/
5749  
5750 < CREATE PROCEDURE SHOW_LANGS
5750 > CREATE PROCEDURE SHOW_LANGS
5751   (
5752    CODE VARCHAR(5) CHARACTER SET NONE,
5753    GRADE SMALLINT,
# Line 5755 | Line 5759 | RETURNS
5759   )
5760   AS
5761   BEGIN SUSPEND; EXIT; END
5758
5762   ^
5763  
5764 < CREATE PROCEDURE ADD_EMP_PROJ
5764 > CREATE PROCEDURE ADD_EMP_PROJ
5765   (
5766    EMP_NO SMALLINT,
5767    PROJ_ID CHAR(5) CHARACTER SET NONE
5768   )
5769   AS
5770   BEGIN EXIT; END
5768
5771   ^
5772  
5773 < CREATE PROCEDURE ALL_LANGS
5773 > CREATE PROCEDURE ALL_LANGS
5774   RETURNS
5775   (
5776    CODE VARCHAR(5) CHARACTER SET NONE,
# Line 5778 | Line 5780 | RETURNS
5780   )
5781   AS
5782   BEGIN SUSPEND; EXIT; END
5781
5783   ^
5784  
5785 < CREATE PROCEDURE DELETE_EMPLOYEE
5785 > CREATE PROCEDURE DELETE_EMPLOYEE
5786   (
5787    EMP_NUM INTEGER
5788   )
5789   AS
5790   BEGIN EXIT; END
5790
5791   ^
5792  
5793 < CREATE PROCEDURE DEPT_BUDGET
5793 > CREATE PROCEDURE DEPT_BUDGET
5794   (
5795    DNO CHAR(3) CHARACTER SET NONE
5796   )
5797   RETURNS
5798   (
5799 <  TOT DECIMAL(12, 2)
5799 >  TOT DECIMAL(12,2)
5800   )
5801   AS
5802   BEGIN SUSPEND; EXIT; END
5803
5803   ^
5804  
5805 < CREATE PROCEDURE GET_EMP_PROJ
5805 > CREATE PROCEDURE GET_EMP_PROJ
5806   (
5807    EMP_NO SMALLINT
5808   )
# Line 5813 | Line 5812 | RETURNS
5812   )
5813   AS
5814   BEGIN SUSPEND; EXIT; END
5816
5815   ^
5816  
5817 < CREATE PROCEDURE "Has Space"
5817 > CREATE PROCEDURE "Has Space"
5818   (
5819    ARG1 INTEGER
5820   )
5821   AS
5822   BEGIN EXIT; END
5825
5823   ^
5824  
5825 < CREATE PROCEDURE MAIL_LABEL
5825 > CREATE PROCEDURE MAIL_LABEL
5826   (
5827    CUST_NO INTEGER
5828   )
# Line 5840 | Line 5837 | RETURNS
5837   )
5838   AS
5839   BEGIN SUSPEND; EXIT; END
5843
5840   ^
5841  
5842 < CREATE PROCEDURE ORG_CHART
5842 > CREATE PROCEDURE ORG_CHART
5843   RETURNS
5844   (
5845    HEAD_DEPT CHAR(25) CHARACTER SET NONE,
# Line 5854 | Line 5850 | RETURNS
5850   )
5851   AS
5852   BEGIN SUSPEND; EXIT; END
5857
5853   ^
5854  
5855 < CREATE PROCEDURE SHIP_ORDER
5855 > CREATE PROCEDURE SHIP_ORDER
5856   (
5857    PO_NUM CHAR(8) CHARACTER SET NONE
5858   )
5859   AS
5860   BEGIN EXIT; END
5866
5861   ^
5862  
5863 < CREATE PROCEDURE SUB_TOT_BUDGET
5863 > CREATE PROCEDURE SUB_TOT_BUDGET
5864   (
5865    HEAD_DEPT CHAR(3) CHARACTER SET NONE
5866   )
5867   RETURNS
5868   (
5869 <  TOT_BUDGET DECIMAL(12, 2),
5870 <  AVG_BUDGET DECIMAL(12, 2),
5871 <  MIN_BUDGET DECIMAL(12, 2),
5872 <  MAX_BUDGET DECIMAL(12, 2)
5869 >  TOT_BUDGET DECIMAL(12,2),
5870 >  AVG_BUDGET DECIMAL(12,2),
5871 >  MIN_BUDGET DECIMAL(12,2),
5872 >  MAX_BUDGET DECIMAL(12,2)
5873   )
5874   AS
5875   BEGIN SUSPEND; EXIT; END
5882
5876   ^
5877  
5878 < CREATE PROCEDURE "UC SPACE"
5878 > CREATE PROCEDURE "UC SPACE"
5879   (
5880    ARG1 INTEGER
5881   )
5882   AS
5883   BEGIN EXIT; END
5891
5884   ^
5885  
5886 < CREATE PROCEDURE "iCASE"
5886 > CREATE PROCEDURE "iCASE"
5887   AS
5888   BEGIN EXIT; END
5897
5889   ^
5890  
5891 < SET TERM ; ^
5901 < COMMIT WORK;
5902 < SET AUTODDL ON;
5903 < COMMIT WORK;
5904 < SET AUTODDL OFF;
5905 < SET TERM ^ ;
5906 <
5907 < SET TERM ; ^
5891 > SET TERM ;^
5892   COMMIT WORK;
5893   SET AUTODDL ON;
5894 < SET TERM ^ ;
5894 > SET TERM ^;
5895  
5896  
5897   /* Triggers only will work for SQL triggers */
# Line 5919 | Line 5903 | BEGIN
5903      if (new.cust_no is null) then
5904      new.cust_no = gen_id(cust_no_gen, 1);
5905   END
5906 < ^
5906 > ^
5907 >
5908   CREATE TRIGGER SET_EMP_NO FOR EMPLOYEE
5909   ACTIVE BEFORE INSERT POSITION 0
5910   AS
# Line 5927 | Line 5912 | BEGIN
5912      if (new.emp_no is null) then
5913      new.emp_no = gen_id(emp_no_gen, 1);
5914   END
5915 < ^
5915 > ^
5916 >
5917   CREATE TRIGGER SAVE_SALARY_CHANGE FOR EMPLOYEE
5918   ACTIVE AFTER UPDATE POSITION 0
5919   AS
# Line 5942 | Line 5928 | BEGIN
5928              old.salary,
5929              (new.salary - old.salary) * 100 / old.salary);
5930   END
5931 < ^
5931 > ^
5932 >
5933   CREATE TRIGGER POST_NEW_ORDER FOR SALES
5934   ACTIVE AFTER INSERT POSITION 0
5935   AS
5936   BEGIN
5937      POST_EVENT 'new_order';
5938   END
5939 < ^
5940 < COMMIT WORK ^
5939 > ^
5940 >
5941 > COMMIT WORK^
5942   SET TERM ;^
5943   COMMIT WORK;
5944   SET AUTODDL OFF;
5945 < SET TERM ^ ;
5945 > SET TERM ^;
5946  
5947   /* Stored procedure Bodies */
5948  
5949 <
5962 < ALTER PROCEDURE SHOW_LANGS
5949 > ALTER PROCEDURE SHOW_LANGS
5950   (
5951    CODE VARCHAR(5) CHARACTER SET NONE,
5952    GRADE SMALLINT,
# Line 5980 | Line 5967 | BEGIN
5967             AND (language_req IS NOT NULL))
5968      INTO :languages;
5969      IF (languages = ' ') THEN  /* Prints 'NULL' instead of blanks */
5970 <       languages = 'NULL';        
5970 >       languages = 'NULL';
5971      i = i +1;
5972      SUSPEND;
5973    END
5974   END
5975 < ^
5989 <
5975 > ^
5976  
5977 < ALTER PROCEDURE ADD_EMP_PROJ
5977 > ALTER PROCEDURE ADD_EMP_PROJ
5978   (
5979    EMP_NO SMALLINT,
5980    PROJ_ID CHAR(5) CHARACTER SET NONE
# Line 6001 | Line 5987 | BEGIN
5987                  EXCEPTION unknown_emp_id;
5988          END
5989   END
5990 < ^
6005 <
5990 > ^
5991  
5992 < ALTER PROCEDURE ALL_LANGS
5992 > ALTER PROCEDURE ALL_LANGS
5993   RETURNS
5994   (
5995    CODE VARCHAR(5) CHARACTER SET NONE,
# Line 6014 | Line 5999 | RETURNS
5999   )
6000   AS
6001   BEGIN
6002 <        FOR SELECT job_code, job_grade, job_country FROM job
6002 >        FOR SELECT job_code, job_grade, job_country FROM job
6003                  INTO :code, :grade, :country
6004  
6005          DO
6006          BEGIN
6007 <            FOR SELECT languages FROM show_langs
6007 >            FOR SELECT languages FROM show_langs
6008                      (:code, :grade, :country) INTO :lang DO
6009                  SUSPEND;
6010              /* Put nice separators between rows */
# Line 6030 | Line 6015 | BEGIN
6015              SUSPEND;
6016          END
6017      END
6018 < ^
6034 <
6018 > ^
6019  
6020 < ALTER PROCEDURE DELETE_EMPLOYEE
6020 > ALTER PROCEDURE DELETE_EMPLOYEE
6021   (
6022    EMP_NUM INTEGER
6023   )
# Line 6044 | Line 6028 | BEGIN
6028  
6029          /*
6030           *      If there are any sales records referencing this employee,
6031 <         *      can't delete the employee until the sales are re-assigned
6031 >         *      cannot delete the employee until the sales are re-assigned
6032           *      to another employee or changed to NULL.
6033           */
6034          SELECT count(po_number)
# Line 6090 | Line 6074 | BEGIN
6074          WHERE emp_no = :emp_num;
6075  
6076   END
6077 < ^
6094 <
6077 > ^
6078  
6079 < ALTER PROCEDURE DEPT_BUDGET
6079 > ALTER PROCEDURE DEPT_BUDGET
6080   (
6081    DNO CHAR(3) CHARACTER SET NONE
6082   )
6083   RETURNS
6084   (
6085 <  TOT DECIMAL(12, 2)
6085 >  TOT DECIMAL(12,2)
6086   )
6087   AS
6088 < DECLARE VARIABLE sumb DECIMAL(12, 2);
6088 > DECLARE VARIABLE sumb DECIMAL(12,2);
6089          DECLARE VARIABLE rdno CHAR(3);
6090          DECLARE VARIABLE cnt INTEGER;
6091   BEGIN
# Line 6127 | Line 6110 | BEGIN
6110  
6111          SUSPEND;
6112   END
6113 < ^
6131 <
6113 > ^
6114  
6115 < ALTER PROCEDURE GET_EMP_PROJ
6115 > ALTER PROCEDURE GET_EMP_PROJ
6116   (
6117    EMP_NO SMALLINT
6118   )
# Line 6147 | Line 6129 | BEGIN
6129          DO
6130                  SUSPEND;
6131   END
6132 < ^
6151 <
6132 > ^
6133  
6134 < ALTER PROCEDURE "Has Space"
6134 > ALTER PROCEDURE "Has Space"
6135   (
6136    ARG1 INTEGER
6137   )
6138   AS
6139   Begin End
6140 < ^
6160 <
6140 > ^
6141  
6142 < ALTER PROCEDURE MAIL_LABEL
6142 > ALTER PROCEDURE MAIL_LABEL
6143   (
6144    CUST_NO INTEGER
6145   )
# Line 6227 | Line 6207 | BEGIN
6207  
6208          SUSPEND;
6209   END
6210 < ^
6231 <
6210 > ^
6211  
6212 < ALTER PROCEDURE ORG_CHART
6212 > ALTER PROCEDURE ORG_CHART
6213   RETURNS
6214   (
6215    HEAD_DEPT CHAR(25) CHARACTER SET NONE,
# Line 6270 | Line 6249 | BEGIN
6249                  SUSPEND;
6250          END
6251   END
6252 < ^
6274 <
6252 > ^
6253  
6254 < ALTER PROCEDURE SHIP_ORDER
6254 > ALTER PROCEDURE SHIP_ORDER
6255   (
6256    PO_NUM CHAR(8) CHARACTER SET NONE
6257   )
# Line 6330 | Line 6308 | BEGIN
6308          WHERE po_number = :po_num;
6309  
6310   END
6311 < ^
6334 <
6311 > ^
6312  
6313 < ALTER PROCEDURE SUB_TOT_BUDGET
6313 > ALTER PROCEDURE SUB_TOT_BUDGET
6314   (
6315    HEAD_DEPT CHAR(3) CHARACTER SET NONE
6316   )
6317   RETURNS
6318   (
6319 <  TOT_BUDGET DECIMAL(12, 2),
6320 <  AVG_BUDGET DECIMAL(12, 2),
6321 <  MIN_BUDGET DECIMAL(12, 2),
6322 <  MAX_BUDGET DECIMAL(12, 2)
6319 >  TOT_BUDGET DECIMAL(12,2),
6320 >  AVG_BUDGET DECIMAL(12,2),
6321 >  MIN_BUDGET DECIMAL(12,2),
6322 >  MAX_BUDGET DECIMAL(12,2)
6323   )
6324   AS
6325   BEGIN
# Line 6352 | Line 6329 | BEGIN
6329                  INTO :tot_budget, :avg_budget, :min_budget, :max_budget;
6330          SUSPEND;
6331   END
6332 < ^
6356 <
6332 > ^
6333  
6334 < ALTER PROCEDURE "UC SPACE"
6334 > ALTER PROCEDURE "UC SPACE"
6335   (
6336    ARG1 INTEGER
6337   )
6338   AS
6339   Begin End
6340 < ^
6365 <
6340 > ^
6341  
6342 < ALTER PROCEDURE "iCASE"
6342 > ALTER PROCEDURE "iCASE"
6343   AS
6344   Begin End
6345 < ^
6371 <
6372 < SET TERM ; ^
6373 < COMMIT WORK;
6374 < SET AUTODDL ON;
6375 < COMMIT WORK;
6376 < SET AUTODDL OFF;
6377 < SET TERM ^ ;
6378 <
6345 > ^
6346  
6347 < SET TERM ; ^
6347 > SET TERM ;^
6348   COMMIT WORK;
6349   SET AUTODDL ON;
6350  
# Line 6419 | Line 6386 | GRANT EXECUTE ON PROCEDURE SHIP_ORDER TO
6386   GRANT EXECUTE ON PROCEDURE SHOW_LANGS TO USER PUBLIC  WITH GRANT OPTION ;
6387   GRANT EXECUTE ON PROCEDURE SUB_TOT_BUDGET TO USER PUBLIC  WITH GRANT OPTION ;
6388  
6422
6389   Extracting Database Schema and Data
6390   SET SQL DIALECT 3;
6391   SET AUTODDL ON;
# Line 6432 | Line 6398 | COMMENT ON DATABASE  IS 'Employee Test D
6398   /* Domain definitions */
6399  
6400   CREATE DOMAIN ADDRESSLINE AS VARCHAR(30);
6401 < CREATE DOMAIN BUDGET AS DECIMAL(12, 2)
6401 > CREATE DOMAIN BUDGET AS DECIMAL(12,2)
6402           DEFAULT 50000;
6403   CREATE DOMAIN COUNTRYNAME AS VARCHAR(15);
6404   CREATE DOMAIN CUSTNO AS INTEGER;
# Line 6448 | Line 6414 | CREATE DOMAIN PONUMBER AS CHAR(8);
6414   CREATE DOMAIN PRODTYPE AS VARCHAR(12)
6415           DEFAULT 'software' NOT NULL;
6416   CREATE DOMAIN PROJNO AS CHAR(5);
6417 < CREATE DOMAIN SALARY AS NUMERIC(10, 2)
6417 > CREATE DOMAIN SALARY AS NUMERIC(10,2)
6418           DEFAULT 0;
6419  
6420   /* Table: COUNTRIES, Owner: SYSDBA */
6421  
6422 < CREATE TABLE COUNTRIES
6422 > CREATE TABLE COUNTRIES
6423   (
6424          COUNTRY VARCHAR(64) NOT NULL,
6425          NONEU   SMALLINT,
# Line 6466 | Line 6432 | COMMENT ON COLUMN COUNTRIES.ISO2 IS 'Two
6432  
6433   /* Table: COUNTRY, Owner: SYSDBA */
6434  
6435 < CREATE TABLE COUNTRY
6435 > CREATE TABLE COUNTRY
6436   (
6437          COUNTRY COUNTRYNAME NOT NULL,
6438          CURRENCY        VARCHAR(10) NOT NULL,
# Line 6475 | Line 6441 | PRIMARY KEY (COUNTRY)
6441  
6442   /* Table: CUSTOMER, Owner: SYSDBA */
6443  
6444 < CREATE TABLE CUSTOMER
6444 > CREATE TABLE CUSTOMER
6445   (
6446          CUST_NO CUSTNO NOT NULL,
6447          CUSTOMER        VARCHAR(25) NOT NULL,
# Line 6495 | Line 6461 | PRIMARY KEY (CUST_NO)
6461  
6462   /* Table: DEPARTMENT, Owner: SYSDBA */
6463  
6464 < CREATE TABLE DEPARTMENT
6464 > CREATE TABLE DEPARTMENT
6465   (
6466          DEPT_NO DEPTNO NOT NULL,
6467          DEPARTMENT      VARCHAR(25) NOT NULL,
# Line 6510 | Line 6476 | PRIMARY KEY (DEPT_NO)
6476  
6477   /* Table: EMPLOYEE, Owner: SYSDBA */
6478  
6479 < CREATE TABLE EMPLOYEE
6479 > CREATE TABLE EMPLOYEE
6480   (
6481          EMP_NO  EMPNO NOT NULL,
6482          FIRST_NAME      FIRSTNAME NOT NULL,
# Line 6528 | Line 6494 | PRIMARY KEY (EMP_NO)
6494  
6495   /* Table: EMPLOYEE_PROJECT, Owner: SYSDBA */
6496  
6497 < CREATE TABLE EMPLOYEE_PROJECT
6497 > CREATE TABLE EMPLOYEE_PROJECT
6498   (
6499          EMP_NO  EMPNO NOT NULL,
6500          PROJ_ID PROJNO NOT NULL,
# Line 6537 | Line 6503 | PRIMARY KEY (EMP_NO, PROJ_ID)
6503  
6504   /* Table: FB$OUT_TABLE, Owner: SYSDBA */
6505  
6506 < CREATE GLOBAL TEMPORARY TABLE FB$OUT_TABLE
6506 > CREATE GLOBAL TEMPORARY TABLE FB$OUT_TABLE
6507   (
6508          LINE_NUM        INTEGER,
6509          CONTENT FB$OUT_TYPE
# Line 6545 | Line 6511 | CREATE GLOBAL TEMPORARY TABLE FB$OUT_TAB
6511  
6512   /* Table: JOB, Owner: SYSDBA */
6513  
6514 < CREATE TABLE JOB
6514 > CREATE TABLE JOB
6515   (
6516          JOB_CODE        JOBCODE NOT NULL,
6517          JOB_GRADE       JOBGRADE NOT NULL,
# Line 6560 | Line 6526 | PRIMARY KEY (JOB_CODE, JOB_GRADE, JOB_CO
6526  
6527   /* Table: PROJECT, Owner: SYSDBA */
6528  
6529 < CREATE TABLE PROJECT
6529 > CREATE TABLE PROJECT
6530   (
6531          PROJ_ID PROJNO NOT NULL,
6532          PROJ_NAME       VARCHAR(20) NOT NULL,
# Line 6573 | Line 6539 | PRIMARY KEY (PROJ_ID)
6539  
6540   /* Table: PROJ_DEPT_BUDGET, Owner: SYSDBA */
6541  
6542 < CREATE TABLE PROJ_DEPT_BUDGET
6542 > CREATE TABLE PROJ_DEPT_BUDGET
6543   (
6544          FISCAL_YEAR     INTEGER NOT NULL,
6545          PROJ_ID PROJNO NOT NULL,
# Line 6585 | Line 6551 | PRIMARY KEY (FISCAL_YEAR, PROJ_ID, DEPT_
6551  
6552   /* Table: SALARY_HISTORY, Owner: SYSDBA */
6553  
6554 < CREATE TABLE SALARY_HISTORY
6554 > CREATE TABLE SALARY_HISTORY
6555   (
6556          EMP_NO  EMPNO NOT NULL,
6557          CHANGE_DATE     TIMESTAMP DEFAULT 'NOW' NOT NULL,
# Line 6598 | Line 6564 | PRIMARY KEY (EMP_NO, CHANGE_DATE, UPDATE
6564  
6565   /* Table: SALES, Owner: SYSDBA */
6566  
6567 < CREATE TABLE SALES
6567 > CREATE TABLE SALES
6568   (
6569          PO_NUMBER       PONUMBER NOT NULL,
6570          CUST_NO CUSTNO NOT NULL,
# Line 6609 | Line 6575 | CREATE TABLE SALES
6575          DATE_NEEDED     TIMESTAMP,
6576          PAID    CHAR(1) DEFAULT 'n',
6577          QTY_ORDERED     INTEGER DEFAULT 1 NOT NULL,
6578 <        TOTAL_VALUE     DECIMAL(9, 2) NOT NULL,
6578 >        TOTAL_VALUE     DECIMAL(9,2) NOT NULL,
6579          DISCOUNT        FLOAT DEFAULT 0 NOT NULL,
6580          ITEM_TYPE       PRODTYPE,
6581          AGED COMPUTED BY (ship_date - order_date),
# Line 6626 | Line 6592 | ENTRY_POINT 'addDay' MODULE_NAME 'fbudf'
6592  
6593  
6594   DECLARE EXTERNAL FUNCTION I64TRUNCATE
6595 < NUMERIC(18, 0) BY DESCRIPTOR, NUMERIC(18, 0) BY DESCRIPTOR
6595 > NUMERIC(18,0) BY DESCRIPTOR, NUMERIC(18,0) BY DESCRIPTOR
6596   RETURNS PARAMETER 2
6597   ENTRY_POINT 'fbtruncate' MODULE_NAME 'fbudf'
6598   ;
# Line 7366 | Line 7332 | ALTER SEQUENCE FB$OUT_SEQ RESTART WITH 1
7332   /* View: DEPTLIST, Owner: SYSDBA */
7333  
7334   CREATE VIEW DEPTLIST (
7335 <  EMP_NO,
7336 <  FIRST_NAME,
7337 <  LAST_NAME,
7338 <  PHONE_EXT,
7339 <  HIRE_DATE,
7340 <  DEPT_NO,
7341 <  JOB_CODE,
7342 <  JOB_GRADE,
7343 <  JOB_COUNTRY,
7344 <  SALARY,
7345 <  FULL_NAME,
7346 <  DEPT_PATH,
7335 >  EMP_NO,
7336 >  FIRST_NAME,
7337 >  LAST_NAME,
7338 >  PHONE_EXT,
7339 >  HIRE_DATE,
7340 >  DEPT_NO,
7341 >  JOB_CODE,
7342 >  JOB_GRADE,
7343 >  JOB_COUNTRY,
7344 >  SALARY,
7345 >  FULL_NAME,
7346 >  DEPT_PATH,
7347    DEPT_KEY_PATH
7348   ) AS
7349  
# Line 7401 | Line 7367 | JOIN Depts D On D.DEPT_NO = A.DEPT_NO
7367   /* View: PHONE_LIST, Owner: SYSDBA */
7368  
7369   CREATE VIEW PHONE_LIST (
7370 <  EMP_NO,
7371 <  FIRST_NAME,
7372 <  LAST_NAME,
7373 <  PHONE_EXT,
7374 <  LOCATION,
7370 >  EMP_NO,
7371 >  FIRST_NAME,
7372 >  LAST_NAME,
7373 >  PHONE_EXT,
7374 >  LOCATION,
7375    PHONE_NO
7376   ) AS
7377  
# Line 7508 | Line 7474 | CREATE EXCEPTION REASSIGN_SALES 'Reassig
7474   CREATE EXCEPTION UNKNOWN_EMP_ID 'Invalid employee number or project id.';
7475   COMMIT WORK;
7476   SET AUTODDL OFF;
7477 < SET TERM ^ ;
7477 > SET TERM ^;
7478  
7479   /* Stored procedures Definitions*/
7480  
# Line 7525 | Line 7491 | RETURNS
7491   AS
7492   BEGIN SUSPEND; EXIT; END
7493   ^
7494 +
7495   CREATE PROCEDURE ADD_EMP_PROJ
7496   (
7497    EMP_NO SMALLINT,
# Line 7533 | Line 7500 | CREATE PROCEDURE ADD_EMP_PROJ
7500   AS
7501   BEGIN EXIT; END
7502   ^
7503 +
7504   CREATE PROCEDURE ALL_LANGS
7505   RETURNS
7506   (
# Line 7544 | Line 7512 | RETURNS
7512   AS
7513   BEGIN SUSPEND; EXIT; END
7514   ^
7515 +
7516   CREATE PROCEDURE DELETE_EMPLOYEE
7517   (
7518    EMP_NUM INTEGER
# Line 7551 | Line 7520 | CREATE PROCEDURE DELETE_EMPLOYEE
7520   AS
7521   BEGIN EXIT; END
7522   ^
7523 +
7524   CREATE PROCEDURE DEPT_BUDGET
7525   (
7526    DNO CHAR(3) CHARACTER SET NONE
7527   )
7528   RETURNS
7529   (
7530 <  TOT DECIMAL(12, 2)
7530 >  TOT DECIMAL(12,2)
7531   )
7532   AS
7533   BEGIN SUSPEND; EXIT; END
7534   ^
7535 +
7536   CREATE PROCEDURE GET_EMP_PROJ
7537   (
7538    EMP_NO SMALLINT
# Line 7573 | Line 7544 | RETURNS
7544   AS
7545   BEGIN SUSPEND; EXIT; END
7546   ^
7547 +
7548   CREATE PROCEDURE "Has Space"
7549   (
7550    ARG1 INTEGER
# Line 7580 | Line 7552 | CREATE PROCEDURE "Has Space"
7552   AS
7553   BEGIN EXIT; END
7554   ^
7555 +
7556   CREATE PROCEDURE MAIL_LABEL
7557   (
7558    CUST_NO INTEGER
# Line 7596 | Line 7569 | RETURNS
7569   AS
7570   BEGIN SUSPEND; EXIT; END
7571   ^
7572 +
7573   CREATE PROCEDURE ORG_CHART
7574   RETURNS
7575   (
# Line 7608 | Line 7582 | RETURNS
7582   AS
7583   BEGIN SUSPEND; EXIT; END
7584   ^
7585 +
7586   CREATE PROCEDURE SHIP_ORDER
7587   (
7588    PO_NUM CHAR(8) CHARACTER SET NONE
# Line 7615 | Line 7590 | CREATE PROCEDURE SHIP_ORDER
7590   AS
7591   BEGIN EXIT; END
7592   ^
7593 +
7594   CREATE PROCEDURE SUB_TOT_BUDGET
7595   (
7596    HEAD_DEPT CHAR(3) CHARACTER SET NONE
7597   )
7598   RETURNS
7599   (
7600 <  TOT_BUDGET DECIMAL(12, 2),
7601 <  AVG_BUDGET DECIMAL(12, 2),
7602 <  MIN_BUDGET DECIMAL(12, 2),
7603 <  MAX_BUDGET DECIMAL(12, 2)
7600 >  TOT_BUDGET DECIMAL(12,2),
7601 >  AVG_BUDGET DECIMAL(12,2),
7602 >  MIN_BUDGET DECIMAL(12,2),
7603 >  MAX_BUDGET DECIMAL(12,2)
7604   )
7605   AS
7606   BEGIN SUSPEND; EXIT; END
7607   ^
7608 +
7609   CREATE PROCEDURE "UC SPACE"
7610   (
7611    ARG1 INTEGER
# Line 7636 | Line 7613 | CREATE PROCEDURE "UC SPACE"
7613   AS
7614   BEGIN EXIT; END
7615   ^
7616 +
7617   CREATE PROCEDURE "iCASE"
7618   AS
7619   BEGIN EXIT; END
7620   ^
7621 < SET TERM ; ^
7621 >
7622 > SET TERM ;^
7623   COMMIT WORK;
7624   SET AUTODDL ON;
7625 < SET TERM ^ ;
7625 > SET TERM ^;
7626  
7627  
7628   /* Triggers only will work for SQL triggers */
# Line 7655 | Line 7634 | BEGIN
7634      if (new.cust_no is null) then
7635      new.cust_no = gen_id(cust_no_gen, 1);
7636   END
7637 < ^
7637 > ^
7638 >
7639   CREATE TRIGGER SET_EMP_NO FOR EMPLOYEE
7640   ACTIVE BEFORE INSERT POSITION 0
7641   AS
# Line 7663 | Line 7643 | BEGIN
7643      if (new.emp_no is null) then
7644      new.emp_no = gen_id(emp_no_gen, 1);
7645   END
7646 < ^
7646 > ^
7647 >
7648   CREATE TRIGGER SAVE_SALARY_CHANGE FOR EMPLOYEE
7649   ACTIVE AFTER UPDATE POSITION 0
7650   AS
# Line 7678 | Line 7659 | BEGIN
7659              old.salary,
7660              (new.salary - old.salary) * 100 / old.salary);
7661   END
7662 < ^
7662 > ^
7663 >
7664   CREATE TRIGGER POST_NEW_ORDER FOR SALES
7665   ACTIVE AFTER INSERT POSITION 0
7666   AS
7667   BEGIN
7668      POST_EVENT 'new_order';
7669   END
7670 < ^
7671 < COMMIT WORK ^
7670 > ^
7671 >
7672 > COMMIT WORK^
7673   SET TERM ;^
7674   COMMIT WORK;
7675   SET AUTODDL OFF;
7676 < SET TERM ^ ;
7676 > SET TERM ^;
7677  
7678   /* Stored procedure Bodies */
7679  
7697
7680   ALTER PROCEDURE SHOW_LANGS
7681   (
7682    CODE VARCHAR(5) CHARACTER SET NONE,
# Line 7716 | Line 7698 | BEGIN
7698             AND (language_req IS NOT NULL))
7699      INTO :languages;
7700      IF (languages = ' ') THEN  /* Prints 'NULL' instead of blanks */
7701 <       languages = 'NULL';        
7701 >       languages = 'NULL';
7702      i = i +1;
7703      SUSPEND;
7704    END
# Line 7748 | Line 7730 | RETURNS
7730   )
7731   AS
7732   BEGIN
7733 <        FOR SELECT job_code, job_grade, job_country FROM job
7733 >        FOR SELECT job_code, job_grade, job_country FROM job
7734                  INTO :code, :grade, :country
7735  
7736          DO
7737          BEGIN
7738 <            FOR SELECT languages FROM show_langs
7738 >            FOR SELECT languages FROM show_langs
7739                      (:code, :grade, :country) INTO :lang DO
7740                  SUSPEND;
7741              /* Put nice separators between rows */
# Line 7777 | Line 7759 | BEGIN
7759  
7760          /*
7761           *      If there are any sales records referencing this employee,
7762 <         *      can't delete the employee until the sales are re-assigned
7762 >         *      cannot delete the employee until the sales are re-assigned
7763           *      to another employee or changed to NULL.
7764           */
7765          SELECT count(po_number)
# Line 7831 | Line 7813 | ALTER PROCEDURE DEPT_BUDGET
7813   )
7814   RETURNS
7815   (
7816 <  TOT DECIMAL(12, 2)
7816 >  TOT DECIMAL(12,2)
7817   )
7818   AS
7819 < DECLARE VARIABLE sumb DECIMAL(12, 2);
7819 > DECLARE VARIABLE sumb DECIMAL(12,2);
7820          DECLARE VARIABLE rdno CHAR(3);
7821          DECLARE VARIABLE cnt INTEGER;
7822   BEGIN
# Line 8065 | Line 8047 | ALTER PROCEDURE SUB_TOT_BUDGET
8047   )
8048   RETURNS
8049   (
8050 <  TOT_BUDGET DECIMAL(12, 2),
8051 <  AVG_BUDGET DECIMAL(12, 2),
8052 <  MIN_BUDGET DECIMAL(12, 2),
8053 <  MAX_BUDGET DECIMAL(12, 2)
8050 >  TOT_BUDGET DECIMAL(12,2),
8051 >  AVG_BUDGET DECIMAL(12,2),
8052 >  MIN_BUDGET DECIMAL(12,2),
8053 >  MAX_BUDGET DECIMAL(12,2)
8054   )
8055   AS
8056   BEGIN
# Line 8092 | Line 8074 | ALTER PROCEDURE "iCASE"
8074   AS
8075   Begin End
8076   ^
8077 < SET TERM ; ^
8077 >
8078 > SET TERM ;^
8079   COMMIT WORK;
8080   SET AUTODDL ON;
8081  
# Line 8143 | Line 8126 | COMMENT ON DATABASE  IS 'Employee Test D
8126   /* Domain definitions */
8127  
8128   CREATE DOMAIN ADDRESSLINE AS VARCHAR(30);
8129 < CREATE DOMAIN BUDGET AS DECIMAL(12, 2)
8129 > CREATE DOMAIN BUDGET AS DECIMAL(12,2)
8130           DEFAULT 50000;
8131   CREATE DOMAIN COUNTRYNAME AS VARCHAR(15);
8132   CREATE DOMAIN CUSTNO AS INTEGER;
# Line 8159 | Line 8142 | CREATE DOMAIN PONUMBER AS CHAR(8);
8142   CREATE DOMAIN PRODTYPE AS VARCHAR(12)
8143           DEFAULT 'software' NOT NULL;
8144   CREATE DOMAIN PROJNO AS CHAR(5);
8145 < CREATE DOMAIN SALARY AS NUMERIC(10, 2)
8145 > CREATE DOMAIN SALARY AS NUMERIC(10,2)
8146           DEFAULT 0;
8147  
8148   /* Table: COUNTRIES, Owner: SYSDBA */
8149  
8150 < CREATE TABLE COUNTRIES
8150 > CREATE TABLE COUNTRIES
8151   (
8152          COUNTRY VARCHAR(64) NOT NULL,
8153          NONEU   SMALLINT,
# Line 8177 | Line 8160 | COMMENT ON COLUMN COUNTRIES.ISO2 IS 'Two
8160  
8161   /* Table: COUNTRY, Owner: SYSDBA */
8162  
8163 < CREATE TABLE COUNTRY
8163 > CREATE TABLE COUNTRY
8164   (
8165          COUNTRY COUNTRYNAME NOT NULL,
8166          CURRENCY        VARCHAR(10) NOT NULL,
# Line 8186 | Line 8169 | PRIMARY KEY (COUNTRY)
8169  
8170   /* Table: CUSTOMER, Owner: SYSDBA */
8171  
8172 < CREATE TABLE CUSTOMER
8172 > CREATE TABLE CUSTOMER
8173   (
8174          CUST_NO CUSTNO NOT NULL,
8175          CUSTOMER        VARCHAR(25) NOT NULL,
# Line 8206 | Line 8189 | PRIMARY KEY (CUST_NO)
8189  
8190   /* Table: DEPARTMENT, Owner: SYSDBA */
8191  
8192 < CREATE TABLE DEPARTMENT
8192 > CREATE TABLE DEPARTMENT
8193   (
8194          DEPT_NO DEPTNO NOT NULL,
8195          DEPARTMENT      VARCHAR(25) NOT NULL,
# Line 8221 | Line 8204 | PRIMARY KEY (DEPT_NO)
8204  
8205   /* Table: EMPLOYEE, Owner: SYSDBA */
8206  
8207 < CREATE TABLE EMPLOYEE
8207 > CREATE TABLE EMPLOYEE
8208   (
8209          EMP_NO  EMPNO NOT NULL,
8210          FIRST_NAME      FIRSTNAME NOT NULL,
# Line 8239 | Line 8222 | PRIMARY KEY (EMP_NO)
8222  
8223   /* Table: EMPLOYEE_PROJECT, Owner: SYSDBA */
8224  
8225 < CREATE TABLE EMPLOYEE_PROJECT
8225 > CREATE TABLE EMPLOYEE_PROJECT
8226   (
8227          EMP_NO  EMPNO NOT NULL,
8228          PROJ_ID PROJNO NOT NULL,
# Line 8248 | Line 8231 | PRIMARY KEY (EMP_NO, PROJ_ID)
8231  
8232   /* Table: FB$OUT_TABLE, Owner: SYSDBA */
8233  
8234 < CREATE GLOBAL TEMPORARY TABLE FB$OUT_TABLE
8234 > CREATE GLOBAL TEMPORARY TABLE FB$OUT_TABLE
8235   (
8236          LINE_NUM        INTEGER,
8237          CONTENT FB$OUT_TYPE
# Line 8256 | Line 8239 | CREATE GLOBAL TEMPORARY TABLE FB$OUT_TAB
8239  
8240   /* Table: JOB, Owner: SYSDBA */
8241  
8242 < CREATE TABLE JOB
8242 > CREATE TABLE JOB
8243   (
8244          JOB_CODE        JOBCODE NOT NULL,
8245          JOB_GRADE       JOBGRADE NOT NULL,
# Line 8271 | Line 8254 | PRIMARY KEY (JOB_CODE, JOB_GRADE, JOB_CO
8254  
8255   /* Table: PROJECT, Owner: SYSDBA */
8256  
8257 < CREATE TABLE PROJECT
8257 > CREATE TABLE PROJECT
8258   (
8259          PROJ_ID PROJNO NOT NULL,
8260          PROJ_NAME       VARCHAR(20) NOT NULL,
# Line 8284 | Line 8267 | PRIMARY KEY (PROJ_ID)
8267  
8268   /* Table: PROJ_DEPT_BUDGET, Owner: SYSDBA */
8269  
8270 < CREATE TABLE PROJ_DEPT_BUDGET
8270 > CREATE TABLE PROJ_DEPT_BUDGET
8271   (
8272          FISCAL_YEAR     INTEGER NOT NULL,
8273          PROJ_ID PROJNO NOT NULL,
# Line 8296 | Line 8279 | PRIMARY KEY (FISCAL_YEAR, PROJ_ID, DEPT_
8279  
8280   /* Table: SALARY_HISTORY, Owner: SYSDBA */
8281  
8282 < CREATE TABLE SALARY_HISTORY
8282 > CREATE TABLE SALARY_HISTORY
8283   (
8284          EMP_NO  EMPNO NOT NULL,
8285          CHANGE_DATE     TIMESTAMP DEFAULT 'NOW' NOT NULL,
# Line 8309 | Line 8292 | PRIMARY KEY (EMP_NO, CHANGE_DATE, UPDATE
8292  
8293   /* Table: SALES, Owner: SYSDBA */
8294  
8295 < CREATE TABLE SALES
8295 > CREATE TABLE SALES
8296   (
8297          PO_NUMBER       PONUMBER NOT NULL,
8298          CUST_NO CUSTNO NOT NULL,
# Line 8320 | Line 8303 | CREATE TABLE SALES
8303          DATE_NEEDED     TIMESTAMP,
8304          PAID    CHAR(1) DEFAULT 'n',
8305          QTY_ORDERED     INTEGER DEFAULT 1 NOT NULL,
8306 <        TOTAL_VALUE     DECIMAL(9, 2) NOT NULL,
8306 >        TOTAL_VALUE     DECIMAL(9,2) NOT NULL,
8307          DISCOUNT        FLOAT DEFAULT 0 NOT NULL,
8308          ITEM_TYPE       PRODTYPE,
8309          AGED COMPUTED BY (ship_date - order_date),
# Line 8337 | Line 8320 | ENTRY_POINT 'addDay' MODULE_NAME 'fbudf'
8320  
8321  
8322   DECLARE EXTERNAL FUNCTION I64TRUNCATE
8323 < NUMERIC(18, 0) BY DESCRIPTOR, NUMERIC(18, 0) BY DESCRIPTOR
8323 > NUMERIC(18,0) BY DESCRIPTOR, NUMERIC(18,0) BY DESCRIPTOR
8324   RETURNS PARAMETER 2
8325   ENTRY_POINT 'fbtruncate' MODULE_NAME 'fbudf'
8326   ;
# Line 9077 | Line 9060 | ALTER SEQUENCE FB$OUT_SEQ RESTART WITH 1
9060   /* View: DEPTLIST, Owner: SYSDBA */
9061  
9062   CREATE VIEW DEPTLIST (
9063 <  EMP_NO,
9064 <  FIRST_NAME,
9065 <  LAST_NAME,
9066 <  PHONE_EXT,
9067 <  HIRE_DATE,
9068 <  DEPT_NO,
9069 <  JOB_CODE,
9070 <  JOB_GRADE,
9071 <  JOB_COUNTRY,
9072 <  SALARY,
9073 <  FULL_NAME,
9074 <  DEPT_PATH,
9063 >  EMP_NO,
9064 >  FIRST_NAME,
9065 >  LAST_NAME,
9066 >  PHONE_EXT,
9067 >  HIRE_DATE,
9068 >  DEPT_NO,
9069 >  JOB_CODE,
9070 >  JOB_GRADE,
9071 >  JOB_COUNTRY,
9072 >  SALARY,
9073 >  FULL_NAME,
9074 >  DEPT_PATH,
9075    DEPT_KEY_PATH
9076   ) AS
9077  
# Line 9112 | Line 9095 | JOIN Depts D On D.DEPT_NO = A.DEPT_NO
9095   /* View: PHONE_LIST, Owner: SYSDBA */
9096  
9097   CREATE VIEW PHONE_LIST (
9098 <  EMP_NO,
9099 <  FIRST_NAME,
9100 <  LAST_NAME,
9101 <  PHONE_EXT,
9102 <  LOCATION,
9098 >  EMP_NO,
9099 >  FIRST_NAME,
9100 >  LAST_NAME,
9101 >  PHONE_EXT,
9102 >  LOCATION,
9103    PHONE_NO
9104   ) AS
9105  
# Line 9219 | Line 9202 | CREATE EXCEPTION REASSIGN_SALES 'Reassig
9202   CREATE EXCEPTION UNKNOWN_EMP_ID 'Invalid employee number or project id.';
9203   COMMIT WORK;
9204   SET AUTODDL OFF;
9205 < SET TERM ^ ;
9205 > SET TERM ^;
9206  
9207   /* Stored procedures Definitions*/
9208  
# Line 9236 | Line 9219 | RETURNS
9219   AS
9220   BEGIN SUSPEND; EXIT; END
9221   ^
9222 +
9223   CREATE PROCEDURE ADD_EMP_PROJ
9224   (
9225    EMP_NO SMALLINT,
# Line 9244 | Line 9228 | CREATE PROCEDURE ADD_EMP_PROJ
9228   AS
9229   BEGIN EXIT; END
9230   ^
9231 +
9232   CREATE PROCEDURE ALL_LANGS
9233   RETURNS
9234   (
# Line 9255 | Line 9240 | RETURNS
9240   AS
9241   BEGIN SUSPEND; EXIT; END
9242   ^
9243 +
9244   CREATE PROCEDURE DELETE_EMPLOYEE
9245   (
9246    EMP_NUM INTEGER
# Line 9262 | Line 9248 | CREATE PROCEDURE DELETE_EMPLOYEE
9248   AS
9249   BEGIN EXIT; END
9250   ^
9251 +
9252   CREATE PROCEDURE DEPT_BUDGET
9253   (
9254    DNO CHAR(3) CHARACTER SET NONE
9255   )
9256   RETURNS
9257   (
9258 <  TOT DECIMAL(12, 2)
9258 >  TOT DECIMAL(12,2)
9259   )
9260   AS
9261   BEGIN SUSPEND; EXIT; END
9262   ^
9263 +
9264   CREATE PROCEDURE GET_EMP_PROJ
9265   (
9266    EMP_NO SMALLINT
# Line 9284 | Line 9272 | RETURNS
9272   AS
9273   BEGIN SUSPEND; EXIT; END
9274   ^
9275 +
9276   CREATE PROCEDURE "Has Space"
9277   (
9278    ARG1 INTEGER
# Line 9291 | Line 9280 | CREATE PROCEDURE "Has Space"
9280   AS
9281   BEGIN EXIT; END
9282   ^
9283 +
9284   CREATE PROCEDURE MAIL_LABEL
9285   (
9286    CUST_NO INTEGER
# Line 9307 | Line 9297 | RETURNS
9297   AS
9298   BEGIN SUSPEND; EXIT; END
9299   ^
9300 +
9301   CREATE PROCEDURE ORG_CHART
9302   RETURNS
9303   (
# Line 9319 | Line 9310 | RETURNS
9310   AS
9311   BEGIN SUSPEND; EXIT; END
9312   ^
9313 +
9314   CREATE PROCEDURE SHIP_ORDER
9315   (
9316    PO_NUM CHAR(8) CHARACTER SET NONE
# Line 9326 | Line 9318 | CREATE PROCEDURE SHIP_ORDER
9318   AS
9319   BEGIN EXIT; END
9320   ^
9321 +
9322   CREATE PROCEDURE SUB_TOT_BUDGET
9323   (
9324    HEAD_DEPT CHAR(3) CHARACTER SET NONE
9325   )
9326   RETURNS
9327   (
9328 <  TOT_BUDGET DECIMAL(12, 2),
9329 <  AVG_BUDGET DECIMAL(12, 2),
9330 <  MIN_BUDGET DECIMAL(12, 2),
9331 <  MAX_BUDGET DECIMAL(12, 2)
9328 >  TOT_BUDGET DECIMAL(12,2),
9329 >  AVG_BUDGET DECIMAL(12,2),
9330 >  MIN_BUDGET DECIMAL(12,2),
9331 >  MAX_BUDGET DECIMAL(12,2)
9332   )
9333   AS
9334   BEGIN SUSPEND; EXIT; END
9335   ^
9336 +
9337   CREATE PROCEDURE "UC SPACE"
9338   (
9339    ARG1 INTEGER
# Line 9347 | Line 9341 | CREATE PROCEDURE "UC SPACE"
9341   AS
9342   BEGIN EXIT; END
9343   ^
9344 +
9345   CREATE PROCEDURE "iCASE"
9346   AS
9347   BEGIN EXIT; END
9348   ^
9349 < SET TERM ; ^
9349 >
9350 > SET TERM ;^
9351   COMMIT WORK;
9352   SET AUTODDL ON;
9353 < SET TERM ^ ;
9353 > SET TERM ^;
9354  
9355  
9356   /* Triggers only will work for SQL triggers */
# Line 9366 | Line 9362 | BEGIN
9362      if (new.cust_no is null) then
9363      new.cust_no = gen_id(cust_no_gen, 1);
9364   END
9365 < ^
9365 > ^
9366 >
9367   CREATE TRIGGER SET_EMP_NO FOR EMPLOYEE
9368   ACTIVE BEFORE INSERT POSITION 0
9369   AS
# Line 9374 | Line 9371 | BEGIN
9371      if (new.emp_no is null) then
9372      new.emp_no = gen_id(emp_no_gen, 1);
9373   END
9374 < ^
9374 > ^
9375 >
9376   CREATE TRIGGER SAVE_SALARY_CHANGE FOR EMPLOYEE
9377   ACTIVE AFTER UPDATE POSITION 0
9378   AS
# Line 9389 | Line 9387 | BEGIN
9387              old.salary,
9388              (new.salary - old.salary) * 100 / old.salary);
9389   END
9390 < ^
9390 > ^
9391 >
9392   CREATE TRIGGER POST_NEW_ORDER FOR SALES
9393   ACTIVE AFTER INSERT POSITION 0
9394   AS
9395   BEGIN
9396      POST_EVENT 'new_order';
9397   END
9398 < ^
9399 < COMMIT WORK ^
9398 > ^
9399 >
9400 > COMMIT WORK^
9401   SET TERM ;^
9402   COMMIT WORK;
9403   SET AUTODDL OFF;
9404 < SET TERM ^ ;
9404 > SET TERM ^;
9405  
9406   /* Stored procedure Bodies */
9407  
9408
9408   ALTER PROCEDURE SHOW_LANGS
9409   (
9410    CODE VARCHAR(5) CHARACTER SET NONE,
# Line 9427 | Line 9426 | BEGIN
9426             AND (language_req IS NOT NULL))
9427      INTO :languages;
9428      IF (languages = ' ') THEN  /* Prints 'NULL' instead of blanks */
9429 <       languages = 'NULL';        
9429 >       languages = 'NULL';
9430      i = i +1;
9431      SUSPEND;
9432    END
# Line 9459 | Line 9458 | RETURNS
9458   )
9459   AS
9460   BEGIN
9461 <        FOR SELECT job_code, job_grade, job_country FROM job
9461 >        FOR SELECT job_code, job_grade, job_country FROM job
9462                  INTO :code, :grade, :country
9463  
9464          DO
9465          BEGIN
9466 <            FOR SELECT languages FROM show_langs
9466 >            FOR SELECT languages FROM show_langs
9467                      (:code, :grade, :country) INTO :lang DO
9468                  SUSPEND;
9469              /* Put nice separators between rows */
# Line 9488 | Line 9487 | BEGIN
9487  
9488          /*
9489           *      If there are any sales records referencing this employee,
9490 <         *      can't delete the employee until the sales are re-assigned
9490 >         *      cannot delete the employee until the sales are re-assigned
9491           *      to another employee or changed to NULL.
9492           */
9493          SELECT count(po_number)
# Line 9542 | Line 9541 | ALTER PROCEDURE DEPT_BUDGET
9541   )
9542   RETURNS
9543   (
9544 <  TOT DECIMAL(12, 2)
9544 >  TOT DECIMAL(12,2)
9545   )
9546   AS
9547 < DECLARE VARIABLE sumb DECIMAL(12, 2);
9547 > DECLARE VARIABLE sumb DECIMAL(12,2);
9548          DECLARE VARIABLE rdno CHAR(3);
9549          DECLARE VARIABLE cnt INTEGER;
9550   BEGIN
# Line 9776 | Line 9775 | ALTER PROCEDURE SUB_TOT_BUDGET
9775   )
9776   RETURNS
9777   (
9778 <  TOT_BUDGET DECIMAL(12, 2),
9779 <  AVG_BUDGET DECIMAL(12, 2),
9780 <  MIN_BUDGET DECIMAL(12, 2),
9781 <  MAX_BUDGET DECIMAL(12, 2)
9778 >  TOT_BUDGET DECIMAL(12,2),
9779 >  AVG_BUDGET DECIMAL(12,2),
9780 >  MIN_BUDGET DECIMAL(12,2),
9781 >  MAX_BUDGET DECIMAL(12,2)
9782   )
9783   AS
9784   BEGIN
# Line 9803 | Line 9802 | ALTER PROCEDURE "iCASE"
9802   AS
9803   Begin End
9804   ^
9805 < SET TERM ; ^
9805 >
9806 > SET TERM ;^
9807   COMMIT WORK;
9808   SET AUTODDL ON;
9809  
# Line 9856 | Line 9856 | Output from diff command
9856   ---
9857   > /* CREATE DATABASE 'localhost:/tmp/ibx-testsuite/testsuite1.fdb' PAGE_SIZE 8192
9858   8c6
9859 < <  DEFAULT CHARACTER SET NONE;
9859 > <  DEFAULT CHARACTER SET NONE;
9860   ---
9861   >  DEFAULT CHARACTER SET NONE; */
9862 < 204d201
9863 < <
9864 < 212d208
9865 < <
9866 < 220d215
9867 < <
9868 < 964a960
9862 > 961a960
9863   >
9864 < 991a988
9864 > 988a988
9865   >
9872 1093,1099d1089
9873 < SET TERM ; ^
9874 < COMMIT WORK;
9875 < SET AUTODDL ON;
9876 < COMMIT WORK;
9877 < SET AUTODDL OFF;
9878 < SET TERM ^ ;
9879 <
9880 1102c1092
9881 < CREATE PROCEDURE SHOW_LANGS
9882 ---
9883 > CREATE PROCEDURE SHOW_LANGS
9884 1114d1103
9885 <
9886 1116,1117c1105
9887 <
9888 < CREATE PROCEDURE ADD_EMP_PROJ
9889 ---
9890 > CREATE PROCEDURE ADD_EMP_PROJ
9891 1124d1111
9892 <
9893 1126,1127c1113
9894 <
9895 < CREATE PROCEDURE ALL_LANGS
9896 ---
9897 > CREATE PROCEDURE ALL_LANGS
9898 1137d1122
9899 <
9900 1139,1140c1124
9901 <
9902 < CREATE PROCEDURE DELETE_EMPLOYEE
9903 ---
9904 > CREATE PROCEDURE DELETE_EMPLOYEE
9905 1146d1129
9906 <
9907 1148,1149c1131
9908 <
9909 < CREATE PROCEDURE DEPT_BUDGET
9910 ---
9911 > CREATE PROCEDURE DEPT_BUDGET
9912 1159d1140
9913 <
9914 1161,1162c1142
9915 <
9916 < CREATE PROCEDURE GET_EMP_PROJ
9917 ---
9918 > CREATE PROCEDURE GET_EMP_PROJ
9919 1172d1151
9920 <
9921 1174,1175c1153
9922 <
9923 < CREATE PROCEDURE "Has Space"
9924 ---
9925 > CREATE PROCEDURE "Has Space"
9926 1181d1158
9927 <
9928 1183,1184c1160
9929 <
9930 < CREATE PROCEDURE MAIL_LABEL
9931 ---
9932 > CREATE PROCEDURE MAIL_LABEL
9933 1199d1174
9934 <
9935 1201,1202c1176
9936 <
9937 < CREATE PROCEDURE ORG_CHART
9938 ---
9939 > CREATE PROCEDURE ORG_CHART
9940 1213d1186
9941 <
9942 1215,1216c1188
9943 <
9944 < CREATE PROCEDURE SHIP_ORDER
9945 ---
9946 > CREATE PROCEDURE SHIP_ORDER
9947 1222d1193
9948 <
9949 1224,1225c1195
9950 <
9951 < CREATE PROCEDURE SUB_TOT_BUDGET
9952 ---
9953 > CREATE PROCEDURE SUB_TOT_BUDGET
9954 1238d1207
9955 <
9956 1240,1241c1209
9957 <
9958 < CREATE PROCEDURE "UC SPACE"
9959 ---
9960 > CREATE PROCEDURE "UC SPACE"
9961 1247d1214
9962 <
9963 1249,1250c1216
9964 <
9965 < CREATE PROCEDURE "iCASE"
9966 ---
9967 > CREATE PROCEDURE "iCASE"
9968 1253d1218
9969 <
9970 1255,1262d1219
9971 <
9972 < SET TERM ; ^
9973 < COMMIT WORK;
9974 < SET AUTODDL ON;
9975 < COMMIT WORK;
9976 < SET AUTODDL OFF;
9977 < SET TERM ^ ;
9978 <
9979 1318c1275
9980 < ALTER PROCEDURE SHOW_LANGS
9981 ---
9982 > ALTER PROCEDURE SHOW_LANGS
9983 1344,1345c1301
9984 <  ^
9985 <
9986 ---
9987 > ^
9988 1347c1303
9989 < ALTER PROCEDURE ADD_EMP_PROJ
9990 ---
9991 > ALTER PROCEDURE ADD_EMP_PROJ
9992 1360,1361c1316
9993 <  ^
9994 <
9995 ---
9996 > ^
9997 1363c1318
9998 < ALTER PROCEDURE ALL_LANGS
9999 ---
10000 > ALTER PROCEDURE ALL_LANGS
10001 1389,1390c1344
10002 <  ^
10003 <
10004 ---
10005 > ^
10006 1392c1346
10007 < ALTER PROCEDURE DELETE_EMPLOYEE
10008 ---
10009 > ALTER PROCEDURE DELETE_EMPLOYEE
10010 1449,1450c1403
10011 <  ^
10012 <
10013 ---
10014 > ^
10015 1452c1405
10016 < ALTER PROCEDURE DEPT_BUDGET
10017 ---
10018 > ALTER PROCEDURE DEPT_BUDGET
10019 1486,1487c1439
10020 <  ^
10021 <
10022 ---
10023 > ^
10024 1489c1441
10025 < ALTER PROCEDURE GET_EMP_PROJ
10026 ---
10027 > ALTER PROCEDURE GET_EMP_PROJ
10028 1506,1507c1458
10029 <  ^
10030 <
10031 ---
10032 > ^
10033 1509c1460
10034 < ALTER PROCEDURE "Has Space"
10035 ---
10036 > ALTER PROCEDURE "Has Space"
10037 1515,1516c1466
10038 <  ^
10039 <
10040 ---
10041 > ^
10042 1518c1468
10043 < ALTER PROCEDURE MAIL_LABEL
10044 ---
10045 > ALTER PROCEDURE MAIL_LABEL
10046 1586,1587c1536
10047 <  ^
10048 <
10049 ---
10050 > ^
10051 1589c1538
10052 < ALTER PROCEDURE ORG_CHART
10053 ---
10054 > ALTER PROCEDURE ORG_CHART
10055 1629,1630c1578
10056 <  ^
10057 <
10058 ---
10059 > ^
10060 1632c1580
10061 < ALTER PROCEDURE SHIP_ORDER
10062 ---
10063 > ALTER PROCEDURE SHIP_ORDER
10064 1689,1690c1637
10065 <  ^
10066 <
10067 ---
10068 > ^
10069 1692c1639
10070 < ALTER PROCEDURE SUB_TOT_BUDGET
10071 ---
10072 > ALTER PROCEDURE SUB_TOT_BUDGET
10073 1711,1712c1658
10074 <  ^
10075 <
10076 ---
10077 > ^
10078 1714c1660
10079 < ALTER PROCEDURE "UC SPACE"
10080 ---
10081 > ALTER PROCEDURE "UC SPACE"
10082 1720,1721c1666
10083 <  ^
10084 <
10085 ---
10086 > ^
10087 1723c1668
10088 < ALTER PROCEDURE "iCASE"
10089 ---
10090 > ALTER PROCEDURE "iCASE"
10091 1726,1735c1671
10092 <  ^
10093 <
10094 < SET TERM ; ^
10095 < COMMIT WORK;
10096 < SET AUTODDL ON;
10097 < COMMIT WORK;
10098 < SET AUTODDL OFF;
10099 < SET TERM ^ ;
10100 <
10101 <
10102 ---
10103 > ^
10104 1777d1712
10105 <
9866  
9867  
9868  
# Line 10157 | Line 9917 | Message File Location = /opt/firebird2.5
9917   Database Statistics for employee
9918  
9919   Database "/opt/firebird2.5.9/examples/empbuild/employee.fdb"
9920 < Gstat execution time Wed Oct  6 10:04:39 2021
9920 > Gstat execution time Tue Dec  7 10:51:11 2021
9921  
9922   Database header page information:
9923   Flags                   0
9924   Checksum                12345
9925 < Generation              6419
9925 > Generation              9064
9926   Page size               4096
9927   ODS version             11.2
9928 < Oldest transaction      3850
9929 < Oldest active           3851
9930 < Oldest snapshot         3851
9931 < Next transaction        3851
9928 > Oldest transaction      5405
9929 > Oldest active           5406
9930 > Oldest snapshot         5406
9931 > Next transaction        5406
9932   Bumped transaction      1
9933   Sequence number         0
9934 < Next attachment ID      1316
9934 > Next attachment ID      1824
9935   Implementation ID       24
9936   Shadow count            0
9937   Page buffers            0
# Line 10296 | Line 10056 | zeus   Tue Jun  9 14:31:01 2020
10056   INET/inet_error: connect errno = 111
10057  
10058   Online Validation
10059 < 10:04:40.20 Validation started
10059 > 10:51:12.97 Validation started
10060  
10061 < 10:04:40.20 Relation 128 (COUNTRY)
10062 < 10:04:40.20   process pointer page    0 of    1
10063 < 10:04:40.20 Index 1 (RDB$PRIMARY1)
10064 < 10:04:40.20 Relation 128 (COUNTRY) is ok
10065 <
10066 < 10:04:40.20 Relation 129 (JOB)
10067 < 10:04:40.20   process pointer page    0 of    1
10068 < 10:04:40.20 Index 1 (RDB$PRIMARY2)
10069 < 10:04:40.20 Index 2 (RDB$FOREIGN3)
10070 < 10:04:40.20 Index 3 (MAXSALX)
10071 < 10:04:40.20 Index 4 (MINSALX)
10072 < 10:04:40.20 Relation 129 (JOB) is ok
10073 <
10074 < 10:04:40.20 Relation 130 (DEPARTMENT)
10075 < 10:04:40.20   process pointer page    0 of    1
10076 < 10:04:40.20 Index 1 (RDB$4)
10077 < 10:04:40.21 Index 2 (RDB$PRIMARY5)
10078 < 10:04:40.21 Index 3 (RDB$FOREIGN6)
10079 < 10:04:40.21 Index 4 (BUDGETX)
10080 < 10:04:40.21 Index 5 (RDB$FOREIGN10)
10081 < 10:04:40.21 Relation 130 (DEPARTMENT) is ok
10082 <
10083 < 10:04:40.21 Relation 131 (EMPLOYEE)
10084 < 10:04:40.21   process pointer page    0 of    1
10085 < 10:04:40.21 Index 1 (RDB$PRIMARY7)
10086 < 10:04:40.21 Index 2 (RDB$FOREIGN8)
10087 < 10:04:40.21 Index 3 (RDB$FOREIGN9)
10088 < 10:04:40.21 Index 4 (NAMEX)
10089 < 10:04:40.21 Relation 131 (EMPLOYEE) is ok
10090 <
10091 < 10:04:40.21 Relation 133 (PROJECT)
10092 < 10:04:40.21   process pointer page    0 of    1
10093 < 10:04:40.21 Index 1 (RDB$11)
10094 < 10:04:40.21 Index 2 (RDB$PRIMARY12)
10095 < 10:04:40.21 Index 3 (RDB$FOREIGN13)
10096 < 10:04:40.21 Index 4 (PRODTYPEX)
10097 < 10:04:40.21 Relation 133 (PROJECT) is ok
10098 <
10099 < 10:04:40.21 Relation 134 (EMPLOYEE_PROJECT)
10100 < 10:04:40.21   process pointer page    0 of    1
10101 < 10:04:40.21 Index 1 (RDB$PRIMARY14)
10102 < 10:04:40.21 Index 2 (RDB$FOREIGN15)
10103 < 10:04:40.21 Index 3 (RDB$FOREIGN16)
10104 < 10:04:40.21 Relation 134 (EMPLOYEE_PROJECT) is ok
10105 <
10106 < 10:04:40.21 Relation 135 (PROJ_DEPT_BUDGET)
10107 < 10:04:40.21   process pointer page    0 of    1
10108 < 10:04:40.21 Index 1 (RDB$PRIMARY17)
10109 < 10:04:40.21 Index 2 (RDB$FOREIGN18)
10110 < 10:04:40.21 Index 3 (RDB$FOREIGN19)
10111 < 10:04:40.21 Relation 135 (PROJ_DEPT_BUDGET) is ok
10112 <
10113 < 10:04:40.21 Relation 136 (SALARY_HISTORY)
10114 < 10:04:40.21   process pointer page    0 of    1
10115 < 10:04:40.21 Index 1 (RDB$PRIMARY20)
10116 < 10:04:40.21 Index 2 (RDB$FOREIGN21)
10117 < 10:04:40.21 Index 3 (CHANGEX)
10118 < 10:04:40.21 Index 4 (UPDATERX)
10119 < 10:04:40.21 Relation 136 (SALARY_HISTORY) is ok
10120 <
10121 < 10:04:40.21 Relation 137 (CUSTOMER)
10122 < 10:04:40.22   process pointer page    0 of    1
10123 < 10:04:40.22 Index 1 (RDB$PRIMARY22)
10124 < 10:04:40.22 Index 2 (RDB$FOREIGN23)
10125 < 10:04:40.22 Index 3 (CUSTNAMEX)
10126 < 10:04:40.22 Index 4 (CUSTREGION)
10127 < 10:04:40.22 Relation 137 (CUSTOMER) is ok
10128 <
10129 < 10:04:40.22 Relation 138 (SALES)
10130 < 10:04:40.22   process pointer page    0 of    1
10131 < 10:04:40.22 Index 1 (RDB$PRIMARY24)
10132 < 10:04:40.22 Index 2 (RDB$FOREIGN25)
10133 < 10:04:40.22 Index 3 (RDB$FOREIGN26)
10134 < 10:04:40.22 Index 4 (NEEDX)
10135 < 10:04:40.22 Index 5 (QTYX)
10136 < 10:04:40.22 Index 6 (SALESTATX)
10137 < 10:04:40.22 Relation 138 (SALES) is ok
10061 > 10:51:12.97 Relation 128 (COUNTRY)
10062 > 10:51:12.97   process pointer page    0 of    1
10063 > 10:51:12.98 Index 1 (RDB$PRIMARY1)
10064 > 10:51:12.98 Relation 128 (COUNTRY) is ok
10065 >
10066 > 10:51:12.98 Relation 129 (JOB)
10067 > 10:51:12.98   process pointer page    0 of    1
10068 > 10:51:12.98 Index 1 (RDB$PRIMARY2)
10069 > 10:51:12.98 Index 2 (RDB$FOREIGN3)
10070 > 10:51:12.98 Index 3 (MAXSALX)
10071 > 10:51:12.98 Index 4 (MINSALX)
10072 > 10:51:12.98 Relation 129 (JOB) is ok
10073 >
10074 > 10:51:12.98 Relation 130 (DEPARTMENT)
10075 > 10:51:12.98   process pointer page    0 of    1
10076 > 10:51:12.98 Index 1 (RDB$4)
10077 > 10:51:12.98 Index 2 (RDB$PRIMARY5)
10078 > 10:51:12.98 Index 3 (RDB$FOREIGN6)
10079 > 10:51:12.98 Index 4 (BUDGETX)
10080 > 10:51:12.98 Index 5 (RDB$FOREIGN10)
10081 > 10:51:12.98 Relation 130 (DEPARTMENT) is ok
10082 >
10083 > 10:51:12.98 Relation 131 (EMPLOYEE)
10084 > 10:51:12.98   process pointer page    0 of    1
10085 > 10:51:12.98 Index 1 (RDB$PRIMARY7)
10086 > 10:51:12.98 Index 2 (RDB$FOREIGN8)
10087 > 10:51:12.98 Index 3 (RDB$FOREIGN9)
10088 > 10:51:12.98 Index 4 (NAMEX)
10089 > 10:51:12.98 Relation 131 (EMPLOYEE) is ok
10090 >
10091 > 10:51:12.98 Relation 133 (PROJECT)
10092 > 10:51:12.98   process pointer page    0 of    1
10093 > 10:51:12.98 Index 1 (RDB$11)
10094 > 10:51:12.98 Index 2 (RDB$PRIMARY12)
10095 > 10:51:12.98 Index 3 (RDB$FOREIGN13)
10096 > 10:51:12.98 Index 4 (PRODTYPEX)
10097 > 10:51:12.98 Relation 133 (PROJECT) is ok
10098 >
10099 > 10:51:12.98 Relation 134 (EMPLOYEE_PROJECT)
10100 > 10:51:12.98   process pointer page    0 of    1
10101 > 10:51:12.98 Index 1 (RDB$PRIMARY14)
10102 > 10:51:12.98 Index 2 (RDB$FOREIGN15)
10103 > 10:51:12.98 Index 3 (RDB$FOREIGN16)
10104 > 10:51:12.98 Relation 134 (EMPLOYEE_PROJECT) is ok
10105 >
10106 > 10:51:12.98 Relation 135 (PROJ_DEPT_BUDGET)
10107 > 10:51:12.98   process pointer page    0 of    1
10108 > 10:51:12.98 Index 1 (RDB$PRIMARY17)
10109 > 10:51:12.98 Index 2 (RDB$FOREIGN18)
10110 > 10:51:12.98 Index 3 (RDB$FOREIGN19)
10111 > 10:51:12.98 Relation 135 (PROJ_DEPT_BUDGET) is ok
10112 >
10113 > 10:51:12.98 Relation 136 (SALARY_HISTORY)
10114 > 10:51:12.98   process pointer page    0 of    1
10115 > 10:51:12.98 Index 1 (RDB$PRIMARY20)
10116 > 10:51:12.99 Index 2 (RDB$FOREIGN21)
10117 > 10:51:12.99 Index 3 (CHANGEX)
10118 > 10:51:12.99 Index 4 (UPDATERX)
10119 > 10:51:12.99 Relation 136 (SALARY_HISTORY) is ok
10120 >
10121 > 10:51:12.99 Relation 137 (CUSTOMER)
10122 > 10:51:12.99   process pointer page    0 of    1
10123 > 10:51:12.99 Index 1 (RDB$PRIMARY22)
10124 > 10:51:12.99 Index 2 (RDB$FOREIGN23)
10125 > 10:51:12.99 Index 3 (CUSTNAMEX)
10126 > 10:51:12.99 Index 4 (CUSTREGION)
10127 > 10:51:12.99 Relation 137 (CUSTOMER) is ok
10128 >
10129 > 10:51:12.99 Relation 138 (SALES)
10130 > 10:51:12.99   process pointer page    0 of    1
10131 > 10:51:12.99 Index 1 (RDB$PRIMARY24)
10132 > 10:51:12.99 Index 2 (RDB$FOREIGN25)
10133 > 10:51:12.99 Index 3 (RDB$FOREIGN26)
10134 > 10:51:12.99 Index 4 (NEEDX)
10135 > 10:51:12.99 Index 5 (QTYX)
10136 > 10:51:12.99 Index 6 (SALESTATX)
10137 > 10:51:12.99 Relation 138 (SALES) is ok
10138  
10139 < 10:04:40.22 Validation finished
10139 > 10:51:12.99 Validation finished
10140  
10141  
10142   Normal Validation
# Line 11662 | Line 11422 | DEPT_KEY_PATH = 000
11422   Rows printed = 2
11423  
11424   Current memory = 966,728
11425 < Delta memory = 9,344
11425 > Delta memory = 9,232
11426   Max memory = 1,012,400
11427 < Elapsed time= 0.004 sec
11427 > Elapsed time= 0.002 sec
11428   Cpu = 0.000 sec
11429   Buffers = 75
11430   Reads = 2
# Line 11884 | Line 11644 | DEPT_KEY_PATH = 000
11644   Rows printed = 2
11645  
11646   Current memory = 966,728
11647 < Delta memory = 9,344
11647 > Delta memory = 9,232
11648   Max memory = 1,012,400
11649 < Elapsed time= 0.106 sec
11650 < Cpu = 0.001 sec
11649 > Elapsed time= 0.102 sec
11650 > Cpu = 0.000 sec
11651   Buffers = 75
11652   Reads = 2
11653   Writes = 0
# Line 13225 | Line 12985 | Create Table LotsOfData (
12985      MyText VarChar(1024),
12986      Primary Key (RowID)
12987    );                
12988 < Loading data into database table. Started at 06/10/2021 10:05:22.459
12989 < Data load completed at 06/10/2021 10:08:21.403 Elapsed Time = 178944 ms, 100000 records loaded
12990 < Message Hash = 892c561d9a7b1248cbe1289c339cc5d1
12991 < Database Read started at 06/10/2021 10:08:21.411
12992 < Read Dataset completed at 06/10/2021 10:08:52.088 Elapsed Time = 30677 ms, 100000 records read
12993 < Message Hash = 892c561d9a7b1248cbe1289c339cc5d1
12988 > Loading data into database table. Started at 07/12/2021 10:51:59.868
12989 > Data load completed at 07/12/2021 10:55:16.508 Elapsed Time = 196640 ms, 100000 records loaded
12990 > Message Hash = 108f42c9623d1abdfe93dd78935ea0e2
12991 > Database Read started at 07/12/2021 10:55:16.513
12992 > Read Dataset completed at 07/12/2021 10:55:46.889 Elapsed Time = 30376 ms, 100000 records read
12993 > Message Hash = 108f42c9623d1abdfe93dd78935ea0e2
12994   Test Completed successfully
12995 < 06/10/2021 10:08:52.088 Test 21 passes as long as the checksums are identical
12995 > 07/12/2021 10:55:46.889 Test 21 passes as long as the checksums are identical
12996  
12997  
12998   ------------------------------------------------------
# Line 13359 | Line 13119 | JOIN Depts D On D.DEPT_NO = A.DEPT_NO
13119  
13120   CTE0 recursive: Depts as (Select DEPT_NO, DEPARTMENT, "HEAD_DEPT", cast(DEPARTMENT  as VarChar(256)) as DEPT_PATH ,cast(DEPT_NO as VarChar(64)) as DEPT_KEY_PATH
13121   From DEPARTMENT Where HEAD_DEPT is NULL
13122 < UNION ALL
13122 > UNION ALL
13123   Select D.DEPT_NO, D.DEPARTMENT, D.HEAD_DEPT, Depts.DEPT_PATH ||  ' / ' || D.DEPARTMENT as DEPT_PATH,Depts.DEPT_KEY_PATH || ';' || D.DEPT_NO as DEPT_KEY_PATH From DEPARTMENT  D
13124   OIN Depts On D.HEAD_DEPT = Depts.DEPT_NO
13125   )
13126   Select: distinct A.EMP_NO, A.FIRST_NAME, A.LAST_NAME, A.PHONE_EXT, A.HIRE_DATE, A.DEPT_NO, A.JOB_CODE, 2.2, 2..30 A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, D.DEPT_PATH, D.DEPT_KEY_PATH
# Line 13373 | Line 13133 | Plan:
13133   Rows:
13134   SQL: WITH RECURSIVE Depts AS (Select DEPT_NO, DEPARTMENT, "HEAD_DEPT", cast(DEPARTMENT  as VarChar(256)) as DEPT_PATH ,cast(DEPT_NO as VarChar(64)) as DEPT_KEY_PATH
13135   From DEPARTMENT Where HEAD_DEPT is NULL
13136 < UNION ALL
13136 > UNION ALL
13137   Select D.DEPT_NO, D.DEPARTMENT, D.HEAD_DEPT, Depts.DEPT_PATH ||  ' / ' || D.DEPARTMENT as DEPT_PATH,Depts.DEPT_KEY_PATH || ';' || D.DEPT_NO as DEPT_KEY_PATH From DEPARTMENT  D
13138   OIN Depts On D.HEAD_DEPT = Depts.DEPT_NO
13139   )
13140  
# Line 13387 | Line 13147 | Params:
13147   Updated SQL
13148   WITH RECURSIVE Depts AS (Select DEPT_NO, DEPARTMENT, "HEAD_DEPT", cast(DEPARTMENT  as VarChar(256)) as DEPT_PATH ,cast(DEPT_NO as VarChar(64)) as DEPT_KEY_PATH
13149   From DEPARTMENT Where HEAD_DEPT is NULL
13150 < UNION ALL
13150 > UNION ALL
13151   Select D.DEPT_NO, D.DEPARTMENT, D.HEAD_DEPT, Depts.DEPT_PATH ||  ' / ' || D.DEPARTMENT as DEPT_PATH,Depts.DEPT_KEY_PATH || ';' || D.DEPT_NO as DEPT_KEY_PATH From DEPARTMENT  D
13152   OIN Depts On D.HEAD_DEPT = Depts.DEPT_NO
13153   )
13154  
# Line 14032 | Line 13792 | IBTable after create
13792  
13793   /* Table: TestTable, Owner: SYSDBA */
13794  
13795 < CREATE TABLE "TestTable"
13795 > CREATE TABLE "TestTable"
13796   (
13797          MYKEY   INTEGER NOT NULL,
13798          TEXTFIELD       VARCHAR(32) CHARACTER SET UTF8,
# Line 14766 | Line 14526 | SET AUTODDL ON;
14526  
14527   /* Table: DBVERSIONINFO, Owner: SYSDBA */
14528  
14529 < CREATE TABLE DBVERSIONINFO
14529 > CREATE TABLE DBVERSIONINFO
14530   (
14531          VERSIONNO       INTEGER NOT NULL,
14532   PRIMARY KEY (VERSIONNO)
# Line 14774 | Line 14534 | PRIMARY KEY (VERSIONNO)
14534  
14535   /* Table: IBDATASETTEST, Owner: SYSDBA */
14536  
14537 < CREATE TABLE IBDATASETTEST
14537 > CREATE TABLE IBDATASETTEST
14538   (
14539          KEYFIELD        INTEGER NOT NULL,
14540          PLAINTEXT       VARCHAR(128),
# Line 14792 | Line 14552 | COMMIT;
14552  
14553   CREATE SEQUENCE AGENERATOR;
14554   ALTER SEQUENCE AGENERATOR RESTART WITH 0;
14555 < SET TERM ^ ;
14555 > SET TERM ^;
14556  
14557  
14558   /* Triggers only will work for SQL triggers */
# Line 14803 | Line 14563 | As
14563   Begin
14564    new.ServerSideText = new.KeyField || ' - ' || new.PlainText;
14565   End
14566 < ^
14567 < COMMIT WORK ^
14566 > ^
14567 >
14568 > COMMIT WORK^
14569   SET TERM ;^
14570  
14571   /* Comments on System Objects */
# Line 14978 | Line 14739 | SET AUTODDL ON;
14739  
14740   /* Table: DBVERSIONINFO, Owner: SYSDBA */
14741  
14742 < CREATE TABLE DBVERSIONINFO
14742 > CREATE TABLE DBVERSIONINFO
14743   (
14744          VERSIONNO       INTEGER NOT NULL,
14745   PRIMARY KEY (VERSIONNO)
# Line 14986 | Line 14747 | PRIMARY KEY (VERSIONNO)
14747  
14748   /* Table: IBDATASETTEST, Owner: SYSDBA */
14749  
14750 < CREATE TABLE IBDATASETTEST
14750 > CREATE TABLE IBDATASETTEST
14751   (
14752          KEYFIELD        INTEGER NOT NULL,
14753          PLAINTEXT       VARCHAR(128),
# Line 15009 | Line 14770 | COMMIT;
14770  
14771   CREATE SEQUENCE AGENERATOR;
14772   ALTER SEQUENCE AGENERATOR RESTART WITH 1;
14773 < SET TERM ^ ;
14773 > SET TERM ^;
14774  
14775  
14776   /* Triggers only will work for SQL triggers */
# Line 15020 | Line 14781 | As
14781   Begin
14782    new.ServerSideText = new.KeyField || ' - ' || new.PlainText;
14783   End
14784 < ^
14785 < COMMIT WORK ^
14784 > ^
14785 >
14786 > COMMIT WORK^
14787   SET TERM ;^
14788  
14789   /* Comments on System Objects */
# Line 15180 | Line 14942 | SET AUTODDL ON;
14942  
14943   /* Table: DBVERSIONINFO, Owner: SYSDBA */
14944  
14945 < CREATE TABLE DBVERSIONINFO
14945 > CREATE TABLE DBVERSIONINFO
14946   (
14947          VERSIONNO       INTEGER NOT NULL,
14948   PRIMARY KEY (VERSIONNO)
# Line 15188 | Line 14950 | PRIMARY KEY (VERSIONNO)
14950  
14951   /* Table: IBDATASETTEST, Owner: SYSDBA */
14952  
14953 < CREATE TABLE IBDATASETTEST
14953 > CREATE TABLE IBDATASETTEST
14954   (
14955          KEYFIELD        INTEGER NOT NULL,
14956          PLAINTEXT       VARCHAR(128),
# Line 15212 | Line 14974 | COMMIT;
14974  
14975   CREATE SEQUENCE AGENERATOR;
14976   ALTER SEQUENCE AGENERATOR RESTART WITH 2;
14977 < SET TERM ^ ;
14977 > SET TERM ^;
14978  
14979  
14980   /* Triggers only will work for SQL triggers */
# Line 15223 | Line 14985 | As
14985   Begin
14986    new.ServerSideText = new.KeyField || ' - ' || new.PlainText;
14987   End
14988 < ^
14989 < COMMIT WORK ^
14988 > ^
14989 >
14990 > COMMIT WORK^
14991   SET TERM ;^
14992  
14993   /* Comments on System Objects */
# Line 15237 | Line 15000 | SET TERM ;^
15000  
15001  
15002  
15003 + ------------------------------------------------------
15004 + Running Test 29: Test 29
15005 + Creating Database from resources/Test29.sql
15006 +
15007 + Create Table IBXTest (
15008 + TableKey Integer not null,
15009 + F1 Smallint,
15010 + F2 Float,
15011 + F3 Double Precision,
15012 + F4 Decimal(9,3),
15013 + F5 Decimal(18,4),
15014 + F6 Date,
15015 + F7 Timestamp,
15016 + F8 Char (2),
15017 + F9 VarChar(256),
15018 + F10 Blob,
15019 + F11 BigInt,
15020 + "f12" Integer,
15021 + F13 Time,
15022 + F14 Blob sub_type text,
15023 + MyArray Integer [0:16],
15024 + "GRANTS" VarChar(20),
15025 + "My Field" VarChar(32),
15026 + "MY Field" VarChar(32),
15027 + Primary Key(TableKey)
15028 + );
15029 +
15030 + Create Generator IBXGen;
15031 + Add a record
15032 + Add and edit a record
15033 + Row No = 1
15034 + TABLEKEY = 1
15035 + F1 = 2
15036 + F2 = 0.314000010490
15037 + F3 = 0.314123456780
15038 + F4 = 101.314
15039 + F5 = 101.99
15040 + F6 = 25/12/2007
15041 + F7 = 25/12/2007 12:30:29.130
15042 + F8 = XX (Charset = UTF8 Codepage = 65001)
15043 + F9 = The Quick Brown Fox jumps over the lazy dog (Charset = UTF8 Codepage = 65001)
15044 + F10 = (blob), Length = 100
15045 + F11 = 9223372036854775807
15046 + F12 = 65566
15047 + F13 = 12:30:45.000
15048 + F14 (Charset  = UTF8 Codepage = 65001)
15049 +
15050 + If music be the food of love, play on;
15051 + Give me excess of it, that, surfeiting,
15052 + The appetite may sicken, and so die.
15053 + That strain again! it had a dying fall:
15054 + O, it came o'er my ear like the sweet south,
15055 + That breathes upon a bank of violets,
15056 + Stealing and giving odour! Enough; no more:
15057 + 'Tis not so sweet now as it was before.
15058 + O spirit of love! how quick and fresh art thou,
15059 + That, notwithstanding thy capacity      10
15060 + Receiveth as the sea, nought enters there,
15061 + Of what validity and pitch soe'er,
15062 + But falls into abatement and low price,
15063 + Even in a minute: so full of shapes is fancy
15064 + That it alone is high fantastical.
15065 +
15066 + Si la musique est la nourriture de l'amour, continuez à jouer;
15067 + Donnez-m'en un excès, que, surexcité,
15068 + L'appétit peut devenir malade et ainsi mourir.
15069 + Cette souche encore! il a eu une chute mourante:
15070 + Oh, ça m'est venu à l'oreille comme le doux sud,
15071 + Qui souffle sur une banque de violettes,
15072 + Voler et donner de l'odeur! Assez; Pas plus:
15073 + «Ce n'est pas si doux maintenant qu'avant.
15074 + O esprit d'amour! comme tu es rapide et fraîche,
15075 + Que, malgré ta capacité 10
15076 + Reçoit comme la mer, rien n'y entre,
15077 + De quelle validité et de quelle hauteur soe'er,
15078 + Mais tombe dans l'abattement et le prix bas,
15079 + Même en une minute: si plein de formes est fantaisie
15080 + Que cela seul est fantastique.
15081 +
15082 +
15083 +
15084 + Array: (0: 100) (1: 99) (2: 98) (3: 97) (4: 96) (5: 95) (6: 94) (7: 93) (8: 92) (9: 91) (10: 90) (11: 89) (12: 88) (13: 87) (14: 86) (15: 85) (16: 84)
15085 +
15086 + GRANTS = NULL
15087 + MYFIELD1 = NULL
15088 + MYFIELD2 = NULL
15089 +
15090 + Row No = 2
15091 + TABLEKEY = 2
15092 + F1 = 2
15093 + F2 = 0.314000010490
15094 + F3 = 0.314123456780
15095 + F4 = 101.314
15096 + F5 = 101.99
15097 + F6 = 25/12/2007
15098 + F7 = 25/12/2007 12:30:29.130
15099 + F8 = XX (Charset = UTF8 Codepage = 65001)
15100 + F9 = The Quick Brown Fox jumps over the lazy dog (Charset = UTF8 Codepage = 65001)
15101 + F10 = NULL
15102 + F11 = 9223372036854775807
15103 + F12 = 65566
15104 + F13 = 12:30:45.000
15105 + F14 = NULL
15106 + Array: (0: 100) (1: 99) (2: 98) (3: 97) (4: 96) (5: 95) (6: 94) (7: 93) (8: 92) (9: 91) (10: 90) (11: 89) (12: 88) (13: 87) (14: 86) (15: 85) (16: 84)
15107 +
15108 + GRANTS = NULL
15109 + MYFIELD1 = My Field (Charset = UTF8 Codepage = 65001)
15110 + MYFIELD2 = MY Field (Charset = UTF8 Codepage = 65001)
15111 +
15112 + Rows printed = 2
15113 +
15114 + Delete a record
15115 + Row No = 1
15116 + TABLEKEY = 2
15117 + F1 = 2
15118 + F2 = 0.314000010490
15119 + F3 = 0.314123456780
15120 + F4 = 101.314
15121 + F5 = 101.99
15122 + F6 = 25/12/2007
15123 + F7 = 25/12/2007 12:30:29.130
15124 + F8 = XX (Charset = UTF8 Codepage = 65001)
15125 + F9 = The Quick Brown Fox jumps over the lazy dog (Charset = UTF8 Codepage = 65001)
15126 + F10 = NULL
15127 + F11 = 9223372036854775807
15128 + F12 = 65566
15129 + F13 = 12:30:45.000
15130 + F14 = NULL
15131 + Array: (0: 100) (1: 99) (2: 98) (3: 97) (4: 96) (5: 95) (6: 94) (7: 93) (8: 92) (9: 91) (10: 90) (11: 89) (12: 88) (13: 87) (14: 86) (15: 85) (16: 84)
15132 +
15133 + GRANTS = NULL
15134 + MYFIELD1 = My Field (Charset = UTF8 Codepage = 65001)
15135 + MYFIELD2 = MY Field (Charset = UTF8 Codepage = 65001)
15136 +
15137 + Rows printed = 1
15138 +
15139 + Rollback Retaining
15140 + Row No = 1
15141 + TABLEKEY = 1
15142 + F1 = 2
15143 + F2 = 0.314000010490
15144 + F3 = 0.314123456780
15145 + F4 = 101.314
15146 + F5 = 101.99
15147 + F6 = 25/12/2007
15148 + F7 = 25/12/2007 12:30:29.130
15149 + F8 = XX (Charset = UTF8 Codepage = 65001)
15150 + F9 = The Quick Brown Fox jumps over the lazy dog (Charset = UTF8 Codepage = 65001)
15151 + F10 = (blob), Length = 100
15152 + F11 = 9223372036854775807
15153 + F12 = 65566
15154 + F13 = 12:30:45.000
15155 + F14 (Charset  = UTF8 Codepage = 65001)
15156 +
15157 + If music be the food of love, play on;
15158 + Give me excess of it, that, surfeiting,
15159 + The appetite may sicken, and so die.
15160 + That strain again! it had a dying fall:
15161 + O, it came o'er my ear like the sweet south,
15162 + That breathes upon a bank of violets,
15163 + Stealing and giving odour! Enough; no more:
15164 + 'Tis not so sweet now as it was before.
15165 + O spirit of love! how quick and fresh art thou,
15166 + That, notwithstanding thy capacity      10
15167 + Receiveth as the sea, nought enters there,
15168 + Of what validity and pitch soe'er,
15169 + But falls into abatement and low price,
15170 + Even in a minute: so full of shapes is fancy
15171 + That it alone is high fantastical.
15172 +
15173 + Si la musique est la nourriture de l'amour, continuez à jouer;
15174 + Donnez-m'en un excès, que, surexcité,
15175 + L'appétit peut devenir malade et ainsi mourir.
15176 + Cette souche encore! il a eu une chute mourante:
15177 + Oh, ça m'est venu à l'oreille comme le doux sud,
15178 + Qui souffle sur une banque de violettes,
15179 + Voler et donner de l'odeur! Assez; Pas plus:
15180 + «Ce n'est pas si doux maintenant qu'avant.
15181 + O esprit d'amour! comme tu es rapide et fraîche,
15182 + Que, malgré ta capacité 10
15183 + Reçoit comme la mer, rien n'y entre,
15184 + De quelle validité et de quelle hauteur soe'er,
15185 + Mais tombe dans l'abattement et le prix bas,
15186 + Même en une minute: si plein de formes est fantaisie
15187 + Que cela seul est fantastique.
15188 +
15189 +
15190 +
15191 + Array: (0: 100) (1: 99) (2: 98) (3: 97) (4: 96) (5: 95) (6: 94) (7: 93) (8: 92) (9: 91) (10: 90) (11: 89) (12: 88) (13: 87) (14: 86) (15: 85) (16: 84)
15192 +
15193 + GRANTS = NULL
15194 + MYFIELD1 = NULL
15195 + MYFIELD2 = NULL
15196 +
15197 + Row No = 2
15198 + TABLEKEY = 2
15199 + F1 = 2
15200 + F2 = 0.314000010490
15201 + F3 = 0.314123456780
15202 + F4 = 101.314
15203 + F5 = 101.99
15204 + F6 = 25/12/2007
15205 + F7 = 25/12/2007 12:30:29.130
15206 + F8 = XX (Charset = UTF8 Codepage = 65001)
15207 + F9 = The Quick Brown Fox jumps over the lazy dog (Charset = UTF8 Codepage = 65001)
15208 + F10 = NULL
15209 + F11 = 9223372036854775807
15210 + F12 = 65566
15211 + F13 = 12:30:45.000
15212 + F14 = NULL
15213 + Array: (0: 100) (1: 99) (2: 98) (3: 97) (4: 96) (5: 95) (6: 94) (7: 93) (8: 92) (9: 91) (10: 90) (11: 89) (12: 88) (13: 87) (14: 86) (15: 85) (16: 84)
15214 +
15215 + GRANTS = NULL
15216 + MYFIELD1 = My Field (Charset = UTF8 Codepage = 65001)
15217 + MYFIELD2 = MY Field (Charset = UTF8 Codepage = 65001)
15218 +
15219 + Rows printed = 2
15220 +
15221 + Delete a record
15222 + Row No = 1
15223 + TABLEKEY = 2
15224 + F1 = 2
15225 + F2 = 0.314000010490
15226 + F3 = 0.314123456780
15227 + F4 = 101.314
15228 + F5 = 101.99
15229 + F6 = 25/12/2007
15230 + F7 = 25/12/2007 12:30:29.130
15231 + F8 = XX (Charset = UTF8 Codepage = 65001)
15232 + F9 = The Quick Brown Fox jumps over the lazy dog (Charset = UTF8 Codepage = 65001)
15233 + F10 = NULL
15234 + F11 = 9223372036854775807
15235 + F12 = 65566
15236 + F13 = 12:30:45.000
15237 + F14 = NULL
15238 + Array: (0: 100) (1: 99) (2: 98) (3: 97) (4: 96) (5: 95) (6: 94) (7: 93) (8: 92) (9: 91) (10: 90) (11: 89) (12: 88) (13: 87) (14: 86) (15: 85) (16: 84)
15239 +
15240 + GRANTS = NULL
15241 + MYFIELD1 = My Field (Charset = UTF8 Codepage = 65001)
15242 + MYFIELD2 = MY Field (Charset = UTF8 Codepage = 65001)
15243 +
15244 + Rows printed = 1
15245 +
15246 + Rollback
15247 + Row No = 1
15248 + TABLEKEY = 1
15249 + F1 = 2
15250 + F2 = 0.314000010490
15251 + F3 = 0.314123456780
15252 + F4 = 101.314
15253 + F5 = 101.99
15254 + F6 = 25/12/2007
15255 + F7 = 25/12/2007 12:30:29.130
15256 + F8 = XX (Charset = UTF8 Codepage = 65001)
15257 + F9 = The Quick Brown Fox jumps over the lazy dog (Charset = UTF8 Codepage = 65001)
15258 + F10 = (blob), Length = 100
15259 + F11 = 9223372036854775807
15260 + F12 = 65566
15261 + F13 = 12:30:45.000
15262 + F14 (Charset  = UTF8 Codepage = 65001)
15263 +
15264 + If music be the food of love, play on;
15265 + Give me excess of it, that, surfeiting,
15266 + The appetite may sicken, and so die.
15267 + That strain again! it had a dying fall:
15268 + O, it came o'er my ear like the sweet south,
15269 + That breathes upon a bank of violets,
15270 + Stealing and giving odour! Enough; no more:
15271 + 'Tis not so sweet now as it was before.
15272 + O spirit of love! how quick and fresh art thou,
15273 + That, notwithstanding thy capacity      10
15274 + Receiveth as the sea, nought enters there,
15275 + Of what validity and pitch soe'er,
15276 + But falls into abatement and low price,
15277 + Even in a minute: so full of shapes is fancy
15278 + That it alone is high fantastical.
15279 +
15280 + Si la musique est la nourriture de l'amour, continuez à jouer;
15281 + Donnez-m'en un excès, que, surexcité,
15282 + L'appétit peut devenir malade et ainsi mourir.
15283 + Cette souche encore! il a eu une chute mourante:
15284 + Oh, ça m'est venu à l'oreille comme le doux sud,
15285 + Qui souffle sur une banque de violettes,
15286 + Voler et donner de l'odeur! Assez; Pas plus:
15287 + «Ce n'est pas si doux maintenant qu'avant.
15288 + O esprit d'amour! comme tu es rapide et fraîche,
15289 + Que, malgré ta capacité 10
15290 + Reçoit comme la mer, rien n'y entre,
15291 + De quelle validité et de quelle hauteur soe'er,
15292 + Mais tombe dans l'abattement et le prix bas,
15293 + Même en une minute: si plein de formes est fantaisie
15294 + Que cela seul est fantastique.
15295 +
15296 +
15297 +
15298 + Array: (0: 100) (1: 99) (2: 98) (3: 97) (4: 96) (5: 95) (6: 94) (7: 93) (8: 92) (9: 91) (10: 90) (11: 89) (12: 88) (13: 87) (14: 86) (15: 85) (16: 84)
15299 +
15300 + GRANTS = NULL
15301 + MYFIELD1 = NULL
15302 + MYFIELD2 = NULL
15303 +
15304 + Row No = 2
15305 + TABLEKEY = 2
15306 + F1 = 2
15307 + F2 = 0.314000010490
15308 + F3 = 0.314123456780
15309 + F4 = 101.314
15310 + F5 = 101.99
15311 + F6 = 25/12/2007
15312 + F7 = 25/12/2007 12:30:29.130
15313 + F8 = XX (Charset = UTF8 Codepage = 65001)
15314 + F9 = The Quick Brown Fox jumps over the lazy dog (Charset = UTF8 Codepage = 65001)
15315 + F10 = NULL
15316 + F11 = 9223372036854775807
15317 + F12 = 65566
15318 + F13 = 12:30:45.000
15319 + F14 = NULL
15320 + Array: (0: 100) (1: 99) (2: 98) (3: 97) (4: 96) (5: 95) (6: 94) (7: 93) (8: 92) (9: 91) (10: 90) (11: 89) (12: 88) (13: 87) (14: 86) (15: 85) (16: 84)
15321 +
15322 + GRANTS = NULL
15323 + MYFIELD1 = My Field (Charset = UTF8 Codepage = 65001)
15324 + MYFIELD2 = MY Field (Charset = UTF8 Codepage = 65001)
15325 +
15326 + Rows printed = 2
15327 +
15328 + Commit Retaining
15329 + Row No = 1
15330 + TABLEKEY = 1
15331 + F1 = 2
15332 + F2 = 0.314000010490
15333 + F3 = 0.314123456780
15334 + F4 = 101.314
15335 + F5 = 101.99
15336 + F6 = 25/12/2007
15337 + F7 = 25/12/2007 12:30:29.130
15338 + F8 = XX (Charset = UTF8 Codepage = 65001)
15339 + F9 = The Quick Brown Fox jumps over the lazy dog (Charset = UTF8 Codepage = 65001)
15340 + F10 = (blob), Length = 100
15341 + F11 = 9223372036854775807
15342 + F12 = 65566
15343 + F13 = 12:30:45.000
15344 + F14 (Charset  = UTF8 Codepage = 65001)
15345 +
15346 + If music be the food of love, play on;
15347 + Give me excess of it, that, surfeiting,
15348 + The appetite may sicken, and so die.
15349 + That strain again! it had a dying fall:
15350 + O, it came o'er my ear like the sweet south,
15351 + That breathes upon a bank of violets,
15352 + Stealing and giving odour! Enough; no more:
15353 + 'Tis not so sweet now as it was before.
15354 + O spirit of love! how quick and fresh art thou,
15355 + That, notwithstanding thy capacity      10
15356 + Receiveth as the sea, nought enters there,
15357 + Of what validity and pitch soe'er,
15358 + But falls into abatement and low price,
15359 + Even in a minute: so full of shapes is fancy
15360 + That it alone is high fantastical.
15361 +
15362 + Si la musique est la nourriture de l'amour, continuez à jouer;
15363 + Donnez-m'en un excès, que, surexcité,
15364 + L'appétit peut devenir malade et ainsi mourir.
15365 + Cette souche encore! il a eu une chute mourante:
15366 + Oh, ça m'est venu à l'oreille comme le doux sud,
15367 + Qui souffle sur une banque de violettes,
15368 + Voler et donner de l'odeur! Assez; Pas plus:
15369 + «Ce n'est pas si doux maintenant qu'avant.
15370 + O esprit d'amour! comme tu es rapide et fraîche,
15371 + Que, malgré ta capacité 10
15372 + Reçoit comme la mer, rien n'y entre,
15373 + De quelle validité et de quelle hauteur soe'er,
15374 + Mais tombe dans l'abattement et le prix bas,
15375 + Même en une minute: si plein de formes est fantaisie
15376 + Que cela seul est fantastique.
15377 +
15378 +
15379 +
15380 + Array: (0: 100) (1: 99) (2: 98) (3: 97) (4: 96) (5: 95) (6: 94) (7: 93) (8: 92) (9: 91) (10: 90) (11: 89) (12: 88) (13: 87) (14: 86) (15: 85) (16: 84)
15381 +
15382 + GRANTS = NULL
15383 + MYFIELD1 = NULL
15384 + MYFIELD2 = NULL
15385 +
15386 + Row No = 2
15387 + TABLEKEY = 2
15388 + F1 = 2
15389 + F2 = 0.314000010490
15390 + F3 = 0.314123456780
15391 + F4 = 101.314
15392 + F5 = 101.99
15393 + F6 = 25/12/2007
15394 + F7 = 25/12/2007 12:30:29.130
15395 + F8 = XX (Charset = UTF8 Codepage = 65001)
15396 + F9 = The Quick Brown Fox jumps over the lazy dog (Charset = UTF8 Codepage = 65001)
15397 + F10 = NULL
15398 + F11 = 9223372036854775807
15399 + F12 = 65566
15400 + F13 = 12:30:45.000
15401 + F14 = NULL
15402 + Array: (0: 100) (1: 99) (2: 98) (3: 97) (4: 96) (5: 95) (6: 94) (7: 93) (8: 92) (9: 91) (10: 90) (11: 89) (12: 88) (13: 87) (14: 86) (15: 85) (16: 84)
15403 +
15404 + GRANTS = NULL
15405 + MYFIELD1 = My Field (Charset = UTF8 Codepage = 65001)
15406 + MYFIELD2 = MY Field (Charset = UTF8 Codepage = 65001)
15407 +
15408 + Row No = 3
15409 + TABLEKEY = 3
15410 + F1 = 2
15411 + F2 = 0.314000010490
15412 + F3 = 0.314123456780
15413 + F4 = 101.314
15414 + F5 = 101.99
15415 + F6 = 25/12/2007
15416 + F7 = 25/12/2007 12:30:29.130
15417 + F8 = XX (Charset = UTF8 Codepage = 65001)
15418 + F9 = The Quick Brown Fox jumps over the lazy dog (Charset = UTF8 Codepage = 65001)
15419 + F10 = (blob), Length = 100
15420 + F11 = 9223372036854775807
15421 + F12 = 65566
15422 + F13 = 12:30:45.000
15423 + F14 (Charset  = UTF8 Codepage = 65001)
15424 +
15425 + If music be the food of love, play on;
15426 + Give me excess of it, that, surfeiting,
15427 + The appetite may sicken, and so die.
15428 + That strain again! it had a dying fall:
15429 + O, it came o'er my ear like the sweet south,
15430 + That breathes upon a bank of violets,
15431 + Stealing and giving odour! Enough; no more:
15432 + 'Tis not so sweet now as it was before.
15433 + O spirit of love! how quick and fresh art thou,
15434 + That, notwithstanding thy capacity      10
15435 + Receiveth as the sea, nought enters there,
15436 + Of what validity and pitch soe'er,
15437 + But falls into abatement and low price,
15438 + Even in a minute: so full of shapes is fancy
15439 + That it alone is high fantastical.
15440 +
15441 + Si la musique est la nourriture de l'amour, continuez à jouer;
15442 + Donnez-m'en un excès, que, surexcité,
15443 + L'appétit peut devenir malade et ainsi mourir.
15444 + Cette souche encore! il a eu une chute mourante:
15445 + Oh, ça m'est venu à l'oreille comme le doux sud,
15446 + Qui souffle sur une banque de violettes,
15447 + Voler et donner de l'odeur! Assez; Pas plus:
15448 + «Ce n'est pas si doux maintenant qu'avant.
15449 + O esprit d'amour! comme tu es rapide et fraîche,
15450 + Que, malgré ta capacité 10
15451 + Reçoit comme la mer, rien n'y entre,
15452 + De quelle validité et de quelle hauteur soe'er,
15453 + Mais tombe dans l'abattement et le prix bas,
15454 + Même en une minute: si plein de formes est fantaisie
15455 + Que cela seul est fantastique.
15456 +
15457 +
15458 +
15459 + Array: (0: 100) (1: 99) (2: 98) (3: 97) (4: 96) (5: 95) (6: 94) (7: 93) (8: 92) (9: 91) (10: 90) (11: 89) (12: 88) (13: 87) (14: 86) (15: 85) (16: 84)
15460 +
15461 + GRANTS = NULL
15462 + MYFIELD1 = NULL
15463 + MYFIELD2 = NULL
15464 +
15465 + Rows printed = 3
15466 +
15467 + Commit
15468 + Row No = 1
15469 + TABLEKEY = 1
15470 + F1 = 2
15471 + F2 = 0.314000010490
15472 + F3 = 0.314123456780
15473 + F4 = 101.314
15474 + F5 = 101.99
15475 + F6 = 25/12/2007
15476 + F7 = 25/12/2007 12:30:29.130
15477 + F8 = XX (Charset = UTF8 Codepage = 65001)
15478 + F9 = The Quick Brown Fox jumps over the lazy dog (Charset = UTF8 Codepage = 65001)
15479 + F10 = (blob), Length = 100
15480 + F11 = 9223372036854775807
15481 + F12 = 65566
15482 + F13 = 12:30:45.000
15483 + F14 (Charset  = UTF8 Codepage = 65001)
15484 +
15485 + If music be the food of love, play on;
15486 + Give me excess of it, that, surfeiting,
15487 + The appetite may sicken, and so die.
15488 + That strain again! it had a dying fall:
15489 + O, it came o'er my ear like the sweet south,
15490 + That breathes upon a bank of violets,
15491 + Stealing and giving odour! Enough; no more:
15492 + 'Tis not so sweet now as it was before.
15493 + O spirit of love! how quick and fresh art thou,
15494 + That, notwithstanding thy capacity      10
15495 + Receiveth as the sea, nought enters there,
15496 + Of what validity and pitch soe'er,
15497 + But falls into abatement and low price,
15498 + Even in a minute: so full of shapes is fancy
15499 + That it alone is high fantastical.
15500 +
15501 + Si la musique est la nourriture de l'amour, continuez à jouer;
15502 + Donnez-m'en un excès, que, surexcité,
15503 + L'appétit peut devenir malade et ainsi mourir.
15504 + Cette souche encore! il a eu une chute mourante:
15505 + Oh, ça m'est venu à l'oreille comme le doux sud,
15506 + Qui souffle sur une banque de violettes,
15507 + Voler et donner de l'odeur! Assez; Pas plus:
15508 + «Ce n'est pas si doux maintenant qu'avant.
15509 + O esprit d'amour! comme tu es rapide et fraîche,
15510 + Que, malgré ta capacité 10
15511 + Reçoit comme la mer, rien n'y entre,
15512 + De quelle validité et de quelle hauteur soe'er,
15513 + Mais tombe dans l'abattement et le prix bas,
15514 + Même en une minute: si plein de formes est fantaisie
15515 + Que cela seul est fantastique.
15516 +
15517 +
15518 +
15519 + Array: (0: 100) (1: 99) (2: 98) (3: 97) (4: 96) (5: 95) (6: 94) (7: 93) (8: 92) (9: 91) (10: 90) (11: 89) (12: 88) (13: 87) (14: 86) (15: 85) (16: 84)
15520 +
15521 + GRANTS = NULL
15522 + MYFIELD1 = NULL
15523 + MYFIELD2 = NULL
15524 +
15525 + Row No = 2
15526 + TABLEKEY = 2
15527 + F1 = 2
15528 + F2 = 0.314000010490
15529 + F3 = 0.314123456780
15530 + F4 = 101.314
15531 + F5 = 101.99
15532 + F6 = 25/12/2007
15533 + F7 = 25/12/2007 12:30:29.130
15534 + F8 = XX (Charset = UTF8 Codepage = 65001)
15535 + F9 = The Quick Brown Fox jumps over the lazy dog (Charset = UTF8 Codepage = 65001)
15536 + F10 = NULL
15537 + F11 = 9223372036854775807
15538 + F12 = 65566
15539 + F13 = 12:30:45.000
15540 + F14 = NULL
15541 + Array: (0: 100) (1: 99) (2: 98) (3: 97) (4: 96) (5: 95) (6: 94) (7: 93) (8: 92) (9: 91) (10: 90) (11: 89) (12: 88) (13: 87) (14: 86) (15: 85) (16: 84)
15542 +
15543 + GRANTS = NULL
15544 + MYFIELD1 = My Field (Charset = UTF8 Codepage = 65001)
15545 + MYFIELD2 = MY Field (Charset = UTF8 Codepage = 65001)
15546 +
15547 + Row No = 3
15548 + TABLEKEY = 3
15549 + F1 = 2
15550 + F2 = 0.314000010490
15551 + F3 = 0.314123456780
15552 + F4 = 101.314
15553 + F5 = 101.99
15554 + F6 = 25/12/2007
15555 + F7 = 25/12/2007 12:30:29.130
15556 + F8 = XX (Charset = UTF8 Codepage = 65001)
15557 + F9 = The Quick Brown Fox jumps over the lazy dog (Charset = UTF8 Codepage = 65001)
15558 + F10 = (blob), Length = 100
15559 + F11 = 9223372036854775807
15560 + F12 = 65566
15561 + F13 = 12:30:45.000
15562 + F14 (Charset  = UTF8 Codepage = 65001)
15563 +
15564 + If music be the food of love, play on;
15565 + Give me excess of it, that, surfeiting,
15566 + The appetite may sicken, and so die.
15567 + That strain again! it had a dying fall:
15568 + O, it came o'er my ear like the sweet south,
15569 + That breathes upon a bank of violets,
15570 + Stealing and giving odour! Enough; no more:
15571 + 'Tis not so sweet now as it was before.
15572 + O spirit of love! how quick and fresh art thou,
15573 + That, notwithstanding thy capacity      10
15574 + Receiveth as the sea, nought enters there,
15575 + Of what validity and pitch soe'er,
15576 + But falls into abatement and low price,
15577 + Even in a minute: so full of shapes is fancy
15578 + That it alone is high fantastical.
15579 +
15580 + Si la musique est la nourriture de l'amour, continuez à jouer;
15581 + Donnez-m'en un excès, que, surexcité,
15582 + L'appétit peut devenir malade et ainsi mourir.
15583 + Cette souche encore! il a eu une chute mourante:
15584 + Oh, ça m'est venu à l'oreille comme le doux sud,
15585 + Qui souffle sur une banque de violettes,
15586 + Voler et donner de l'odeur! Assez; Pas plus:
15587 + «Ce n'est pas si doux maintenant qu'avant.
15588 + O esprit d'amour! comme tu es rapide et fraîche,
15589 + Que, malgré ta capacité 10
15590 + Reçoit comme la mer, rien n'y entre,
15591 + De quelle validité et de quelle hauteur soe'er,
15592 + Mais tombe dans l'abattement et le prix bas,
15593 + Même en une minute: si plein de formes est fantaisie
15594 + Que cela seul est fantastique.
15595 +
15596 +
15597 +
15598 + Array: (0: 100) (1: 99) (2: 98) (3: 97) (4: 96) (5: 95) (6: 94) (7: 93) (8: 92) (9: 91) (10: 90) (11: 89) (12: 88) (13: 87) (14: 86) (15: 85) (16: 84)
15599 +
15600 + GRANTS = NULL
15601 + MYFIELD1 = NULL
15602 + MYFIELD2 = NULL
15603 +
15604 + Rows printed = 3
15605 +
15606 + Journal Table
15607 + IBX$SESSIONID = 1
15608 + IBX$TRANSACTIONID = 9
15609 + IBX$OLDTRANSACTIONID = NULL
15610 + IBX$USER = SYSDBA (Charset Id = 4 Codepage = 65001)
15611 + IBX$CREATED = 2021/12/07 10:56:15.3090
15612 + IBX$SESSIONID = 1
15613 + IBX$TRANSACTIONID = 14
15614 + IBX$OLDTRANSACTIONID = NULL
15615 + IBX$USER = SYSDBA (Charset Id = 4 Codepage = 65001)
15616 + IBX$CREATED = 2021/12/07 10:56:16.4750
15617 + IBX$SESSIONID = 1
15618 + IBX$TRANSACTIONID = 16
15619 + IBX$OLDTRANSACTIONID = 14
15620 + IBX$USER = SYSDBA (Charset Id = 4 Codepage = 65001)
15621 + IBX$CREATED = 2021/12/07 10:56:16.8800
15622 + Journal Entries
15623 + Journal Entry = jeTransStart(Transaction Start)
15624 + Timestamp = 2021/12/07 10:56:15.3360
15625 + Session ID = 1
15626 + Transaction ID = 9
15627 + Transaction Name = "{A1789F69-9F0A-4D27-A725-971FFF2303F6}"
15628 + TPB: Item Count = 3
15629 +  isc_tpb_concurrency
15630 +  isc_tpb_wait
15631 +  isc_tpb_write
15632 +
15633 + Default Completion = TACommit
15634 +
15635 + Journal Entry = jeQuery(Query)
15636 + Timestamp = 2021/12/07 10:56:15.5020
15637 + Session ID = 1
15638 + Transaction ID = 9
15639 + Query = Insert Into IBXTEST(TABLEKEY, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, f12, F13, F14, MyArray,  GRANTS) Values(1, 2, 0.314, 0.31412345678, 101.314, 101.99, '25/12/2007 12:30:15.0000', '25/12/2007 12:30:29.1300','XX', 'The Quick Brown Fox jumps over the lazy dog', <blob subtype="0">
15640 + FFD8FFE000104A46494600010101004800480000FFE11E0545786966000049492A00080000000C00
15641 + 0E010200200000009E0000000F01020014000000BE0000001001020008000000D200000012010300
15642 + 01000000010000001A01050001000000DA000000
15643 + </blob>
15644 + , 9223372036854775807, 65566, '26/12/2007 12:30:45.0000', 'If music be the food of love, play on;
15645 + Give me excess of it, that, surfeiting,
15646 + The appetite may sicken, and so die.
15647 + That strain again! it had a dying fall:
15648 + O, it came o''er my ear like the sweet south,
15649 + That breathes upon a bank of violets,
15650 + Stealing and giving odour! Enough; no more:
15651 + ''Tis not so sweet now as it was before.
15652 + O spirit of love! how quick and fresh art thou,
15653 + That, notwithstanding thy capacity      10
15654 + Receiveth as the sea, nought enters there,
15655 + Of what validity and pitch soe''er,
15656 + But falls into abatement and low price,
15657 + Even in a minute: so full of shapes is fancy
15658 + That it alone is high fantastical.
15659 +
15660 + Si la musique est la nourriture de l''amour, continuez à jouer;
15661 + Donnez-m''en un excès, que, surexcité,
15662 + L''appétit peut devenir malade et ainsi mourir.
15663 + Cette souche encore! il a eu une chute mourante:
15664 + Oh, ça m''est venu à l''oreille comme le doux sud,
15665 + Qui souffle sur une banque de violettes,
15666 + Voler et donner de l''odeur! Assez; Pas plus:
15667 + «Ce n''est pas si doux maintenant qu''avant.
15668 + O esprit d''amour! comme tu es rapide et fraîche,
15669 + Que, malgré ta capacité 10
15670 + Reçoit comme la mer, rien n''y entre,
15671 + De quelle validité et de quelle hauteur soe''er,
15672 + Mais tombe dans l''abattement et le prix bas,
15673 + Même en une minute: si plein de formes est fantaisie
15674 + Que cela seul est fantastique.
15675 +
15676 +
15677 + ', <array dim = "1" sqltype = "496" length = "4" relation_name = "IBXTEST" column_name = "MYARRAY" scale = "0" bounds="0:16">
15678 + <elt ix="0">100</elt>
15679 + <elt ix="1">99</elt>
15680 + <elt ix="2">98</elt>
15681 + <elt ix="3">97</elt>
15682 + <elt ix="4">96</elt>
15683 + <elt ix="5">95</elt>
15684 + <elt ix="6">94</elt>
15685 + <elt ix="7">93</elt>
15686 + <elt ix="8">92</elt>
15687 + <elt ix="9">91</elt>
15688 + <elt ix="10">90</elt>
15689 + <elt ix="11">89</elt>
15690 + <elt ix="12">88</elt>
15691 + <elt ix="13">87</elt>
15692 + <elt ix="14">86</elt>
15693 + <elt ix="15">85</elt>
15694 + <elt ix="16">84</elt>
15695 + </array>
15696 + , NULL) Returning MyArray
15697 +
15698 + Journal Entry = jeQuery(Query)
15699 + Timestamp = 2021/12/07 10:56:15.5160
15700 + Session ID = 1
15701 + Transaction ID = 9
15702 + Query = Insert Into IBXTEST(TABLEKEY, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, f12, F13, F14, MyArray,  GRANTS) Values(2, 2, 0.314, 0.31412345678, 101.314, 101.99, '25/12/2007 12:30:15.0000', '25/12/2007 12:30:29.1300','XX', 'The Quick Brown Fox jumps over the lazy dog', <blob subtype="0">
15703 + FFD8FFE000104A46494600010101004800480000FFE11E0545786966000049492A00080000000C00
15704 + 0E010200200000009E0000000F01020014000000BE0000001001020008000000D200000012010300
15705 + 01000000010000001A01050001000000DA000000
15706 + </blob>
15707 + , 9223372036854775807, 65566, '26/12/2007 12:30:45.0000', 'If music be the food of love, play on;
15708 + Give me excess of it, that, surfeiting,
15709 + The appetite may sicken, and so die.
15710 + That strain again! it had a dying fall:
15711 + O, it came o''er my ear like the sweet south,
15712 + That breathes upon a bank of violets,
15713 + Stealing and giving odour! Enough; no more:
15714 + ''Tis not so sweet now as it was before.
15715 + O spirit of love! how quick and fresh art thou,
15716 + That, notwithstanding thy capacity      10
15717 + Receiveth as the sea, nought enters there,
15718 + Of what validity and pitch soe''er,
15719 + But falls into abatement and low price,
15720 + Even in a minute: so full of shapes is fancy
15721 + That it alone is high fantastical.
15722 +
15723 + Si la musique est la nourriture de l''amour, continuez à jouer;
15724 + Donnez-m''en un excès, que, surexcité,
15725 + L''appétit peut devenir malade et ainsi mourir.
15726 + Cette souche encore! il a eu une chute mourante:
15727 + Oh, ça m''est venu à l''oreille comme le doux sud,
15728 + Qui souffle sur une banque de violettes,
15729 + Voler et donner de l''odeur! Assez; Pas plus:
15730 + «Ce n''est pas si doux maintenant qu''avant.
15731 + O esprit d''amour! comme tu es rapide et fraîche,
15732 + Que, malgré ta capacité 10
15733 + Reçoit comme la mer, rien n''y entre,
15734 + De quelle validité et de quelle hauteur soe''er,
15735 + Mais tombe dans l''abattement et le prix bas,
15736 + Même en une minute: si plein de formes est fantaisie
15737 + Que cela seul est fantastique.
15738 +
15739 +
15740 + ', <array dim = "1" sqltype = "496" length = "4" relation_name = "IBXTEST" column_name = "MYARRAY" scale = "0" bounds="0:16">
15741 + <elt ix="0">100</elt>
15742 + <elt ix="1">99</elt>
15743 + <elt ix="2">98</elt>
15744 + <elt ix="3">97</elt>
15745 + <elt ix="4">96</elt>
15746 + <elt ix="5">95</elt>
15747 + <elt ix="6">94</elt>
15748 + <elt ix="7">93</elt>
15749 + <elt ix="8">92</elt>
15750 + <elt ix="9">91</elt>
15751 + <elt ix="10">90</elt>
15752 + <elt ix="11">89</elt>
15753 + <elt ix="12">88</elt>
15754 + <elt ix="13">87</elt>
15755 + <elt ix="14">86</elt>
15756 + <elt ix="15">85</elt>
15757 + <elt ix="16">84</elt>
15758 + </array>
15759 + , NULL) Returning MyArray
15760 +
15761 + Journal Entry = jeQuery(Query)
15762 + Timestamp = 2021/12/07 10:56:15.5220
15763 + Session ID = 1
15764 + Transaction ID = 9
15765 + Query = Update IBXTEST A Set   A.F1 = 2,  A.F2 = 0.314,  A.F3 = 0.31412345678,  A.F4 = 101.314,  A.F5 = 101.99,  A.F6 = '25/12/2007 12:30:15.0000',  A.F7 = '25/12/2007 12:30:29.1300',  A.F8 = 'XX',  A.F9 = 'The Quick Brown Fox jumps over the lazy dog',  A.F10 = NULL,  A.F11 = 9223372036854775807,  A.f12 = 65566,  A.F13 = '26/12/2007 12:30:45.0000',  A.F14 = NULL,  A.MyArray = <array dim = "1" sqltype = "496" length = "4" relation_name = "IBXTEST" column_name = "MYARRAY" scale = "0" bounds="0:16">
15766 + <elt ix="0">100</elt>
15767 + <elt ix="1">99</elt>
15768 + <elt ix="2">98</elt>
15769 + <elt ix="3">97</elt>
15770 + <elt ix="4">96</elt>
15771 + <elt ix="5">95</elt>
15772 + <elt ix="6">94</elt>
15773 + <elt ix="7">93</elt>
15774 + <elt ix="8">92</elt>
15775 + <elt ix="9">91</elt>
15776 + <elt ix="10">90</elt>
15777 + <elt ix="11">89</elt>
15778 + <elt ix="12">88</elt>
15779 + <elt ix="13">87</elt>
15780 + <elt ix="14">86</elt>
15781 + <elt ix="15">85</elt>
15782 + <elt ix="16">84</elt>
15783 + </array>
15784 + ,   A.My Field  = 'My Field',  A.MY Field = 'MY Field',  A.GRANTS = NULL Where A.TABLEKEY = 2 RETURNING A.MyArray
15785 +
15786 + Journal Entry = jeTransCommit(Commit)
15787 + Timestamp = 2021/12/07 10:56:15.5920
15788 + Session ID = 1
15789 + Transaction ID = 9
15790 +
15791 + Journal Entry = jeTransStart(Transaction Start)
15792 + Timestamp = 2021/12/07 10:56:15.6010
15793 + Session ID = 1
15794 + Transaction ID = 11
15795 + Transaction Name = "{A1789F69-9F0A-4D27-A725-971FFF2303F6}"
15796 + TPB: Item Count = 3
15797 +  isc_tpb_concurrency
15798 +  isc_tpb_wait
15799 +  isc_tpb_write
15800 +
15801 + Default Completion = TACommit
15802 +
15803 + Journal Entry = jeQuery(Query)
15804 + Timestamp = 2021/12/07 10:56:15.8730
15805 + Session ID = 1
15806 + Transaction ID = 11
15807 + Query = Delete From IBXTEST A Where A.TABLEKEY = 1
15808 +
15809 + Journal Entry = jeTransRollbackRet(Rollback Retaining)
15810 + Timestamp = 2021/12/07 10:56:16.0400
15811 + Session ID = 1
15812 + Transaction ID = 13
15813 + Old TransactionID = 11
15814 +
15815 + Journal Entry = jeQuery(Query)
15816 + Timestamp = 2021/12/07 10:56:16.2670
15817 + Session ID = 1
15818 + Transaction ID = 13
15819 + Query = Delete From IBXTEST A Where A.TABLEKEY = 1
15820 +
15821 + Journal Entry = jeTransRollback(Rollback)
15822 + Timestamp = 2021/12/07 10:56:16.4340
15823 + Session ID = 1
15824 + Transaction ID = 13
15825 +
15826 + Journal Entry = jeTransStart(Transaction Start)
15827 + Timestamp = 2021/12/07 10:56:16.4760
15828 + Session ID = 1
15829 + Transaction ID = 14
15830 + Transaction Name = "{A1789F69-9F0A-4D27-A725-971FFF2303F6}"
15831 + TPB: Item Count = 3
15832 +  isc_tpb_concurrency
15833 +  isc_tpb_wait
15834 +  isc_tpb_write
15835 +
15836 + Default Completion = TACommit
15837 +
15838 + Journal Entry = jeQuery(Query)
15839 + Timestamp = 2021/12/07 10:56:16.7700
15840 + Session ID = 1
15841 + Transaction ID = 14
15842 + Query = Insert Into IBXTEST(TABLEKEY, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, f12, F13, F14, MyArray,  GRANTS) Values(3, 2, 0.314, 0.31412345678, 101.314, 101.99, '25/12/2007 12:30:15.0000', '25/12/2007 12:30:29.1300','XX', 'The Quick Brown Fox jumps over the lazy dog', <blob subtype="0">
15843 + FFD8FFE000104A46494600010101004800480000FFE11E0545786966000049492A00080000000C00
15844 + 0E010200200000009E0000000F01020014000000BE0000001001020008000000D200000012010300
15845 + 01000000010000001A01050001000000DA000000
15846 + </blob>
15847 + , 9223372036854775807, 65566, '26/12/2007 12:30:45.0000', 'If music be the food of love, play on;
15848 + Give me excess of it, that, surfeiting,
15849 + The appetite may sicken, and so die.
15850 + That strain again! it had a dying fall:
15851 + O, it came o''er my ear like the sweet south,
15852 + That breathes upon a bank of violets,
15853 + Stealing and giving odour! Enough; no more:
15854 + ''Tis not so sweet now as it was before.
15855 + O spirit of love! how quick and fresh art thou,
15856 + That, notwithstanding thy capacity      10
15857 + Receiveth as the sea, nought enters there,
15858 + Of what validity and pitch soe''er,
15859 + But falls into abatement and low price,
15860 + Even in a minute: so full of shapes is fancy
15861 + That it alone is high fantastical.
15862 +
15863 + Si la musique est la nourriture de l''amour, continuez à jouer;
15864 + Donnez-m''en un excès, que, surexcité,
15865 + L''appétit peut devenir malade et ainsi mourir.
15866 + Cette souche encore! il a eu une chute mourante:
15867 + Oh, ça m''est venu à l''oreille comme le doux sud,
15868 + Qui souffle sur une banque de violettes,
15869 + Voler et donner de l''odeur! Assez; Pas plus:
15870 + «Ce n''est pas si doux maintenant qu''avant.
15871 + O esprit d''amour! comme tu es rapide et fraîche,
15872 + Que, malgré ta capacité 10
15873 + Reçoit comme la mer, rien n''y entre,
15874 + De quelle validité et de quelle hauteur soe''er,
15875 + Mais tombe dans l''abattement et le prix bas,
15876 + Même en une minute: si plein de formes est fantaisie
15877 + Que cela seul est fantastique.
15878 +
15879 +
15880 + ', <array dim = "1" sqltype = "496" length = "4" relation_name = "IBXTEST" column_name = "MYARRAY" scale = "0" bounds="0:16">
15881 + <elt ix="0">100</elt>
15882 + <elt ix="1">99</elt>
15883 + <elt ix="2">98</elt>
15884 + <elt ix="3">97</elt>
15885 + <elt ix="4">96</elt>
15886 + <elt ix="5">95</elt>
15887 + <elt ix="6">94</elt>
15888 + <elt ix="7">93</elt>
15889 + <elt ix="8">92</elt>
15890 + <elt ix="9">91</elt>
15891 + <elt ix="10">90</elt>
15892 + <elt ix="11">89</elt>
15893 + <elt ix="12">88</elt>
15894 + <elt ix="13">87</elt>
15895 + <elt ix="14">86</elt>
15896 + <elt ix="15">85</elt>
15897 + <elt ix="16">84</elt>
15898 + </array>
15899 + , NULL) Returning MyArray
15900 +
15901 + Journal Entry = jeTransCommitRet(Commit Retaining)
15902 + Timestamp = 2021/12/07 10:56:16.8760
15903 + Session ID = 1
15904 + Transaction ID = 16
15905 + Old TransactionID = 14
15906 +
15907 + Journal Entry = jeTransCommit(Commit)
15908 + Timestamp = 2021/12/07 10:56:17.2500
15909 + Session ID = 1
15910 + Transaction ID = 16
15911 +
15912 + Journal Entry = jeTransStart(Transaction Start)
15913 + Timestamp = 2021/12/07 10:56:17.2830
15914 + Session ID = 1
15915 + Transaction ID = 17
15916 + Transaction Name = "{A1789F69-9F0A-4D27-A725-971FFF2303F6}"
15917 + TPB: Item Count = 3
15918 +  isc_tpb_concurrency
15919 +  isc_tpb_wait
15920 +  isc_tpb_write
15921 +
15922 + Default Completion = TACommit
15923 +
15924 + Journal Entry = jeTransRollback(Rollback)
15925 + Timestamp = 2021/12/07 10:56:17.7250
15926 + Session ID = 1
15927 + Transaction ID = 17
15928 +
15929 +
15930 +
15931   ------------------------------------------------------
15932   Test Suite Ends

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines