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

Comparing ibx/trunk/testsuite/FB4reference.log (file contents):
Revision 340 by tony, Wed Jul 7 11:53:54 2021 UTC vs.
Revision 348 by tony, Wed Oct 6 09:38:14 2021 UTC

# Line 641 | Line 641 | DEPT_KEY_PATH = 000;900 (Charset = UTF8
641  
642   Rows printed = 42
643  
644 < Current memory = 19,686,512
644 > Current memory = 19,688,352
645   Delta memory = 16,384
646 < Max memory = 19,781,408
647 < Elapsed time= 0.015 sec
648 < Cpu = 0.010 sec
646 > Max memory = 19,783,248
647 > Elapsed time= 0.026 sec
648 > Cpu = 0.020 sec
649   Buffers = 2048
650   Reads = 2
651   Writes = 0
# Line 1445 | Line 1445 | DPB: Item Count = 3
1445    isc_dpb_lc_ctype = UTF8
1446  
1447   Before Disconnect
1448 < inet://localhost/employee Disconnected after 20 ms
1448 > inet://localhost/employee Disconnected after 21 ms
1449   Before Connect
1450   Connected to inet://localhost/employee
1451   DPB: Item Count = 3
# Line 1454 | Line 1454 | DPB: Item Count = 3
1454    isc_dpb_lc_ctype = UTF8
1455  
1456   Before Disconnect
1457 < inet://localhost/employee Disconnected after 4019 ms
1457 > inet://localhost/employee Disconnected after 4007 ms
1458   Idle Timer Expired for Test_Database_02
1459   Database Closed
1460   Transaction Events
# Line 1477 | Line 1477 | TPB: Item Count = 3
1477    isc_tpb_read
1478  
1479   Transaction Ending
1480 < Transaction Ended after 1 ms
1480 > Transaction Ended after 0 ms
1481   Transaction idle timer test
1482   Requested TPB: Item Count = 3
1483    isc_tpb_concurrency
# Line 1494 | Line 1494 | Transaction Ending
1494   Transaction Ended after 1999 ms
1495   Idle Timer Expired for Test_Transaction_02
1496   Before Disconnect
1497 < inet://localhost/employee Disconnected after 2038 ms
1497 > inet://localhost/employee Disconnected after 2048 ms
1498   SQL Dialect Downgrade test
1499   Before Connect
1500   Connected to inet://localhost//tmp/ibx-testsuite/testsuite1.fdb
# Line 1506 | Line 1506 | DPB: Item Count = 4
1506  
1507   inet://localhost//tmp/ibx-testsuite/testsuite1.fdb created
1508   Before Disconnect
1509 < inet://localhost//tmp/ibx-testsuite/testsuite1.fdb Disconnected after 29 ms
1509 > inet://localhost//tmp/ibx-testsuite/testsuite1.fdb Disconnected after 18 ms
1510   Before Connect
1511   Warning: SQL Dialect Downgrade of inet://localhost//tmp/ibx-testsuite/testsuite1.fdb
1512   Connected to inet://localhost//tmp/ibx-testsuite/testsuite1.fdb
# Line 1516 | Line 1516 | DPB: Item Count = 3
1516    isc_dpb_lc_ctype = UTF8
1517  
1518   Before Disconnect
1519 < inet://localhost//tmp/ibx-testsuite/testsuite1.fdb Disconnected after 76 ms
1519 > inet://localhost//tmp/ibx-testsuite/testsuite1.fdb Disconnected after 22 ms
1520  
1521  
1522   ------------------------------------------------------
# Line 1531 | Line 1531 | on disk structure version 13.0
1531   FB Version: Firebird/Linux/AMD/Intel/x64 (access method), version "LI-V4.0.0.2496 Firebird 4.0", Firebird/Linux/AMD/Intel/x64 (remote server), version "LI-V4.0.0.2496 Firebird 4.0/tcp (zeus)/P16:CZ", Firebird/Linux/AMD/Intel/x64 (remote interface), version "LI-V4.0.0.2496 Firebird 4.0/tcp (zeus)/P16:CZ", on disk structure version 13.0
1532   Firebird Library Pathname = /opt/firebird4.0.0/lib/libfbclient.so
1533   DB SQLDialect = 3
1534 < Allocation = 346
1534 > Allocation = 1075
1535   Base Level = 4
1536   DB File Name = /opt/firebird4.0.0/examples/empbuild/employee.fdb
1537   DB Site Name = zeus
# Line 1543 | Line 1543 | ODS Minor Version = 0
1543   ODS Major Version = 13
1544   Page Size = 8192
1545   Version = LI-V6.3.0.2496 Firebird 4.0
1546 < Current Memory = 19501200
1546 > Current Memory = 19503040
1547   Forced Writes Enabled
1548 < Max Memory = 19627808
1548 > Max Memory = 19629648
1549   Number of Buffers = 2048
1550   Sweep Interval = 20000
1551   User Names: SYSDBA
1552 < Fetches = 1840
1552 > Fetches = 1855
1553   Marks = 8
1554 < Reads = 99
1554 > Reads = 100
1555   Writes = 2
1556 < Pages Free = 310
1557 < Pages Used = 36
1556 > Pages Free = 313
1557 > Pages Used = 762
1558   Transaction Count = 1
1559  
1560   Read Idx Count
# Line 1565 | Line 1565 | Read Idx Count
1565    RDB$SECURITY_CLASSES = 8
1566    RDB$TYPES = 2
1567    RDB$TRIGGERS = 25
1568 <  RDB$USER_PRIVILEGES = 805
1568 >  RDB$USER_PRIVILEGES = 816
1569    RDB$GENERATORS = 5
1570    RDB$CHARACTER_SETS = 2
1571    RDB$COLLATIONS = 2
1572    RDB$ROLES = 1
1573  
1574   Read Seq Count
1575 <  RDB$PAGES = 98
1575 >  RDB$PAGES = 100
1576    RDB$DATABASE = 25
1577 <  RDB$RELATIONS = 65
1577 >  RDB$RELATIONS = 66
1578  
1579   Database is Read/Write
1580   Hex Dump of Database Page 100:
# Line 3297 | Line 3297 | SALARY = 32,000.00
3297   FULL_NAME = Guckenheimer, Mark
3298   DEPT_PATH = Corporate Headquarters / Engineering / Software Products Div. / Quality Assurance (Charset Id = 4 Codepage = 65001)
3299   DEPT_KEY_PATH = 000;600;620;622 (Charset Id = 4 Codepage = 65001)
3300 < Current memory = 19,667,232
3300 > Current memory = 19,669,072
3301   Delta memory = 16,416
3302 < Max memory = 19,762,896
3303 < Elapsed time= 0.026 sec
3304 < Cpu = 0.020 sec
3302 > Max memory = 19,764,736
3303 > Elapsed time= 0.021 sec
3304 > Cpu = 0.010 sec
3305   Buffers = 2048
3306   Reads = 2
3307   Writes = 0
# Line 4005 | Line 4005 | CREATE TABLE JOB
4005   PRIMARY KEY (JOB_CODE, JOB_GRADE, JOB_COUNTRY)
4006   );
4007  
4008 + /* Table: LOTSOFDATA, Owner: SYSDBA */
4009 +
4010 + CREATE TABLE LOTSOFDATA
4011 + (
4012 +        ROWID   INTEGER NOT NULL,
4013 +        THEDATE TIMESTAMP,
4014 +        MYTEXT  VARCHAR(1024),
4015 + PRIMARY KEY (ROWID)
4016 + );
4017 +
4018   /* Table: PROJECT, Owner: SYSDBA */
4019  
4020   CREATE TABLE PROJECT
# Line 4204 | Line 4214 | SET TERM ^ ;
4214  
4215   /* Stored procedures Definitions*/
4216  
4217 < CREATE PROCEDURE SHOW_LANGS
4217 > CREATE PROCEDURE SHOW_LANGS
4218   (
4219    CODE VARCHAR(5) CHARACTER SET NONE,
4220    GRADE SMALLINT,
# Line 4218 | Line 4228 | AS
4228   BEGIN SUSPEND; EXIT; END
4229  
4230   ^
4231 <
4222 < CREATE PROCEDURE ADD_EMP_PROJ
4231 > CREATE PROCEDURE ADD_EMP_PROJ
4232   (
4233    EMP_NO SMALLINT,
4234    PROJ_ID CHAR(5) CHARACTER SET NONE
# Line 4228 | Line 4237 | AS
4237   BEGIN EXIT; END
4238  
4239   ^
4240 <
4232 < CREATE PROCEDURE ALL_LANGS
4240 > CREATE PROCEDURE ALL_LANGS
4241   RETURNS
4242   (
4243    CODE VARCHAR(5) CHARACTER SET NONE,
# Line 4241 | Line 4249 | AS
4249   BEGIN SUSPEND; EXIT; END
4250  
4251   ^
4252 <
4245 < CREATE PROCEDURE DELETE_EMPLOYEE
4252 > CREATE PROCEDURE DELETE_EMPLOYEE
4253   (
4254    EMP_NUM INTEGER
4255   )
# Line 4250 | Line 4257 | AS
4257   BEGIN EXIT; END
4258  
4259   ^
4260 <
4254 < CREATE PROCEDURE DEPT_BUDGET
4260 > CREATE PROCEDURE DEPT_BUDGET
4261   (
4262    DNO CHAR(3) CHARACTER SET NONE
4263   )
# Line 4263 | Line 4269 | AS
4269   BEGIN SUSPEND; EXIT; END
4270  
4271   ^
4272 <
4267 < CREATE PROCEDURE GET_EMP_PROJ
4272 > CREATE PROCEDURE GET_EMP_PROJ
4273   (
4274    EMP_NO SMALLINT
4275   )
# Line 4276 | Line 4281 | AS
4281   BEGIN SUSPEND; EXIT; END
4282  
4283   ^
4284 <
4280 < CREATE PROCEDURE MAIL_LABEL
4284 > CREATE PROCEDURE MAIL_LABEL
4285   (
4286    CUST_NO INTEGER
4287   )
# Line 4294 | Line 4298 | AS
4298   BEGIN SUSPEND; EXIT; END
4299  
4300   ^
4301 <
4298 < CREATE PROCEDURE ORG_CHART
4301 > CREATE PROCEDURE ORG_CHART
4302   RETURNS
4303   (
4304    HEAD_DEPT CHAR(25) CHARACTER SET NONE,
# Line 4308 | Line 4311 | AS
4311   BEGIN SUSPEND; EXIT; END
4312  
4313   ^
4314 <
4312 < CREATE PROCEDURE SHIP_ORDER
4314 > CREATE PROCEDURE SHIP_ORDER
4315   (
4316    PO_NUM CHAR(8) CHARACTER SET NONE
4317   )
# Line 4317 | Line 4319 | AS
4319   BEGIN EXIT; END
4320  
4321   ^
4322 <
4321 < CREATE PROCEDURE SUB_TOT_BUDGET
4322 > CREATE PROCEDURE SUB_TOT_BUDGET
4323   (
4324    HEAD_DEPT CHAR(3) CHARACTER SET NONE
4325   )
# Line 4333 | Line 4334 | AS
4334   BEGIN SUSPEND; EXIT; END
4335  
4336   ^
4336
4337   SET TERM ; ^
4338   COMMIT WORK;
4339   SET AUTODDL ON;
# Line 4389 | Line 4389 | SET TERM ^ ;
4389   /* Stored procedure Bodies */
4390  
4391  
4392 < ALTER PROCEDURE SHOW_LANGS
4392 > ALTER PROCEDURE SHOW_LANGS
4393   (
4394    CODE VARCHAR(5) CHARACTER SET NONE,
4395    GRADE SMALLINT,
# Line 4415 | Line 4415 | BEGIN
4415      SUSPEND;
4416    END
4417   END
4418 < ^
4419 <
4418 > ^
4419  
4420 < ALTER PROCEDURE ADD_EMP_PROJ
4420 > ALTER PROCEDURE ADD_EMP_PROJ
4421   (
4422    EMP_NO SMALLINT,
4423    PROJ_ID CHAR(5) CHARACTER SET NONE
# Line 4431 | Line 4430 | BEGIN
4430                  EXCEPTION unknown_emp_id;
4431          END
4432   END
4433 < ^
4435 <
4433 > ^
4434  
4435 < ALTER PROCEDURE ALL_LANGS
4435 > ALTER PROCEDURE ALL_LANGS
4436   RETURNS
4437   (
4438    CODE VARCHAR(5) CHARACTER SET NONE,
# Line 4460 | Line 4458 | BEGIN
4458              SUSPEND;
4459          END
4460      END
4461 < ^
4464 <
4461 > ^
4462  
4463 < ALTER PROCEDURE DELETE_EMPLOYEE
4463 > ALTER PROCEDURE DELETE_EMPLOYEE
4464   (
4465    EMP_NUM INTEGER
4466   )
# Line 4519 | Line 4516 | BEGIN
4516          DELETE FROM employee
4517          WHERE emp_no = :emp_num;
4518   END
4519 < ^
4523 <
4519 > ^
4520  
4521 < ALTER PROCEDURE DEPT_BUDGET
4521 > ALTER PROCEDURE DEPT_BUDGET
4522   (
4523    DNO CHAR(3) CHARACTER SET NONE
4524   )
# Line 4556 | Line 4552 | BEGIN
4552  
4553          SUSPEND;
4554   END
4555 < ^
4560 <
4555 > ^
4556  
4557 < ALTER PROCEDURE GET_EMP_PROJ
4557 > ALTER PROCEDURE GET_EMP_PROJ
4558   (
4559    EMP_NO SMALLINT
4560   )
# Line 4576 | Line 4571 | BEGIN
4571          DO
4572                  SUSPEND;
4573   END
4574 < ^
4580 <
4574 > ^
4575  
4576 < ALTER PROCEDURE MAIL_LABEL
4576 > ALTER PROCEDURE MAIL_LABEL
4577   (
4578    CUST_NO INTEGER
4579   )
# Line 4647 | Line 4641 | BEGIN
4641  
4642          SUSPEND;
4643   END
4644 < ^
4651 <
4644 > ^
4645  
4646 < ALTER PROCEDURE ORG_CHART
4646 > ALTER PROCEDURE ORG_CHART
4647   RETURNS
4648   (
4649    HEAD_DEPT CHAR(25) CHARACTER SET NONE,
# Line 4690 | Line 4683 | BEGIN
4683                  SUSPEND;
4684          END
4685   END
4686 < ^
4694 <
4686 > ^
4687  
4688 < ALTER PROCEDURE SHIP_ORDER
4688 > ALTER PROCEDURE SHIP_ORDER
4689   (
4690    PO_NUM CHAR(8) CHARACTER SET NONE
4691   )
# Line 4744 | Line 4736 | BEGIN
4736          SET order_status = 'shipped', ship_date = 'NOW'
4737          WHERE po_number = :po_num;
4738   END
4739 < ^
4748 <
4739 > ^
4740  
4741 < ALTER PROCEDURE SUB_TOT_BUDGET
4741 > ALTER PROCEDURE SUB_TOT_BUDGET
4742   (
4743    HEAD_DEPT CHAR(3) CHARACTER SET NONE
4744   )
# Line 4766 | Line 4757 | BEGIN
4757                  INTO :tot_budget, :avg_budget, :min_budget, :max_budget;
4758          SUSPEND;
4759   END
4760 < ^
4770 <
4760 > ^
4761   SET TERM ; ^
4762   COMMIT WORK;
4763   SET AUTODDL ON;
# Line 5796 | Line 5786 | CREATE VIEW DEPTLIST (
5786    SALARY,
5787    FULL_NAME,
5788    DEPT_PATH,
5789 <  DEPT_KEY_PATH
5789 >  DEPT_KEY_PATH,
5790 >  "Payment Status"
5791   ) AS
5792   with recursive Depts As (
5793   Select DEPT_NO, DEPARTMENT, HEAD_DEPT, cast(DEPARTMENT  as VarChar(256)) as DEPT_PATH,
# Line 5810 | Line 5801 | JOIN Depts On D.HEAD_DEPT = Depts.DEPT_N
5801   )
5802  
5803   Select distinct A.EMP_NO, A.FIRST_NAME, A.LAST_NAME, A.PHONE_EXT, A.HIRE_DATE, A.DEPT_NO, A.JOB_CODE,
5804 < A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, D.DEPT_PATH, D.DEPT_KEY_PATH
5804 > A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, D.DEPT_PATH, D.DEPT_KEY_PATH,
5805 > CASE When A.SALARY > 10000 then 'higher paid' else 'lower paid' End
5806   From EMPLOYEE A
5807   JOIN Depts D On D.DEPT_NO = A.DEPT_NO
5808   ;
# Line 5940 | Line 5932 | begin
5932  
5933          procedure get_lines returns (lines fb$out_type);
5934   end
5935 < ^
5935 > ^
5936  
5937   CREATE PACKAGE SELECT$TEST                                                    
5938   AS
# Line 5948 | Line 5940 | AS
5940   Begin
5941    Procedure ShowItems(IPARAM Integer) RETURNS (OutParam integer);
5942   End
5943 < ^
5943 > ^
5944  
5945 < SET TERM ; ^
5945 > SET TERM ;^
5946   COMMIT WORK;
5947   SET AUTODDL ON;
5948   COMMIT WORK;
# Line 6019 | Line 6011 | BEGIN SUSPEND; EXIT; END
6011  
6012   ^
6013  
6014 + CREATE PROCEDURE EMPLOYEE_PAY_STATUS
6015 + (
6016 +  EMP_NO SMALLINT
6017 + )
6018 + RETURNS
6019 + (
6020 +  PAY_STATUS VARCHAR(6) CHARACTER SET NONE
6021 + )
6022 + AS
6023 + BEGIN EXIT; END
6024 +
6025 + ^
6026 +
6027 +
6028   CREATE PROCEDURE GET_EMP_PROJ
6029   (
6030    EMP_NO SMALLINT
# Line 6113 | Line 6119 | BEGIN EXIT; END
6119  
6120   ^
6121  
6122 < SET TERM ; ^
6122 > SET TERM ;^
6123   COMMIT WORK;
6124   SET AUTODDL ON;
6125   COMMIT WORK;
# Line 6129 | Line 6135 | CREATE FUNCTION F (X INTEGER)
6135   ^
6136  
6137  
6138 < SET TERM ; ^
6138 > SET TERM ;^
6139   COMMIT WORK;
6140   SET AUTODDL ON;
6141   SET TERM ^ ;
# Line 6142 | Line 6148 | ACTIVE ON CONNECT POSITION 0
6148   as
6149   begin
6150   End
6151 < ^
6151 > ^
6152   CREATE TRIGGER "BEFORE CREATE TABLE"
6153   ACTIVE BEFORE CREATE TABLE POSITION 0
6154   AS BEGIN END
6155 < ^
6155 > ^
6156   CREATE TRIGGER "AFTER CREATE TABLE"
6157   ACTIVE AFTER CREATE TABLE POSITION 0
6158   AS BEGIN END
6159 < ^
6159 > ^
6160   CREATE TRIGGER "BEFORE ALTER TABLE"
6161   ACTIVE BEFORE ALTER TABLE POSITION 0
6162   AS BEGIN END
6163 < ^
6163 > ^
6164   CREATE TRIGGER "AFTER ALTER TABLE"
6165   ACTIVE AFTER ALTER TABLE POSITION 0
6166   AS BEGIN END
6167 < ^
6167 > ^
6168   CREATE TRIGGER "AFTER CREATE/Alter TABLE"
6169   ACTIVE AFTER CREATE TABLE OR ALTER TABLE POSITION 0
6170   AS BEGIN END
6171 < ^
6171 > ^
6172   CREATE TRIGGER "BEFORE DROP TABLE"
6173   ACTIVE BEFORE Drop TABLE POSITION 0
6174   AS BEGIN END
6175 < ^
6175 > ^
6176   CREATE TRIGGER "AFTER DROP TABLE"
6177   ACTIVE AFTER Drop TABLE POSITION 0
6178   AS BEGIN END
6179 < ^
6179 > ^
6180   CREATE TRIGGER "BEFORE CREATE PROCEDURE"
6181   ACTIVE BEFORE CREATE PROCEDURE POSITION 0
6182   AS BEGIN END
6183 < ^
6183 > ^
6184   CREATE TRIGGER "AFTER CREATE PROCEDURE"
6185   ACTIVE AFTER CREATE PROCEDURE POSITION 0
6186   AS BEGIN END
6187 < ^
6187 > ^
6188   CREATE TRIGGER "BEFORE ALTER PROCEDURE"
6189   ACTIVE BEFORE ALTER PROCEDURE POSITION 0
6190   AS BEGIN END
6191 < ^
6191 > ^
6192   CREATE TRIGGER "AFTER ALTER PROCEDURE"
6193   ACTIVE AFTER ALTER PROCEDURE POSITION 0
6194   AS BEGIN END
6195 < ^
6195 > ^
6196   CREATE TRIGGER "BEFORE DROP PROCEDURE"
6197   ACTIVE BEFORE Drop PROCEDURE POSITION 0
6198   AS BEGIN END
6199 < ^
6199 > ^
6200   CREATE TRIGGER "AFTER DROP PROCEDURE"
6201   ACTIVE AFTER Drop PROCEDURE POSITION 0
6202   AS BEGIN END
6203 < ^
6203 > ^
6204   CREATE TRIGGER "BEFORE CREATE FUNCTION"
6205   ACTIVE BEFORE CREATE FUNCTION POSITION 0
6206   AS BEGIN END
6207 < ^
6207 > ^
6208   CREATE TRIGGER "AFTER CREATE FUNCTION"
6209   ACTIVE AFTER CREATE FUNCTION POSITION 0
6210   AS BEGIN END
6211 < ^
6211 > ^
6212   CREATE TRIGGER "BEFORE ALTER FUNCTION"
6213   ACTIVE BEFORE ALTER FUNCTION POSITION 0
6214   AS BEGIN END
6215 < ^
6215 > ^
6216   CREATE TRIGGER "AFTER ALTER FUNCTION"
6217   ACTIVE AFTER ALTER FUNCTION POSITION 0
6218   AS BEGIN END
6219 < ^
6219 > ^
6220   CREATE TRIGGER "BEFORE DROP FUNCTION"
6221   ACTIVE BEFORE Drop FUNCTION POSITION 0
6222   AS BEGIN END
6223 < ^
6223 > ^
6224   CREATE TRIGGER "AFTER DROP FUNCTION"
6225   ACTIVE AFTER Drop FUNCTION POSITION 0
6226   AS BEGIN END
6227 < ^
6227 > ^
6228   CREATE TRIGGER "BEFORE CREATE TRIGGER"
6229   ACTIVE BEFORE CREATE TRIGGER POSITION 0
6230   AS BEGIN END
6231 < ^
6231 > ^
6232   CREATE TRIGGER "AFTER CREATE TRIGGER"
6233   ACTIVE AFTER CREATE TRIGGER POSITION 0
6234   AS BEGIN END
6235 < ^
6235 > ^
6236   CREATE TRIGGER "BEFORE ALTER TRIGGER"
6237   ACTIVE BEFORE ALTER TRIGGER POSITION 0
6238   AS BEGIN END
6239 < ^
6239 > ^
6240   CREATE TRIGGER "AFTER ALTER TRIGGER"
6241   ACTIVE AFTER ALTER TRIGGER POSITION 0
6242   AS BEGIN END
6243 < ^
6243 > ^
6244   CREATE TRIGGER "BEFORE DROP TRIGGER"
6245   ACTIVE BEFORE Drop TRIGGER POSITION 0
6246   AS BEGIN END
6247 < ^
6247 > ^
6248   CREATE TRIGGER "AFTER DROP TRIGGER"
6249   ACTIVE AFTER Drop TRIGGER POSITION 0
6250   AS BEGIN END
6251 < ^
6251 > ^
6252   CREATE TRIGGER "BEFORE CREATE EXCEPTION"
6253   ACTIVE BEFORE CREATE EXCEPTION POSITION 0
6254   AS BEGIN END
6255 < ^
6255 > ^
6256   CREATE TRIGGER "AFTER CREATE EXCEPTION"
6257   ACTIVE AFTER CREATE EXCEPTION POSITION 0
6258   AS BEGIN END
6259 < ^
6259 > ^
6260   CREATE TRIGGER "BEFORE ALTER EXCEPTION"
6261   ACTIVE BEFORE ALTER EXCEPTION POSITION 0
6262   AS BEGIN END
6263 < ^
6263 > ^
6264   CREATE TRIGGER "AFTER ALTER EXCEPTION"
6265   ACTIVE AFTER ALTER EXCEPTION POSITION 0
6266   AS BEGIN END
6267 < ^
6267 > ^
6268   CREATE TRIGGER "BEFORE DROP EXCEPTION"
6269   ACTIVE BEFORE Drop EXCEPTION POSITION 0
6270   AS BEGIN END
6271 < ^
6271 > ^
6272   CREATE TRIGGER "AFTER DROP EXCEPTION"
6273   ACTIVE AFTER Drop EXCEPTION POSITION 0
6274   AS BEGIN END
6275 < ^
6275 > ^
6276   CREATE TRIGGER "BEFORE CREATE VIEW"
6277   ACTIVE BEFORE CREATE VIEW POSITION 0
6278   AS BEGIN END
6279 < ^
6279 > ^
6280   CREATE TRIGGER "AFTER CREATE VIEW"
6281   ACTIVE AFTER CREATE VIEW POSITION 0
6282   AS BEGIN END
6283 < ^
6283 > ^
6284   CREATE TRIGGER "BEFORE ALTER VIEW"
6285   ACTIVE BEFORE ALTER VIEW POSITION 0
6286   AS BEGIN END
6287 < ^
6287 > ^
6288   CREATE TRIGGER "AFTER ALTER VIEW"
6289   ACTIVE AFTER ALTER VIEW POSITION 0
6290   AS BEGIN END
6291 < ^
6291 > ^
6292   CREATE TRIGGER "BEFORE DROP VIEW"
6293   ACTIVE BEFORE Drop VIEW POSITION 0
6294   AS BEGIN END
6295 < ^
6295 > ^
6296   CREATE TRIGGER "AFTER DROP VIEW"
6297   ACTIVE AFTER Drop VIEW POSITION 0
6298   AS BEGIN END
6299 < ^
6299 > ^
6300   CREATE TRIGGER "BEFORE CREATE DOMAIN"
6301   ACTIVE BEFORE CREATE DOMAIN POSITION 0
6302   AS BEGIN END
6303 < ^
6303 > ^
6304   CREATE TRIGGER "AFTER CREATE DOMAIN"
6305   ACTIVE AFTER CREATE DOMAIN POSITION 0
6306   AS BEGIN END
6307 < ^
6307 > ^
6308   CREATE TRIGGER "BEFORE ALTER DOMAIN"
6309   ACTIVE BEFORE ALTER DOMAIN POSITION 0
6310   AS BEGIN END
6311 < ^
6311 > ^
6312   CREATE TRIGGER "AFTER ALTER DOMAIN"
6313   ACTIVE AFTER ALTER DOMAIN POSITION 0
6314   AS BEGIN END
6315 < ^
6315 > ^
6316   CREATE TRIGGER "BEFORE DROP DOMAIN"
6317   ACTIVE BEFORE Drop DOMAIN POSITION 0
6318   AS BEGIN END
6319 < ^
6319 > ^
6320   CREATE TRIGGER "AFTER DROP DOMAIN"
6321   ACTIVE AFTER Drop DOMAIN POSITION 0
6322   AS BEGIN END
6323 < ^
6323 > ^
6324   CREATE TRIGGER "BEFORE CREATE ROLE"
6325   ACTIVE BEFORE CREATE ROLE POSITION 0
6326   AS BEGIN END
6327 < ^
6327 > ^
6328   CREATE TRIGGER "AFTER CREATE ROLE"
6329   ACTIVE AFTER CREATE ROLE POSITION 0
6330   AS BEGIN END
6331 < ^
6331 > ^
6332   CREATE TRIGGER "BEFORE ALTER ROLE"
6333   ACTIVE BEFORE ALTER ROLE POSITION 0
6334   AS BEGIN END
6335 < ^
6335 > ^
6336   CREATE TRIGGER "AFTER ALTER ROLE"
6337   ACTIVE AFTER ALTER ROLE POSITION 0
6338   AS BEGIN END
6339 < ^
6339 > ^
6340   CREATE TRIGGER "BEFORE DROP ROLE"
6341   ACTIVE BEFORE Drop ROLE POSITION 0
6342   AS BEGIN END
6343 < ^
6343 > ^
6344   CREATE TRIGGER "AFTER DROP ROLE"
6345   ACTIVE AFTER Drop ROLE POSITION 0
6346   AS BEGIN END
6347 < ^
6347 > ^
6348   CREATE TRIGGER "BEFORE CREATE INDEX"
6349   ACTIVE BEFORE CREATE INDEX POSITION 0
6350   AS BEGIN END
6351 < ^
6351 > ^
6352   CREATE TRIGGER "AFTER CREATE INDEX"
6353   ACTIVE AFTER CREATE INDEX POSITION 0
6354   AS BEGIN END
6355 < ^
6355 > ^
6356   CREATE TRIGGER "BEFORE ALTER INDEX"
6357   ACTIVE BEFORE ALTER INDEX POSITION 0
6358   AS BEGIN END
6359 < ^
6359 > ^
6360   CREATE TRIGGER "AFTER ALTER INDEX"
6361   ACTIVE AFTER ALTER INDEX POSITION 0
6362   AS BEGIN END
6363 < ^
6363 > ^
6364   CREATE TRIGGER "BEFORE DROP INDEX"
6365   ACTIVE BEFORE Drop INDEX POSITION 0
6366   AS BEGIN END
6367 < ^
6367 > ^
6368   CREATE TRIGGER "AFTER DROP INDEX"
6369   ACTIVE AFTER Drop INDEX POSITION 0
6370   AS BEGIN END
6371 < ^
6371 > ^
6372   CREATE TRIGGER "BEFORE CREATE SEQUENCE"
6373   ACTIVE BEFORE CREATE SEQUENCE POSITION 0
6374   AS BEGIN END
6375 < ^
6375 > ^
6376   CREATE TRIGGER "AFTER CREATE SEQUENCE"
6377   ACTIVE AFTER CREATE SEQUENCE POSITION 0
6378   AS BEGIN END
6379 < ^
6379 > ^
6380   CREATE TRIGGER "BEFORE ALTER SEQUENCE"
6381   ACTIVE BEFORE ALTER SEQUENCE POSITION 0
6382   AS BEGIN END
6383 < ^
6383 > ^
6384   CREATE TRIGGER "AFTER ALTER SEQUENCE"
6385   ACTIVE AFTER ALTER SEQUENCE POSITION 0
6386   AS BEGIN END
6387 < ^
6387 > ^
6388   CREATE TRIGGER "BEFORE DROP SEQUENCE"
6389   ACTIVE BEFORE Drop SEQUENCE POSITION 0
6390   AS BEGIN END
6391 < ^
6391 > ^
6392   CREATE TRIGGER "AFTER DROP SEQUENCE"
6393   ACTIVE AFTER Drop SEQUENCE POSITION 0
6394   AS BEGIN END
6395 < ^
6395 > ^
6396   CREATE TRIGGER "BEFORE CREATE USER"
6397   ACTIVE BEFORE CREATE USER POSITION 0
6398   AS BEGIN END
6399 < ^
6399 > ^
6400   CREATE TRIGGER "AFTER CREATE USER"
6401   ACTIVE AFTER CREATE USER POSITION 0
6402   AS BEGIN END
6403 < ^
6403 > ^
6404   CREATE TRIGGER "BEFORE ALTER USER"
6405   ACTIVE BEFORE ALTER USER POSITION 0
6406   AS BEGIN END
6407 < ^
6407 > ^
6408   CREATE TRIGGER "AFTER ALTER USER"
6409   ACTIVE AFTER ALTER USER POSITION 0
6410   AS BEGIN END
6411 < ^
6411 > ^
6412   CREATE TRIGGER "BEFORE DROP USER"
6413   ACTIVE BEFORE Drop USER POSITION 0
6414   AS BEGIN END
6415 < ^
6415 > ^
6416   CREATE TRIGGER "AFTER DROP USER"
6417   ACTIVE AFTER Drop USER POSITION 0
6418   AS BEGIN END
6419 < ^
6419 > ^
6420   CREATE TRIGGER "BEFORE CREATE COLLATION"
6421   ACTIVE BEFORE CREATE COLLATION POSITION 0
6422   AS BEGIN END
6423 < ^
6423 > ^
6424   CREATE TRIGGER "AFTER CREATE COLLATION"
6425   ACTIVE AFTER CREATE COLLATION POSITION 0
6426   AS BEGIN END
6427 < ^
6427 > ^
6428   CREATE TRIGGER "BEFORE DROP COLLATION"
6429   ACTIVE BEFORE Drop COLLATION POSITION 0
6430   AS BEGIN END
6431 < ^
6431 > ^
6432   CREATE TRIGGER "AFTER DROP COLLATION"
6433   ACTIVE AFTER Drop COLLATION POSITION 0
6434   AS BEGIN END
6435 < ^
6435 > ^
6436   CREATE TRIGGER "BEFORE ALTER CHARACTER SET"
6437   ACTIVE BEFORE ALTER CHARACTER SET POSITION 0
6438   AS BEGIN END
6439 < ^
6439 > ^
6440   CREATE TRIGGER "AFTER ALTER CHARACTER SET"
6441   ACTIVE AFTER ALTER CHARACTER SET POSITION 0
6442   AS BEGIN END
6443 < ^
6443 > ^
6444   CREATE TRIGGER "BEFORE CREATE PACKAGE"
6445   ACTIVE BEFORE CREATE PACKAGE POSITION 0
6446   AS BEGIN END
6447 < ^
6447 > ^
6448   CREATE TRIGGER "AFTER CREATE PACKAGE"
6449   ACTIVE AFTER CREATE PACKAGE POSITION 0
6450   AS BEGIN END
6451 < ^
6451 > ^
6452   CREATE TRIGGER "BEFORE ALTER PACKAGE"
6453   ACTIVE BEFORE ALTER PACKAGE POSITION 0
6454   AS BEGIN END
6455 < ^
6455 > ^
6456   CREATE TRIGGER "AFTER ALTER PACKAGE"
6457   ACTIVE AFTER ALTER PACKAGE POSITION 0
6458   AS BEGIN END
6459 < ^
6459 > ^
6460   CREATE TRIGGER "BEFORE DROP PACKAGE"
6461   ACTIVE BEFORE Drop PACKAGE POSITION 0
6462   AS BEGIN END
6463 < ^
6463 > ^
6464   CREATE TRIGGER "AFTER DROP PACKAGE"
6465   ACTIVE AFTER Drop PACKAGE POSITION 0
6466   AS BEGIN END
6467 < ^
6467 > ^
6468   CREATE TRIGGER "BEFORE CREATE PACKAGE BODY"
6469   ACTIVE BEFORE CREATE PACKAGE BODY POSITION 0
6470   AS BEGIN END
6471 < ^
6471 > ^
6472   CREATE TRIGGER "AFTER CREATE PACKAGE BODY"
6473   ACTIVE AFTER CREATE PACKAGE BODY POSITION 0
6474   AS BEGIN END
6475 < ^
6475 > ^
6476   CREATE TRIGGER "BEFORE DROP PACKAGE BODY"
6477   ACTIVE BEFORE Drop PACKAGE BODY POSITION 0
6478   AS BEGIN END
6479 < ^
6479 > ^
6480   CREATE TRIGGER "AFTER DROP PACKAGE BODY"
6481   ACTIVE AFTER Drop PACKAGE BODY POSITION 0
6482   AS BEGIN END
6483 < ^
6483 > ^
6484   CREATE TRIGGER "BEFORE ANY DDL STATEMENT"
6485   ACTIVE BEFORE ANY DDL STATEMENT POSITION 0
6486   AS BEGIN END
6487 < ^
6487 > ^
6488   CREATE TRIGGER "AFTER ANY DDL STATEMENT"
6489   ACTIVE AFTER ANY DDL STATEMENT POSITION 0
6490   AS BEGIN END
6491 < ^
6491 > ^
6492   CREATE TRIGGER SET_CUST_NO FOR CUSTOMER
6493   ACTIVE BEFORE INSERT POSITION 0
6494   AS
# Line 6490 | Line 6496 | BEGIN
6496      if (new.cust_no is null) then
6497      new.cust_no = gen_id(cust_no_gen, 1);
6498   END
6499 < ^
6499 > ^
6500   CREATE TRIGGER SET_EMP_NO FOR EMPLOYEE
6501   ACTIVE BEFORE INSERT POSITION 0
6502   AS
# Line 6498 | Line 6504 | BEGIN
6504      if (new.emp_no is null) then
6505      new.emp_no = gen_id(emp_no_gen, 1);
6506   END
6507 < ^
6507 > ^
6508   CREATE TRIGGER SAVE_SALARY_CHANGE FOR EMPLOYEE
6509   ACTIVE AFTER UPDATE POSITION 0
6510   AS
# Line 6513 | Line 6519 | BEGIN
6519              old.salary,
6520              (new.salary - old.salary) * 100 / old.salary);
6521   END
6522 < ^
6522 > ^
6523   CREATE TRIGGER POST_NEW_ORDER FOR SALES
6524   ACTIVE AFTER INSERT POSITION 0
6525   AS
6526   BEGIN
6527      POST_EVENT 'new_order';
6528   END
6529 < ^
6530 < COMMIT WORK ^
6529 > ^
6530 > COMMIT WORK^
6531   SET TERM ;^
6532   COMMIT WORK;
6533   SET AUTODDL OFF;
# Line 6586 | Line 6592 | begin
6592                  execute procedure clear;
6593          end
6594   end
6595 < ^
6595 > ^
6596  
6597   CREATE PACKAGE BODY SELECT$TEST                                                    
6598   AS
# Line 6598 | Line 6604 | Begin
6604      SUSPEND;
6605    End
6606   End
6607 < ^
6607 > ^
6608  
6609 < SET TERM ; ^
6609 > SET TERM ;^
6610   COMMIT WORK;
6611   SET AUTODDL ON;
6612   COMMIT WORK;
# Line 6636 | Line 6642 | BEGIN
6642      SUSPEND;
6643    END
6644   END
6645 < ^
6645 > ^
6646  
6647  
6648   ALTER PROCEDURE ADD_EMP_PROJ
# Line 6652 | Line 6658 | BEGIN
6658                  EXCEPTION unknown_emp_id;
6659          END
6660   END
6661 < ^
6656 <
6661 > ^
6662  
6663   ALTER PROCEDURE ALL_LANGS
6664   RETURNS
# Line 6681 | Line 6686 | BEGIN
6686              SUSPEND;
6687          END
6688      END
6689 < ^
6689 > ^
6690  
6691  
6692   ALTER PROCEDURE DELETE_EMPLOYEE
# Line 6695 | Line 6700 | BEGIN
6700  
6701          /*
6702           *      If there are any sales records referencing this employee,
6703 <         *      can't delete the employee until the sales are re-assigned
6703 >         *      cannot delete the employee until the sales are re-assigned
6704           *      to another employee or changed to NULL.
6705           */
6706          SELECT count(po_number)
# Line 6741 | Line 6746 | BEGIN
6746          WHERE emp_no = :emp_num;
6747  
6748   END
6749 < ^
6749 > ^
6750  
6751  
6752   ALTER PROCEDURE DEPT_BUDGET
# Line 6778 | Line 6783 | BEGIN
6783  
6784          SUSPEND;
6785   END
6786 < ^
6786 > ^
6787  
6788 + ALTER PROCEDURE EMPLOYEE_PAY_STATUS
6789 + (
6790 +  EMP_NUM SMALLINT
6791 + )
6792 + RETURNS
6793 + (
6794 +  PAY_STATUS VARCHAR(6) CHARACTER SET NONE,
6795 +  SALARY NUMERIC(10,2)
6796 + )
6797 + AS
6798 + BEGIN
6799 +  Select SALARY, Case
6800 +   When SALARY > 10000 and SALARY <= 100000 then 'higher'
6801 +   When SALARY > 100000 then 'gross'
6802 +   else 'lower' End
6803 +  From employee
6804 +    WHERE emp_no = :EMP_NUM
6805 +   into :SALARY, :PAY_STATUS;
6806 + END
6807 + ^
6808  
6809   ALTER PROCEDURE GET_EMP_PROJ
6810   (
# Line 6798 | Line 6823 | BEGIN
6823          DO
6824                  SUSPEND;
6825   END
6826 < ^
6826 > ^
6827  
6828  
6829   ALTER PROCEDURE "Has Space"
# Line 6807 | Line 6832 | ALTER PROCEDURE "Has Space"
6832   )
6833   AS
6834   Begin End
6835 < ^
6835 > ^
6836  
6837  
6838   ALTER PROCEDURE MAIL_LABEL
# Line 6878 | Line 6903 | BEGIN
6903  
6904          SUSPEND;
6905   END
6906 < ^
6906 > ^
6907  
6908  
6909   ALTER PROCEDURE ORG_CHART
# Line 6921 | Line 6946 | BEGIN
6946                  SUSPEND;
6947          END
6948   END
6949 < ^
6949 > ^
6950  
6951  
6952   ALTER PROCEDURE SHIP_ORDER
# Line 6981 | Line 7006 | BEGIN
7006          WHERE po_number = :po_num;
7007  
7008   END
7009 < ^
7009 > ^
7010  
7011  
7012   ALTER PROCEDURE SUB_TOT_BUDGET
# Line 7003 | Line 7028 | BEGIN
7028                  INTO :tot_budget, :avg_budget, :min_budget, :max_budget;
7029          SUSPEND;
7030   END
7031 < ^
7031 > ^
7032  
7033  
7034   ALTER PROCEDURE "UC SPACE"
# Line 7012 | Line 7037 | ALTER PROCEDURE "UC SPACE"
7037   )
7038   AS
7039   Begin End
7040 < ^
7040 > ^
7041  
7042  
7043   ALTER PROCEDURE "iCASE"
7044   AS
7045   Begin End
7046 < ^
7046 > ^
7047  
7048 < SET TERM ; ^
7048 > SET TERM ;^
7049   COMMIT WORK;
7050   SET AUTODDL ON;
7051   COMMIT WORK;
# Line 7038 | Line 7063 | END
7063   ^
7064  
7065  
7066 < SET TERM ; ^
7066 > SET TERM ;^
7067   COMMIT WORK;
7068   SET AUTODDL ON;
7069  
# Line 8093 | Line 8118 | CREATE VIEW DEPTLIST (
8118    SALARY,
8119    FULL_NAME,
8120    DEPT_PATH,
8121 <  DEPT_KEY_PATH
8121 >  DEPT_KEY_PATH,
8122 >  "Payment Status"
8123   ) AS
8124   with recursive Depts As (
8125   Select DEPT_NO, DEPARTMENT, HEAD_DEPT, cast(DEPARTMENT  as VarChar(256)) as DEPT_PATH,
# Line 8107 | Line 8133 | JOIN Depts On D.HEAD_DEPT = Depts.DEPT_N
8133   )
8134  
8135   Select distinct A.EMP_NO, A.FIRST_NAME, A.LAST_NAME, A.PHONE_EXT, A.HIRE_DATE, A.DEPT_NO, A.JOB_CODE,
8136 < A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, D.DEPT_PATH, D.DEPT_KEY_PATH
8136 > A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, D.DEPT_PATH, D.DEPT_KEY_PATH,
8137 > CASE When A.SALARY > 10000 then 'higher paid' else 'lower paid' End
8138   From EMPLOYEE A
8139   JOIN Depts D On D.DEPT_NO = A.DEPT_NO
8140   ;
# Line 8256 | Line 8283 | SET TERM ^ ;
8283  
8284   /* Stored procedures Definitions*/
8285  
8286 < CREATE PROCEDURE SHOW_LANGS
8286 > CREATE PROCEDURE SHOW_LANGS
8287   (
8288    CODE VARCHAR(5) CHARACTER SET NONE,
8289    GRADE SMALLINT,
# Line 8270 | Line 8297 | AS
8297   BEGIN SUSPEND; EXIT; END
8298  
8299   ^
8300 <
8274 < CREATE PROCEDURE ADD_EMP_PROJ
8300 > CREATE PROCEDURE ADD_EMP_PROJ
8301   (
8302    EMP_NO SMALLINT,
8303    PROJ_ID CHAR(5) CHARACTER SET NONE
# Line 8280 | Line 8306 | AS
8306   BEGIN EXIT; END
8307  
8308   ^
8309 <
8284 < CREATE PROCEDURE ALL_LANGS
8309 > CREATE PROCEDURE ALL_LANGS
8310   RETURNS
8311   (
8312    CODE VARCHAR(5) CHARACTER SET NONE,
# Line 8293 | Line 8318 | AS
8318   BEGIN SUSPEND; EXIT; END
8319  
8320   ^
8321 <
8297 < CREATE PROCEDURE DELETE_EMPLOYEE
8321 > CREATE PROCEDURE DELETE_EMPLOYEE
8322   (
8323    EMP_NUM INTEGER
8324   )
# Line 8302 | Line 8326 | AS
8326   BEGIN EXIT; END
8327  
8328   ^
8329 <
8306 < CREATE PROCEDURE DEPT_BUDGET
8329 > CREATE PROCEDURE DEPT_BUDGET
8330   (
8331    DNO CHAR(3) CHARACTER SET NONE
8332   )
# Line 8315 | Line 8338 | AS
8338   BEGIN SUSPEND; EXIT; END
8339  
8340   ^
8341 + CREATE PROCEDURE EMPLOYEE_PAY_STATUS
8342 + (
8343 +  EMP_NUM SMALLINT
8344 + )
8345 + RETURNS
8346 + (
8347 +  PAY_STATUS VARCHAR(6) CHARACTER SET NONE,
8348 +  SALARY NUMERIC(10, 2)
8349 + )
8350 + AS
8351 + BEGIN EXIT; END
8352  
8353 < CREATE PROCEDURE GET_EMP_PROJ
8353 > ^
8354 > CREATE PROCEDURE GET_EMP_PROJ
8355   (
8356    EMP_NO SMALLINT
8357   )
# Line 8328 | Line 8363 | AS
8363   BEGIN SUSPEND; EXIT; END
8364  
8365   ^
8366 <
8332 < CREATE PROCEDURE "Has Space"
8366 > CREATE PROCEDURE "Has Space"
8367   (
8368    ARG1 INTEGER
8369   )
# Line 8337 | Line 8371 | AS
8371   BEGIN EXIT; END
8372  
8373   ^
8374 <
8341 < CREATE PROCEDURE MAIL_LABEL
8374 > CREATE PROCEDURE MAIL_LABEL
8375   (
8376    CUST_NO INTEGER
8377   )
# Line 8355 | Line 8388 | AS
8388   BEGIN SUSPEND; EXIT; END
8389  
8390   ^
8391 <
8359 < CREATE PROCEDURE ORG_CHART
8391 > CREATE PROCEDURE ORG_CHART
8392   RETURNS
8393   (
8394    HEAD_DEPT CHAR(25) CHARACTER SET NONE,
# Line 8369 | Line 8401 | AS
8401   BEGIN SUSPEND; EXIT; END
8402  
8403   ^
8404 <
8373 < CREATE PROCEDURE SHIP_ORDER
8404 > CREATE PROCEDURE SHIP_ORDER
8405   (
8406    PO_NUM CHAR(8) CHARACTER SET NONE
8407   )
# Line 8378 | Line 8409 | AS
8409   BEGIN EXIT; END
8410  
8411   ^
8412 <
8382 < CREATE PROCEDURE SUB_TOT_BUDGET
8412 > CREATE PROCEDURE SUB_TOT_BUDGET
8413   (
8414    HEAD_DEPT CHAR(3) CHARACTER SET NONE
8415   )
# Line 8394 | Line 8424 | AS
8424   BEGIN SUSPEND; EXIT; END
8425  
8426   ^
8427 <
8398 < CREATE PROCEDURE "UC SPACE"
8427 > CREATE PROCEDURE "UC SPACE"
8428   (
8429    ARG1 INTEGER
8430   )
# Line 8403 | Line 8432 | AS
8432   BEGIN EXIT; END
8433  
8434   ^
8435 <
8407 < CREATE PROCEDURE "iCASE"
8435 > CREATE PROCEDURE "iCASE"
8436   AS
8437   BEGIN EXIT; END
8438  
8439   ^
8412
8440   SET TERM ; ^
8441   COMMIT WORK;
8442   SET AUTODDL ON;
# Line 8907 | Line 8934 | SET TERM ^ ;
8934   /* Stored procedure Bodies */
8935  
8936  
8937 < ALTER PROCEDURE SHOW_LANGS
8937 > ALTER PROCEDURE SHOW_LANGS
8938   (
8939    CODE VARCHAR(5) CHARACTER SET NONE,
8940    GRADE SMALLINT,
# Line 8933 | Line 8960 | BEGIN
8960      SUSPEND;
8961    END
8962   END
8963 < ^
8937 <
8963 > ^
8964  
8965 < ALTER PROCEDURE ADD_EMP_PROJ
8965 > ALTER PROCEDURE ADD_EMP_PROJ
8966   (
8967    EMP_NO SMALLINT,
8968    PROJ_ID CHAR(5) CHARACTER SET NONE
# Line 8949 | Line 8975 | BEGIN
8975                  EXCEPTION unknown_emp_id;
8976          END
8977   END
8978 < ^
8953 <
8978 > ^
8979  
8980 < ALTER PROCEDURE ALL_LANGS
8980 > ALTER PROCEDURE ALL_LANGS
8981   RETURNS
8982   (
8983    CODE VARCHAR(5) CHARACTER SET NONE,
# Line 8978 | Line 9003 | BEGIN
9003              SUSPEND;
9004          END
9005      END
9006 < ^
8982 <
9006 > ^
9007  
9008 < ALTER PROCEDURE DELETE_EMPLOYEE
9008 > ALTER PROCEDURE DELETE_EMPLOYEE
9009   (
9010    EMP_NUM INTEGER
9011   )
# Line 8992 | Line 9016 | BEGIN
9016  
9017          /*
9018           *      If there are any sales records referencing this employee,
9019 <         *      can't delete the employee until the sales are re-assigned
9019 >         *      cannot delete the employee until the sales are re-assigned
9020           *      to another employee or changed to NULL.
9021           */
9022          SELECT count(po_number)
# Line 9038 | Line 9062 | BEGIN
9062          WHERE emp_no = :emp_num;
9063  
9064   END
9065 < ^
9042 <
9065 > ^
9066  
9067 < ALTER PROCEDURE DEPT_BUDGET
9067 > ALTER PROCEDURE DEPT_BUDGET
9068   (
9069    DNO CHAR(3) CHARACTER SET NONE
9070   )
# Line 9075 | Line 9098 | BEGIN
9098  
9099          SUSPEND;
9100   END
9101 < ^
9101 > ^
9102  
9103 + ALTER PROCEDURE EMPLOYEE_PAY_STATUS
9104 + (
9105 +  EMP_NUM SMALLINT
9106 + )
9107 + RETURNS
9108 + (
9109 +  PAY_STATUS VARCHAR(6) CHARACTER SET NONE,
9110 +  SALARY NUMERIC(10, 2)
9111 + )
9112 + AS
9113 + BEGIN
9114 +  Select SALARY, Case
9115 +   When SALARY > 10000 and SALARY <= 100000 then 'higher'
9116 +   When SALARY > 100000 then 'gross'
9117 +   else 'lower' End
9118 +  From employee
9119 +    WHERE emp_no = :EMP_NUM
9120 +   into :SALARY, :PAY_STATUS;
9121 + END
9122 + ^
9123  
9124 < ALTER PROCEDURE GET_EMP_PROJ
9124 > ALTER PROCEDURE GET_EMP_PROJ
9125   (
9126    EMP_NO SMALLINT
9127   )
# Line 9095 | Line 9138 | BEGIN
9138          DO
9139                  SUSPEND;
9140   END
9141 < ^
9099 <
9141 > ^
9142  
9143 < ALTER PROCEDURE "Has Space"
9143 > ALTER PROCEDURE "Has Space"
9144   (
9145    ARG1 INTEGER
9146   )
9147   AS
9148   Begin End
9149 < ^
9108 <
9149 > ^
9150  
9151 < ALTER PROCEDURE MAIL_LABEL
9151 > ALTER PROCEDURE MAIL_LABEL
9152   (
9153    CUST_NO INTEGER
9154   )
# Line 9175 | Line 9216 | BEGIN
9216  
9217          SUSPEND;
9218   END
9219 < ^
9179 <
9219 > ^
9220  
9221 < ALTER PROCEDURE ORG_CHART
9221 > ALTER PROCEDURE ORG_CHART
9222   RETURNS
9223   (
9224    HEAD_DEPT CHAR(25) CHARACTER SET NONE,
# Line 9218 | Line 9258 | BEGIN
9258                  SUSPEND;
9259          END
9260   END
9261 < ^
9222 <
9261 > ^
9262  
9263 < ALTER PROCEDURE SHIP_ORDER
9263 > ALTER PROCEDURE SHIP_ORDER
9264   (
9265    PO_NUM CHAR(8) CHARACTER SET NONE
9266   )
# Line 9278 | Line 9317 | BEGIN
9317          WHERE po_number = :po_num;
9318  
9319   END
9320 < ^
9282 <
9320 > ^
9321  
9322 < ALTER PROCEDURE SUB_TOT_BUDGET
9322 > ALTER PROCEDURE SUB_TOT_BUDGET
9323   (
9324    HEAD_DEPT CHAR(3) CHARACTER SET NONE
9325   )
# Line 9300 | Line 9338 | BEGIN
9338                  INTO :tot_budget, :avg_budget, :min_budget, :max_budget;
9339          SUSPEND;
9340   END
9341 < ^
9304 <
9341 > ^
9342  
9343 < ALTER PROCEDURE "UC SPACE"
9343 > ALTER PROCEDURE "UC SPACE"
9344   (
9345    ARG1 INTEGER
9346   )
9347   AS
9348   Begin End
9349 < ^
9313 <
9349 > ^
9350  
9351 < ALTER PROCEDURE "iCASE"
9351 > ALTER PROCEDURE "iCASE"
9352   AS
9353   Begin End
9354 < ^
9319 <
9354 > ^
9355   SET TERM ; ^
9356   COMMIT WORK;
9357   SET AUTODDL ON;
# Line 10387 | Line 10422 | CREATE VIEW DEPTLIST (
10422    SALARY,
10423    FULL_NAME,
10424    DEPT_PATH,
10425 <  DEPT_KEY_PATH
10425 >  DEPT_KEY_PATH,
10426 >  "Payment Status"
10427   ) AS
10428   with recursive Depts As (
10429   Select DEPT_NO, DEPARTMENT, HEAD_DEPT, cast(DEPARTMENT  as VarChar(256)) as DEPT_PATH,
# Line 10401 | Line 10437 | JOIN Depts On D.HEAD_DEPT = Depts.DEPT_N
10437   )
10438  
10439   Select distinct A.EMP_NO, A.FIRST_NAME, A.LAST_NAME, A.PHONE_EXT, A.HIRE_DATE, A.DEPT_NO, A.JOB_CODE,
10440 < A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, D.DEPT_PATH, D.DEPT_KEY_PATH
10440 > A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, D.DEPT_PATH, D.DEPT_KEY_PATH,
10441 > CASE When A.SALARY > 10000 then 'higher paid' else 'lower paid' End
10442   From EMPLOYEE A
10443   JOIN Depts D On D.DEPT_NO = A.DEPT_NO
10444   ;
# Line 10550 | Line 10587 | SET TERM ^ ;
10587  
10588   /* Stored procedures Definitions*/
10589  
10590 < CREATE PROCEDURE SHOW_LANGS
10590 > CREATE PROCEDURE SHOW_LANGS
10591   (
10592    CODE VARCHAR(5) CHARACTER SET NONE,
10593    GRADE SMALLINT,
# Line 10564 | Line 10601 | AS
10601   BEGIN SUSPEND; EXIT; END
10602  
10603   ^
10604 <
10568 < CREATE PROCEDURE ADD_EMP_PROJ
10604 > CREATE PROCEDURE ADD_EMP_PROJ
10605   (
10606    EMP_NO SMALLINT,
10607    PROJ_ID CHAR(5) CHARACTER SET NONE
# Line 10574 | Line 10610 | AS
10610   BEGIN EXIT; END
10611  
10612   ^
10613 <
10578 < CREATE PROCEDURE ALL_LANGS
10613 > CREATE PROCEDURE ALL_LANGS
10614   RETURNS
10615   (
10616    CODE VARCHAR(5) CHARACTER SET NONE,
# Line 10587 | Line 10622 | AS
10622   BEGIN SUSPEND; EXIT; END
10623  
10624   ^
10625 <
10591 < CREATE PROCEDURE DELETE_EMPLOYEE
10625 > CREATE PROCEDURE DELETE_EMPLOYEE
10626   (
10627    EMP_NUM INTEGER
10628   )
# Line 10596 | Line 10630 | AS
10630   BEGIN EXIT; END
10631  
10632   ^
10633 <
10600 < CREATE PROCEDURE DEPT_BUDGET
10633 > CREATE PROCEDURE DEPT_BUDGET
10634   (
10635    DNO CHAR(3) CHARACTER SET NONE
10636   )
# Line 10609 | Line 10642 | AS
10642   BEGIN SUSPEND; EXIT; END
10643  
10644   ^
10645 + CREATE PROCEDURE EMPLOYEE_PAY_STATUS
10646 + (
10647 +  EMP_NUM SMALLINT
10648 + )
10649 + RETURNS
10650 + (
10651 +  PAY_STATUS VARCHAR(6) CHARACTER SET NONE,
10652 +  SALARY NUMERIC(10, 2)
10653 + )
10654 + AS
10655 + BEGIN EXIT; END
10656  
10657 < CREATE PROCEDURE GET_EMP_PROJ
10657 > ^
10658 > CREATE PROCEDURE GET_EMP_PROJ
10659   (
10660    EMP_NO SMALLINT
10661   )
# Line 10622 | Line 10667 | AS
10667   BEGIN SUSPEND; EXIT; END
10668  
10669   ^
10670 <
10626 < CREATE PROCEDURE "Has Space"
10670 > CREATE PROCEDURE "Has Space"
10671   (
10672    ARG1 INTEGER
10673   )
# Line 10631 | Line 10675 | AS
10675   BEGIN EXIT; END
10676  
10677   ^
10678 <
10635 < CREATE PROCEDURE MAIL_LABEL
10678 > CREATE PROCEDURE MAIL_LABEL
10679   (
10680    CUST_NO INTEGER
10681   )
# Line 10649 | Line 10692 | AS
10692   BEGIN SUSPEND; EXIT; END
10693  
10694   ^
10695 <
10653 < CREATE PROCEDURE ORG_CHART
10695 > CREATE PROCEDURE ORG_CHART
10696   RETURNS
10697   (
10698    HEAD_DEPT CHAR(25) CHARACTER SET NONE,
# Line 10663 | Line 10705 | AS
10705   BEGIN SUSPEND; EXIT; END
10706  
10707   ^
10708 <
10667 < CREATE PROCEDURE SHIP_ORDER
10708 > CREATE PROCEDURE SHIP_ORDER
10709   (
10710    PO_NUM CHAR(8) CHARACTER SET NONE
10711   )
# Line 10672 | Line 10713 | AS
10713   BEGIN EXIT; END
10714  
10715   ^
10716 <
10676 < CREATE PROCEDURE SUB_TOT_BUDGET
10716 > CREATE PROCEDURE SUB_TOT_BUDGET
10717   (
10718    HEAD_DEPT CHAR(3) CHARACTER SET NONE
10719   )
# Line 10688 | Line 10728 | AS
10728   BEGIN SUSPEND; EXIT; END
10729  
10730   ^
10731 <
10692 < CREATE PROCEDURE "UC SPACE"
10731 > CREATE PROCEDURE "UC SPACE"
10732   (
10733    ARG1 INTEGER
10734   )
# Line 10697 | Line 10736 | AS
10736   BEGIN EXIT; END
10737  
10738   ^
10739 <
10701 < CREATE PROCEDURE "iCASE"
10739 > CREATE PROCEDURE "iCASE"
10740   AS
10741   BEGIN EXIT; END
10742  
10743   ^
10706
10744   SET TERM ; ^
10745   COMMIT WORK;
10746   SET AUTODDL ON;
# Line 11201 | Line 11238 | SET TERM ^ ;
11238   /* Stored procedure Bodies */
11239  
11240  
11241 < ALTER PROCEDURE SHOW_LANGS
11241 > ALTER PROCEDURE SHOW_LANGS
11242   (
11243    CODE VARCHAR(5) CHARACTER SET NONE,
11244    GRADE SMALLINT,
# Line 11227 | Line 11264 | BEGIN
11264      SUSPEND;
11265    END
11266   END
11267 < ^
11231 <
11267 > ^
11268  
11269 < ALTER PROCEDURE ADD_EMP_PROJ
11269 > ALTER PROCEDURE ADD_EMP_PROJ
11270   (
11271    EMP_NO SMALLINT,
11272    PROJ_ID CHAR(5) CHARACTER SET NONE
# Line 11243 | Line 11279 | BEGIN
11279                  EXCEPTION unknown_emp_id;
11280          END
11281   END
11282 < ^
11247 <
11282 > ^
11283  
11284 < ALTER PROCEDURE ALL_LANGS
11284 > ALTER PROCEDURE ALL_LANGS
11285   RETURNS
11286   (
11287    CODE VARCHAR(5) CHARACTER SET NONE,
# Line 11272 | Line 11307 | BEGIN
11307              SUSPEND;
11308          END
11309      END
11310 < ^
11276 <
11310 > ^
11311  
11312 < ALTER PROCEDURE DELETE_EMPLOYEE
11312 > ALTER PROCEDURE DELETE_EMPLOYEE
11313   (
11314    EMP_NUM INTEGER
11315   )
# Line 11286 | Line 11320 | BEGIN
11320  
11321          /*
11322           *      If there are any sales records referencing this employee,
11323 <         *      can't delete the employee until the sales are re-assigned
11323 >         *      cannot delete the employee until the sales are re-assigned
11324           *      to another employee or changed to NULL.
11325           */
11326          SELECT count(po_number)
# Line 11332 | Line 11366 | BEGIN
11366          WHERE emp_no = :emp_num;
11367  
11368   END
11369 < ^
11336 <
11369 > ^
11370  
11371 < ALTER PROCEDURE DEPT_BUDGET
11371 > ALTER PROCEDURE DEPT_BUDGET
11372   (
11373    DNO CHAR(3) CHARACTER SET NONE
11374   )
# Line 11369 | Line 11402 | BEGIN
11402  
11403          SUSPEND;
11404   END
11405 < ^
11405 > ^
11406  
11407 + ALTER PROCEDURE EMPLOYEE_PAY_STATUS
11408 + (
11409 +  EMP_NUM SMALLINT
11410 + )
11411 + RETURNS
11412 + (
11413 +  PAY_STATUS VARCHAR(6) CHARACTER SET NONE,
11414 +  SALARY NUMERIC(10, 2)
11415 + )
11416 + AS
11417 + BEGIN
11418 +  Select SALARY, Case
11419 +   When SALARY > 10000 and SALARY <= 100000 then 'higher'
11420 +   When SALARY > 100000 then 'gross'
11421 +   else 'lower' End
11422 +  From employee
11423 +    WHERE emp_no = :EMP_NUM
11424 +   into :SALARY, :PAY_STATUS;
11425 + END
11426 + ^
11427  
11428 < ALTER PROCEDURE GET_EMP_PROJ
11428 > ALTER PROCEDURE GET_EMP_PROJ
11429   (
11430    EMP_NO SMALLINT
11431   )
# Line 11389 | Line 11442 | BEGIN
11442          DO
11443                  SUSPEND;
11444   END
11445 < ^
11393 <
11445 > ^
11446  
11447 < ALTER PROCEDURE "Has Space"
11447 > ALTER PROCEDURE "Has Space"
11448   (
11449    ARG1 INTEGER
11450   )
11451   AS
11452   Begin End
11453 < ^
11402 <
11453 > ^
11454  
11455 < ALTER PROCEDURE MAIL_LABEL
11455 > ALTER PROCEDURE MAIL_LABEL
11456   (
11457    CUST_NO INTEGER
11458   )
# Line 11469 | Line 11520 | BEGIN
11520  
11521          SUSPEND;
11522   END
11523 < ^
11473 <
11523 > ^
11524  
11525 < ALTER PROCEDURE ORG_CHART
11525 > ALTER PROCEDURE ORG_CHART
11526   RETURNS
11527   (
11528    HEAD_DEPT CHAR(25) CHARACTER SET NONE,
# Line 11512 | Line 11562 | BEGIN
11562                  SUSPEND;
11563          END
11564   END
11565 < ^
11516 <
11565 > ^
11566  
11567 < ALTER PROCEDURE SHIP_ORDER
11567 > ALTER PROCEDURE SHIP_ORDER
11568   (
11569    PO_NUM CHAR(8) CHARACTER SET NONE
11570   )
# Line 11572 | Line 11621 | BEGIN
11621          WHERE po_number = :po_num;
11622  
11623   END
11624 < ^
11576 <
11624 > ^
11625  
11626 < ALTER PROCEDURE SUB_TOT_BUDGET
11626 > ALTER PROCEDURE SUB_TOT_BUDGET
11627   (
11628    HEAD_DEPT CHAR(3) CHARACTER SET NONE
11629   )
# Line 11594 | Line 11642 | BEGIN
11642                  INTO :tot_budget, :avg_budget, :min_budget, :max_budget;
11643          SUSPEND;
11644   END
11645 < ^
11598 <
11645 > ^
11646  
11647 < ALTER PROCEDURE "UC SPACE"
11647 > ALTER PROCEDURE "UC SPACE"
11648   (
11649    ARG1 INTEGER
11650   )
11651   AS
11652   Begin End
11653 < ^
11607 <
11653 > ^
11654  
11655 < ALTER PROCEDURE "iCASE"
11655 > ALTER PROCEDURE "iCASE"
11656   AS
11657   Begin End
11658 < ^
11613 <
11658 > ^
11659   SET TERM ; ^
11660   COMMIT WORK;
11661   SET AUTODDL ON;
# Line 11721 | Line 11766 | Output from diff command
11766   < ALTER SEQUENCE FB$OUT_SEQ RESTART WITH 1;
11767   ---
11768   > ALTER SEQUENCE FB$OUT_SEQ RESTART WITH 0;
11769 < 2254c2254
11769 > 990c990
11770 > <   DEPT_KEY_PATH,
11771 > ---
11772 > >   DEPT_KEY_PATH,
11773 > 1136c1136
11774 > < ^
11775 > ---
11776 > >  ^
11777 > 1144c1144
11778 > < ^
11779 > ---
11780 > >  ^
11781 > 1146c1146
11782 > < SET TERM ;^
11783 > ---
11784 > > SET TERM ; ^
11785 > 1155c1155
11786 > < CREATE PROCEDURE SHOW_LANGS
11787 > ---
11788 > > CREATE PROCEDURE SHOW_LANGS
11789 > 1169,1170c1169
11790 > <
11791 > < CREATE PROCEDURE ADD_EMP_PROJ
11792 > ---
11793 > > CREATE PROCEDURE ADD_EMP_PROJ
11794 > 1179,1180c1178
11795 > <
11796 > < CREATE PROCEDURE ALL_LANGS
11797 > ---
11798 > > CREATE PROCEDURE ALL_LANGS
11799 > 1192,1193c1190
11800 > <
11801 > < CREATE PROCEDURE DELETE_EMPLOYEE
11802 > ---
11803 > > CREATE PROCEDURE DELETE_EMPLOYEE
11804 > 1201,1202c1198
11805 > <
11806 > < CREATE PROCEDURE DEPT_BUDGET
11807 > ---
11808 > > CREATE PROCEDURE DEPT_BUDGET
11809 > 1214d1209
11810 > <
11811 > 1217c1212
11812 > <   EMP_NO SMALLINT
11813 > ---
11814 > >   EMP_NUM SMALLINT
11815 > 1221c1216,1217
11816 > <   PAY_STATUS VARCHAR(6) CHARACTER SET NONE
11817 > ---
11818 > >   PAY_STATUS VARCHAR(6) CHARACTER SET NONE,
11819 > >   SALARY NUMERIC(10, 2)
11820 > 1227,1229c1223
11821 > <
11822 > <
11823 > < CREATE PROCEDURE GET_EMP_PROJ
11824 > ---
11825 > > CREATE PROCEDURE GET_EMP_PROJ
11826 > 1241,1242c1235
11827 > <
11828 > < CREATE PROCEDURE "Has Space"
11829 > ---
11830 > > CREATE PROCEDURE "Has Space"
11831 > 1250,1251c1243
11832 > <
11833 > < CREATE PROCEDURE MAIL_LABEL
11834 > ---
11835 > > CREATE PROCEDURE MAIL_LABEL
11836 > 1268,1269c1260
11837 > <
11838 > < CREATE PROCEDURE ORG_CHART
11839 > ---
11840 > > CREATE PROCEDURE ORG_CHART
11841 > 1282,1283c1273
11842 > <
11843 > < CREATE PROCEDURE SHIP_ORDER
11844 > ---
11845 > > CREATE PROCEDURE SHIP_ORDER
11846 > 1291,1292c1281
11847 > <
11848 > < CREATE PROCEDURE SUB_TOT_BUDGET
11849 > ---
11850 > > CREATE PROCEDURE SUB_TOT_BUDGET
11851 > 1307,1308c1296
11852 > <
11853 > < CREATE PROCEDURE "UC SPACE"
11854 > ---
11855 > > CREATE PROCEDURE "UC SPACE"
11856 > 1316,1317c1304
11857 > <
11858 > < CREATE PROCEDURE "iCASE"
11859 > ---
11860 > > CREATE PROCEDURE "iCASE"
11861 > 1322,1323c1309
11862 > <
11863 > < SET TERM ;^
11864 > ---
11865 > > SET TERM ; ^
11866 > 1339c1325
11867 > < SET TERM ;^
11868 > ---
11869 > > SET TERM ; ^
11870 > 1352c1338
11871 > < ^
11872 > ---
11873 > >  ^
11874 > 1356c1342
11875 > < ^
11876 > ---
11877 > >  ^
11878 > 1360c1346
11879 > < ^
11880 > ---
11881 > >  ^
11882 > 1364c1350
11883 > < ^
11884 > ---
11885 > >  ^
11886 > 1368c1354
11887 > < ^
11888 > ---
11889 > >  ^
11890 > 1372c1358
11891 > < ^
11892 > ---
11893 > >  ^
11894 > 1376c1362
11895 > < ^
11896 > ---
11897 > >  ^
11898 > 1380c1366
11899 > < ^
11900 > ---
11901 > >  ^
11902 > 1384c1370
11903 > < ^
11904 > ---
11905 > >  ^
11906 > 1388c1374
11907 > < ^
11908 > ---
11909 > >  ^
11910 > 1392c1378
11911 > < ^
11912 > ---
11913 > >  ^
11914 > 1396c1382
11915 > < ^
11916 > ---
11917 > >  ^
11918 > 1400c1386
11919 > < ^
11920 > ---
11921 > >  ^
11922 > 1404c1390
11923 > < ^
11924 > ---
11925 > >  ^
11926 > 1408c1394
11927 > < ^
11928 > ---
11929 > >  ^
11930 > 1412c1398
11931 > < ^
11932 > ---
11933 > >  ^
11934 > 1416c1402
11935 > < ^
11936 > ---
11937 > >  ^
11938 > 1420c1406
11939 > < ^
11940 > ---
11941 > >  ^
11942 > 1424c1410
11943 > < ^
11944 > ---
11945 > >  ^
11946 > 1428c1414
11947 > < ^
11948 > ---
11949 > >  ^
11950 > 1432c1418
11951 > < ^
11952 > ---
11953 > >  ^
11954 > 1436c1422
11955 > < ^
11956 > ---
11957 > >  ^
11958 > 1440c1426
11959 > < ^
11960 > ---
11961 > >  ^
11962 > 1444c1430
11963 > < ^
11964 > ---
11965 > >  ^
11966 > 1448c1434
11967 > < ^
11968 > ---
11969 > >  ^
11970 > 1452c1438
11971 > < ^
11972 > ---
11973 > >  ^
11974 > 1456c1442
11975 > < ^
11976 > ---
11977 > >  ^
11978 > 1460c1446
11979 > < ^
11980 > ---
11981 > >  ^
11982 > 1464c1450
11983 > < ^
11984 > ---
11985 > >  ^
11986 > 1468c1454
11987 > < ^
11988 > ---
11989 > >  ^
11990 > 1472c1458
11991 > < ^
11992 > ---
11993 > >  ^
11994 > 1476c1462
11995 > < ^
11996 > ---
11997 > >  ^
11998 > 1480c1466
11999 > < ^
12000 > ---
12001 > >  ^
12002 > 1484c1470
12003 > < ^
12004 > ---
12005 > >  ^
12006 > 1488c1474
12007 > < ^
12008 > ---
12009 > >  ^
12010 > 1492c1478
12011 > < ^
12012 > ---
12013 > >  ^
12014 > 1496c1482
12015 > < ^
12016 > ---
12017 > >  ^
12018 > 1500c1486
12019 > < ^
12020 > ---
12021 > >  ^
12022 > 1504c1490
12023 > < ^
12024 > ---
12025 > >  ^
12026 > 1508c1494
12027 > < ^
12028 > ---
12029 > >  ^
12030 > 1512c1498
12031 > < ^
12032 > ---
12033 > >  ^
12034 > 1516c1502
12035 > < ^
12036 > ---
12037 > >  ^
12038 > 1520c1506
12039 > < ^
12040 > ---
12041 > >  ^
12042 > 1524c1510
12043 > < ^
12044 > ---
12045 > >  ^
12046 > 1528c1514
12047 > < ^
12048 > ---
12049 > >  ^
12050 > 1532c1518
12051 > < ^
12052 > ---
12053 > >  ^
12054 > 1536c1522
12055 > < ^
12056 > ---
12057 > >  ^
12058 > 1540c1526
12059 > < ^
12060 > ---
12061 > >  ^
12062 > 1544c1530
12063 > < ^
12064 > ---
12065 > >  ^
12066 > 1548c1534
12067 > < ^
12068 > ---
12069 > >  ^
12070 > 1552c1538
12071 > < ^
12072 > ---
12073 > >  ^
12074 > 1556c1542
12075 > < ^
12076 > ---
12077 > >  ^
12078 > 1560c1546
12079 > < ^
12080 > ---
12081 > >  ^
12082 > 1564c1550
12083 > < ^
12084 > ---
12085 > >  ^
12086 > 1568c1554
12087 > < ^
12088 > ---
12089 > >  ^
12090 > 1572c1558
12091 > < ^
12092 > ---
12093 > >  ^
12094 > 1576c1562
12095 > < ^
12096 > ---
12097 > >  ^
12098 > 1580c1566
12099 > < ^
12100 > ---
12101 > >  ^
12102 > 1584c1570
12103 > < ^
12104 > ---
12105 > >  ^
12106 > 1588c1574
12107 > < ^
12108 > ---
12109 > >  ^
12110 > 1592c1578
12111 > < ^
12112 > ---
12113 > >  ^
12114 > 1596c1582
12115 > < ^
12116 > ---
12117 > >  ^
12118 > 1600c1586
12119 > < ^
12120 > ---
12121 > >  ^
12122 > 1604c1590
12123 > < ^
12124 > ---
12125 > >  ^
12126 > 1608c1594
12127 > < ^
12128 > ---
12129 > >  ^
12130 > 1612c1598
12131 > < ^
12132 > ---
12133 > >  ^
12134 > 1616c1602
12135 > < ^
12136 > ---
12137 > >  ^
12138 > 1620c1606
12139 > < ^
12140 > ---
12141 > >  ^
12142 > 1624c1610
12143 > < ^
12144 > ---
12145 > >  ^
12146 > 1628c1614
12147 > < ^
12148 > ---
12149 > >  ^
12150 > 1632c1618
12151 > < ^
12152 > ---
12153 > >  ^
12154 > 1636c1622
12155 > < ^
12156 > ---
12157 > >  ^
12158 > 1640c1626
12159 > < ^
12160 > ---
12161 > >  ^
12162 > 1644c1630
12163 > < ^
12164 > ---
12165 > >  ^
12166 > 1648c1634
12167 > < ^
12168 > ---
12169 > >  ^
12170 > 1652c1638
12171 > < ^
12172 > ---
12173 > >  ^
12174 > 1656c1642
12175 > < ^
12176 > ---
12177 > >  ^
12178 > 1660c1646
12179 > < ^
12180 > ---
12181 > >  ^
12182 > 1664c1650
12183 > < ^
12184 > ---
12185 > >  ^
12186 > 1668c1654
12187 > < ^
12188 > ---
12189 > >  ^
12190 > 1672c1658
12191 > < ^
12192 > ---
12193 > >  ^
12194 > 1676c1662
12195 > < ^
12196 > ---
12197 > >  ^
12198 > 1680c1666
12199 > < ^
12200 > ---
12201 > >  ^
12202 > 1684c1670
12203 > < ^
12204 > ---
12205 > >  ^
12206 > 1688c1674
12207 > < ^
12208 > ---
12209 > >  ^
12210 > 1692c1678
12211 > < ^
12212 > ---
12213 > >  ^
12214 > 1700c1686
12215 > < ^
12216 > ---
12217 > >  ^
12218 > 1708c1694
12219 > < ^
12220 > ---
12221 > >  ^
12222 > 1723c1709
12223 > < ^
12224 > ---
12225 > >  ^
12226 > 1730,1731c1716,1717
12227 > < ^
12228 > < COMMIT WORK^
12229 > ---
12230 > >  ^
12231 > > COMMIT WORK ^
12232 > 1796c1782
12233 > < ^
12234 > ---
12235 > >  ^
12236 > 1808c1794
12237 > < ^
12238 > ---
12239 > >  ^
12240 > 1810c1796
12241 > < SET TERM ;^
12242 > ---
12243 > > SET TERM ; ^
12244 > 1820c1806
12245 > < ALTER PROCEDURE SHOW_LANGS
12246 > ---
12247 > > ALTER PROCEDURE SHOW_LANGS
12248 > 1848,1849c1834
12249 > <
12250 > < ALTER PROCEDURE ADD_EMP_PROJ
12251 > ---
12252 > > ALTER PROCEDURE ADD_EMP_PROJ
12253 > 1864c1849
12254 > < ALTER PROCEDURE ALL_LANGS
12255 > ---
12256 > > ALTER PROCEDURE ALL_LANGS
12257 > 1892,1893c1877
12258 > <
12259 > < ALTER PROCEDURE DELETE_EMPLOYEE
12260 > ---
12261 > > ALTER PROCEDURE DELETE_EMPLOYEE
12262 > 1952,1953c1936
12263 > <
12264 > < ALTER PROCEDURE DEPT_BUDGET
12265 > ---
12266 > > ALTER PROCEDURE DEPT_BUDGET
12267 > 1996c1979
12268 > <   SALARY NUMERIC(10,2)
12269 > ---
12270 > >   SALARY NUMERIC(10, 2)
12271 > 2010c1993
12272 > < ALTER PROCEDURE GET_EMP_PROJ
12273 > ---
12274 > > ALTER PROCEDURE GET_EMP_PROJ
12275 > 2029,2030c2012
12276 > <
12277 > < ALTER PROCEDURE "Has Space"
12278 > ---
12279 > > ALTER PROCEDURE "Has Space"
12280 > 2038,2039c2020
12281 > <
12282 > < ALTER PROCEDURE MAIL_LABEL
12283 > ---
12284 > > ALTER PROCEDURE MAIL_LABEL
12285 > 2109,2110c2090
12286 > <
12287 > < ALTER PROCEDURE ORG_CHART
12288 > ---
12289 > > ALTER PROCEDURE ORG_CHART
12290 > 2152,2153c2132
12291 > <
12292 > < ALTER PROCEDURE SHIP_ORDER
12293 > ---
12294 > > ALTER PROCEDURE SHIP_ORDER
12295 > 2212,2213c2191
12296 > <
12297 > < ALTER PROCEDURE SUB_TOT_BUDGET
12298 > ---
12299 > > ALTER PROCEDURE SUB_TOT_BUDGET
12300 > 2234,2235c2212
12301 > <
12302 > < ALTER PROCEDURE "UC SPACE"
12303 > ---
12304 > > ALTER PROCEDURE "UC SPACE"
12305 > 2243,2244c2220
12306 > <
12307 > < ALTER PROCEDURE "iCASE"
12308 > ---
12309 > > ALTER PROCEDURE "iCASE"
12310 > 2248,2249c2224
12311 > <
12312 > < SET TERM ;^
12313 > ---
12314 > > SET TERM ; ^
12315 > 2267c2242
12316 > < SET TERM ;^
12317 > ---
12318 > > SET TERM ; ^
12319 > 2289c2264
12320   < GRANT SELECT,Update(FIRST_NAME,LAST_NAME) ON TABLE EMPLOYEE TO USER BOB  ;
12321   ---
12322   > GRANT SELECT,Update(LAST_NAME,FIRST_NAME) ON TABLE EMPLOYEE TO USER BOB  ;
# Line 11779 | Line 12374 | Message File Location = /opt/firebird4.0
12374   Database Statistics for employee
12375  
12376   Database "/opt/firebird4.0.0/examples/empbuild/employee.fdb"
12377 < Gstat execution time Wed Jul  7 11:45:32 2021
12377 > Gstat execution time Wed Oct  6 09:47:23 2021
12378  
12379   Database header page information:
12380   Flags                   0
12381 < Generation              438
12381 > Generation              1865
12382   System Change Number    0
12383   Page size               8192
12384   ODS version             13.0
12385 < Oldest transaction      456
12386 < Oldest active           457
12387 < Oldest snapshot         457
12388 < Next transaction        457
12385 > Oldest transaction      2039
12386 > Oldest active           2040
12387 > Oldest snapshot         2040
12388 > Next transaction        2040
12389   Sequence number         0
12390 < Next attachment ID      274
12390 > Next attachment ID      1584
12391   Implementation          HW=AMD/Intel/x64 little-endian OS=Linux CC=gcc
12392   Shadow count            0
12393   Page buffers            0
# Line 11866 | Line 12461 | EMPLOYEE_PROJECT (134)
12461   Primary pointer page: 258, Index root page: 259
12462   Pointer pages: 1, data page slots: 1
12463   Data pages: 1, average fill: 10%
12464 < Primary pages: 1, secondary pages: 0, swept pages: 0
12464 > Primary pages: 1, secondary pages: 0, swept pages: 1
12465   Empty pages: 0, full pages: 0
12466   Fill distribution:
12467   0 - 19% = 1
# Line 11888 | Line 12483 | Fill distribution:
12483   60 - 79% = 1
12484   80 - 99% = 0
12485  
12486 + LOTSOFDATA (140)
12487 + Primary pointer page: 285, Index root page: 311
12488 + Pointer pages: 1, data page slots: 0
12489 + Data pages: 0, average fill: 0%
12490 + Primary pages: 0, secondary pages: 0, swept pages: 0
12491 + Empty pages: 0, full pages: 0
12492 + Fill distribution:
12493 + 0 - 19% = 0
12494 + 20 - 39% = 0
12495 + 40 - 59% = 0
12496 + 60 - 79% = 0
12497 + 80 - 99% = 0
12498 +
12499   PROJECT (133)
12500   Primary pointer page: 251, Index root page: 252
12501   Pointer pages: 1, data page slots: 2
# Line 11918 | Line 12526 | SALARY_HISTORY (136)
12526   Primary pointer page: 270, Index root page: 271
12527   Pointer pages: 1, data page slots: 1
12528   Data pages: 1, average fill: 30%
12529 < Primary pages: 1, secondary pages: 0, swept pages: 0
12529 > Primary pages: 1, secondary pages: 0, swept pages: 1
12530   Empty pages: 0, full pages: 0
12531   Fill distribution:
12532   0 - 19% = 0
# Line 11940 | Line 12548 | Fill distribution:
12548   60 - 79% = 0
12549   80 - 99% = 0
12550  
12551 < Gstat completion time Wed Jul  7 11:45:32 2021
12551 > Gstat completion time Wed Oct  6 09:47:24 2021
12552  
12553  
12554  
# Line 11950 | Line 12558 | zeus   Wed Jun  9 10:07:18 2021
12558   firebird4/bin/fbguard: guardian starting /opt/firebird4/bin/firebird
12559  
12560   Online Validation
12561 < 11:45:32.71 Validation started
12561 > 09:47:24.34 Validation started
12562  
12563 < 11:45:32.71 Relation 128 (COUNTRY)
12564 < 11:45:32.71   process pointer page    0 of    1
12565 < 11:45:32.71 Index 1 (RDB$PRIMARY1)
12566 < 11:45:32.71 Relation 128 (COUNTRY) is ok
12567 <
12568 < 11:45:32.71 Relation 129 (JOB)
12569 < 11:45:32.71   process pointer page    0 of    1
12570 < 11:45:32.71 Index 1 (RDB$PRIMARY2)
12571 < 11:45:32.71 Index 2 (RDB$FOREIGN3)
12572 < 11:45:32.71 Index 3 (MAXSALX)
12573 < 11:45:32.71 Index 4 (MINSALX)
12574 < 11:45:32.71 Relation 129 (JOB) is ok
12575 <
12576 < 11:45:32.71 Relation 130 (DEPARTMENT)
12577 < 11:45:32.71   process pointer page    0 of    1
12578 < 11:45:32.71 Index 1 (RDB$4)
12579 < 11:45:32.71 Index 2 (RDB$PRIMARY5)
12580 < 11:45:32.71 Index 3 (RDB$FOREIGN6)
12581 < 11:45:32.71 Index 4 (BUDGETX)
12582 < 11:45:32.71 Index 5 (RDB$FOREIGN10)
12583 < 11:45:32.71 Relation 130 (DEPARTMENT) is ok
12584 <
12585 < 11:45:32.71 Relation 131 (EMPLOYEE)
12586 < 11:45:32.71   process pointer page    0 of    1
12587 < 11:45:32.71 Index 1 (RDB$PRIMARY7)
12588 < 11:45:32.71 Index 2 (RDB$FOREIGN8)
12589 < 11:45:32.71 Index 3 (RDB$FOREIGN9)
12590 < 11:45:32.71 Index 4 (NAMEX)
12591 < 11:45:32.71 Relation 131 (EMPLOYEE) is ok
12592 <
12593 < 11:45:32.71 Relation 133 (PROJECT)
12594 < 11:45:32.71   process pointer page    0 of    1
12595 < 11:45:32.71 Index 1 (RDB$11)
12596 < 11:45:32.71 Index 2 (RDB$PRIMARY12)
12597 < 11:45:32.71 Index 3 (RDB$FOREIGN13)
12598 < 11:45:32.71 Index 4 (PRODTYPEX)
12599 < 11:45:32.71 Relation 133 (PROJECT) is ok
12600 <
12601 < 11:45:32.72 Relation 134 (EMPLOYEE_PROJECT)
12602 < 11:45:32.72   process pointer page    0 of    1
12603 < 11:45:32.72 Index 1 (RDB$PRIMARY14)
12604 < 11:45:32.72 Index 2 (RDB$FOREIGN15)
12605 < 11:45:32.72 Index 3 (RDB$FOREIGN16)
12606 < 11:45:32.72 Relation 134 (EMPLOYEE_PROJECT) is ok
12607 <
12608 < 11:45:32.72 Relation 135 (PROJ_DEPT_BUDGET)
12609 < 11:45:32.72   process pointer page    0 of    1
12610 < 11:45:32.72 Index 1 (RDB$PRIMARY17)
12611 < 11:45:32.72 Index 2 (RDB$FOREIGN18)
12612 < 11:45:32.72 Index 3 (RDB$FOREIGN19)
12613 < 11:45:32.73 Relation 135 (PROJ_DEPT_BUDGET) is ok
12614 <
12615 < 11:45:32.73 Relation 136 (SALARY_HISTORY)
12616 < 11:45:32.73   process pointer page    0 of    1
12617 < 11:45:32.73 Index 1 (RDB$PRIMARY20)
12618 < 11:45:32.73 Index 2 (RDB$FOREIGN21)
12619 < 11:45:32.73 Index 3 (CHANGEX)
12620 < 11:45:32.73 Index 4 (UPDATERX)
12621 < 11:45:32.73 Relation 136 (SALARY_HISTORY) is ok
12622 <
12623 < 11:45:32.73 Relation 137 (CUSTOMER)
12624 < 11:45:32.73   process pointer page    0 of    1
12625 < 11:45:32.73 Index 1 (RDB$PRIMARY22)
12626 < 11:45:32.73 Index 2 (RDB$FOREIGN23)
12627 < 11:45:32.73 Index 3 (CUSTNAMEX)
12628 < 11:45:32.73 Index 4 (CUSTREGION)
12629 < 11:45:32.73 Relation 137 (CUSTOMER) is ok
12630 <
12631 < 11:45:32.73 Relation 138 (SALES)
12632 < 11:45:32.73   process pointer page    0 of    1
12633 < 11:45:32.73 Index 1 (RDB$PRIMARY24)
12634 < 11:45:32.73 Index 2 (RDB$FOREIGN25)
12635 < 11:45:32.73 Index 3 (RDB$FOREIGN26)
12636 < 11:45:32.73 Index 4 (NEEDX)
12637 < 11:45:32.73 Index 5 (QTYX)
12638 < 11:45:32.73 Index 6 (SALESTATX)
12639 < 11:45:32.73 Relation 138 (SALES) is ok
12563 > 09:47:24.34 Relation 128 (COUNTRY)
12564 > 09:47:24.34   process pointer page    0 of    1
12565 > 09:47:24.34 Index 1 (RDB$PRIMARY1)
12566 > 09:47:24.34 Relation 128 (COUNTRY) is ok
12567 >
12568 > 09:47:24.34 Relation 129 (JOB)
12569 > 09:47:24.34   process pointer page    0 of    1
12570 > 09:47:24.34 Index 1 (RDB$PRIMARY2)
12571 > 09:47:24.34 Index 2 (RDB$FOREIGN3)
12572 > 09:47:24.34 Index 3 (MAXSALX)
12573 > 09:47:24.34 Index 4 (MINSALX)
12574 > 09:47:24.34 Relation 129 (JOB) is ok
12575 >
12576 > 09:47:24.34 Relation 130 (DEPARTMENT)
12577 > 09:47:24.34   process pointer page    0 of    1
12578 > 09:47:24.35 Index 1 (RDB$4)
12579 > 09:47:24.35 Index 2 (RDB$PRIMARY5)
12580 > 09:47:24.35 Index 3 (RDB$FOREIGN6)
12581 > 09:47:24.35 Index 4 (BUDGETX)
12582 > 09:47:24.35 Index 5 (RDB$FOREIGN10)
12583 > 09:47:24.35 Relation 130 (DEPARTMENT) is ok
12584 >
12585 > 09:47:24.35 Relation 131 (EMPLOYEE)
12586 > 09:47:24.35   process pointer page    0 of    1
12587 > 09:47:24.35 Index 1 (RDB$PRIMARY7)
12588 > 09:47:24.35 Index 2 (RDB$FOREIGN8)
12589 > 09:47:24.35 Index 3 (RDB$FOREIGN9)
12590 > 09:47:24.35 Index 4 (NAMEX)
12591 > 09:47:24.35 Relation 131 (EMPLOYEE) is ok
12592 >
12593 > 09:47:24.35 Relation 133 (PROJECT)
12594 > 09:47:24.35   process pointer page    0 of    1
12595 > 09:47:24.35 Index 1 (RDB$11)
12596 > 09:47:24.35 Index 2 (RDB$PRIMARY12)
12597 > 09:47:24.35 Index 3 (RDB$FOREIGN13)
12598 > 09:47:24.35 Index 4 (PRODTYPEX)
12599 > 09:47:24.35 Relation 133 (PROJECT) is ok
12600 >
12601 > 09:47:24.35 Relation 134 (EMPLOYEE_PROJECT)
12602 > 09:47:24.35   process pointer page    0 of    1
12603 > 09:47:24.35 Index 1 (RDB$PRIMARY14)
12604 > 09:47:24.35 Index 2 (RDB$FOREIGN15)
12605 > 09:47:24.35 Index 3 (RDB$FOREIGN16)
12606 > 09:47:24.35 Relation 134 (EMPLOYEE_PROJECT) is ok
12607 >
12608 > 09:47:24.35 Relation 135 (PROJ_DEPT_BUDGET)
12609 > 09:47:24.35   process pointer page    0 of    1
12610 > 09:47:24.35 Index 1 (RDB$PRIMARY17)
12611 > 09:47:24.35 Index 2 (RDB$FOREIGN18)
12612 > 09:47:24.35 Index 3 (RDB$FOREIGN19)
12613 > 09:47:24.35 Relation 135 (PROJ_DEPT_BUDGET) is ok
12614 >
12615 > 09:47:24.35 Relation 136 (SALARY_HISTORY)
12616 > 09:47:24.35   process pointer page    0 of    1
12617 > 09:47:24.35 Index 1 (RDB$PRIMARY20)
12618 > 09:47:24.35 Index 2 (RDB$FOREIGN21)
12619 > 09:47:24.36 Index 3 (CHANGEX)
12620 > 09:47:24.36 Index 4 (UPDATERX)
12621 > 09:47:24.36 Relation 136 (SALARY_HISTORY) is ok
12622 >
12623 > 09:47:24.36 Relation 137 (CUSTOMER)
12624 > 09:47:24.36   process pointer page    0 of    1
12625 > 09:47:24.36 Index 1 (RDB$PRIMARY22)
12626 > 09:47:24.36 Index 2 (RDB$FOREIGN23)
12627 > 09:47:24.36 Index 3 (CUSTNAMEX)
12628 > 09:47:24.36 Index 4 (CUSTREGION)
12629 > 09:47:24.36 Relation 137 (CUSTOMER) is ok
12630 >
12631 > 09:47:24.36 Relation 138 (SALES)
12632 > 09:47:24.36   process pointer page    0 of    1
12633 > 09:47:24.36 Index 1 (RDB$PRIMARY24)
12634 > 09:47:24.36 Index 2 (RDB$FOREIGN25)
12635 > 09:47:24.36 Index 3 (RDB$FOREIGN26)
12636 > 09:47:24.36 Index 4 (NEEDX)
12637 > 09:47:24.36 Index 5 (QTYX)
12638 > 09:47:24.36 Index 6 (SALESTATX)
12639 > 09:47:24.36 Relation 138 (SALES) is ok
12640 >
12641 > 09:47:24.36 Relation 140 (LOTSOFDATA)
12642 > 09:47:24.36   process pointer page    0 of    1
12643 > 09:47:24.36 Index 1 (RDB$PRIMARY28)
12644 > 09:47:24.36 Relation 140 (LOTSOFDATA) is ok
12645  
12646 < 11:45:32.73 Validation finished
12646 > 09:47:24.36 Validation finished
12647  
12648  
12649   Normal Validation
# Line 12166 | Line 12779 | Employee Database is Online = FALSE
12779   Employee Database is Online = TRUE
12780  
12781   Starting Backup
12782 < Backup Completed - File Size = 80384 bytes
12782 > Backup Completed - File Size = 81408 bytes
12783   Restore Started
12784  
12785   Restore Completed
# Line 13315 | Line 13928 | DEPT_KEY_PATH = 000 (Charset = UTF8 Code
13928  
13929   Rows printed = 2
13930  
13931 < Current memory = 19,665,456
13931 > Current memory = 19,667,296
13932   Delta memory = 16,032
13933 < Max memory = 19,761,040
13934 < Elapsed time= 0.001 sec
13933 > Max memory = 19,762,880
13934 > Elapsed time= 0.002 sec
13935   Cpu = 0.000 sec
13936   Buffers = 2048
13937   Reads = 2
# Line 13583 | Line 14196 | DEPT_KEY_PATH = 000 (Charset = UTF8 Code
14196  
14197   Rows printed = 2
14198  
14199 < Current memory = 19,665,456
14199 > Current memory = 19,667,296
14200   Delta memory = 16,032
14201 < Max memory = 19,761,040
14202 < Elapsed time= 0.102 sec
14201 > Max memory = 19,762,880
14202 > Elapsed time= 0.118 sec
14203   Cpu = 0.000 sec
14204   Buffers = 2048
14205   Reads = 2
# Line 15204 | Line 15817 | Create Table LotsOfData (
15817      MyText VarChar(1024),
15818      Primary Key (RowID)
15819    );                
15820 < Loading data into database table. Started at 07/7/2021 11:46:17.204
15821 < Data load completed at 07/7/2021 11:48:00.164 Elapsed Time = 102960 ms, 100000 records loaded
15822 < MD5 checksum = 1c66cd114720b84a4fa21d01f8a0ba2b
15823 < Database Read started at 07/7/2021 11:48:00.174
15824 < Read Dataset completed at 07/7/2021 11:48:38.470 Elapsed Time = 38296 ms, 100000 records read
15825 < MD5 checksum = 1c66cd114720b84a4fa21d01f8a0ba2b
15820 > Loading data into database table. Started at 06/10/2021 09:48:08.486
15821 > Data load completed at 06/10/2021 09:49:45.026 Elapsed Time = 96540 ms, 100000 records loaded
15822 > Message Hash = a3d577760b5736851d73bf1a5ace8c98
15823 > Database Read started at 06/10/2021 09:49:45.038
15824 > Read Dataset completed at 06/10/2021 09:50:20.439 Elapsed Time = 35401 ms, 100000 records read
15825 > Message Hash = a3d577760b5736851d73bf1a5ace8c98
15826   Test Completed successfully
15827 < 07/7/2021 11:48:38.470 Test 21 passes as long as the MD5 sums are identical
15827 > 06/10/2021 09:50:20.440 Test 21 passes as long as the checksums are identical
15828  
15829  
15830   ------------------------------------------------------

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines