List of changes for portingset: 8.5a.01 MaintBeethoven: # 42341 (BDUX34100): TECH-00000-04708: Extending right-aligned database column fails Date: Mon, 16 Feb 2009 11:43:19 +0100 (CET) Created on: MaintBeethoven Type: bugfix Problem Description (Customer terms) The extension of a right-aligned database columns fails. The data in the column is not properly aligned. Test Procedure Extend a right-aligned database column. Convert to runtime and reorganize the table. After completion the data should be properly right-aligned. Affected Executables bdbreconfig Motive source SDIS:TECH-00000-04708 MaintBeethoven: # 42336 (BDUX34092): SQL processor fails to optimize statement in combo mode (ABB) Date: Fri, 13 Feb 2009 14:58:31 +0100 (CET) Created on: MaintBeethoven Type: bugfix Problem Description (Customer terms) The following SQL statement is split into several database SQL statements: select tcibd001.cuni:cuni, tcibd200.opol:bom.opol, tiipd001.oltm:oltm, tiipd001.oltu:oltu, tiipd001.unom:child.unom, cprpd100.plni:bom.child, cprpd100.mrph:phase, cprpd100.clus:clus, cprpd100.cwar:ord.cwar, cprpd100.osys:mpsp, cprpd120.code:itm.code from tcibd001, tcibd200, tiipd001, cprpd100, cprpd120 where tcibd001._index1 = {:3} and tcibd200.item refers to tcibd001 unref skip and tiipd001.item refers to tcibd001 unref clear and cprpd100._index9 = {:3} and cprpd100.plni = cprpd120.plni The execution time of this SQL statement is dramatic. The problem is found at customer ABB, who is using AIX53, 8.4c.02. And disappears when using a stand-alone driver, or when enabling tracing. Test Procedure Since this problem is so hard to reproduce, this solution is tested at the customer site. Affected Executables bshell all database drivers DevBeethoven: # 42192 (BDUX33828): SQL: Support 3-letter language code in ml_one_lang function Date: Wed, 28 Jan 2009 15:05:49 +0100 (CET) Created on: DevBeethoven Type: bugfix Problem Description (Customer terms) The SQL functions ml_one_lang, ml_lang_of and ml_check_in_lang do not recognize 3-letter language codes (e.g. "dut", "ger", "eng"), unless the language code is space padded to a length of 5 characters. Workaround Space pad the language code to a length of 5 characters. Test Procedure In an MLE environment using 3-letter language codes, try the SQL functions ml_one_lang et all with 3-letter language codes. Affected Executables bsql jbdb bshell MaintBeethoven: # 42107 (BDNT33846): Incorrect result with the function utc.add(). Date: Wed, 21 Jan 2009 13:00:30 +0100 (CET) Created on: MaintStrauss Type: bugfix Problem Description (Customer terms) When going back 23 months in time from 1st December 2008, the function utc.add should give the result 1st January of 2007. But the result is 1st January 2006 which is wrong. Workaround Use years and months instead of only months as arguments for utc.add(…). Affected Executables bshell Motive source SDIS:TECH-00000-04750 MaintBeethoven: # 42104 (BDNT33876): Use server dates in stead of client dates Date: Wed, 21 Jan 2009 09:35:28 +0100 (CET) Created on: MaintBeethoven Type: bugfix Problem Description (Customer terms) In ERP users can select dates/times by usage of the + (add) and - (subtract) facility. However the resulting date/time calculation is based on the actual local PC (client) date/time and not on the server date/time. This is an undesirable situation when the local PC time is not set correctly. Test Procedure See problem description in SDIS: TECH-00000-03632 Affected Executables bw.exe Motive source ScrumStory:LNCSA-45 MaintBeethoven: # 42063 (BDNT33663): BwPrint: errors when run as server printer Date: Fri, 16 Jan 2009 16:51:30 +0100 (CET) Created on: MaintStrauss Type: bugfix Problem Description (Customer terms) Windows Server Printing on some HP printer drivers sometimes causes "StartDoc failed" events in Event Viewer. Test Procedure Use Windows Server Printer. Use HP P3005 PS or HP Universal Printing PS driver Connect to the bshell as a domain user. Take care that that same domain user is NOT logged in interactively on the windows machine where the bshell is running. You may connect with Remote Desktop, but then DO NOT USE that same domain user. You may connect to the (shared) printer to see its queue. You may use your local event viewer to see whether events are logged on the remote machine. You may use a normal print session, or you may use a simple 3GL script like this: function main() { run.prog( "C:\Infor\FatClients\BaanIV\bse\bin\bwprint.exe", "/s /p c:\shared\sdis\tech4619\fonttest0.bpf", RP_WAIT ) } First use an old bwprint to see whether you can reproduce the "StartDoc failed" events. Then use the new bwprint and see that no "StartDoc failed" event is generated. Affected Executables bwprint.exe Motive source SDIS:TECH-00000-04619 MaintBeethoven: # 42056 (BDUX33865): LNCPE-145 exec_function and the like should be case insensitive Date: Fri, 16 Jan 2009 15:40:28 +0100 (CET) Created on: MaintBeethoven Type: bugfix Problem Description (Customer terms) No test for case insensitivity of function name in get_function, exec_dll_function, and parse_and_exec_function. Workaround NA Test Procedure Run tests_bshell/exec_fun Motive source ScrumStory:LNCPE-145 DevBeethoven: # 42041 (BDUX33783): LNCPE-186: Solve JVMI-2 hang on Windows Date: Wed, 14 Jan 2009 17:24:40 +0100 (CET) Created on: DevBeethoven Type: bugfix Problem Description (Customer terms) On Windows starting the tmboaserver with JVMI-2 fails. When a second tm= boaserver=20 is started with the same bshell both the first and second tmboaserver s= tart and=20 both work as expected. Workaround Set the resource "jvmi_arch:1", which means that the JavaVM is started = as a=20 shared library (dll), and not as a seperate process. Test Procedure Start the tmboaserver. Affected Executables bshell bjvmi.jar Motive source ScrumStory:LNCPE-186 MaintBeethoven: # 42037 (BDNT33847): Unable to view file with extension .jpg Date: Wed, 14 Jan 2009 16:12:53 +0100 (CET) Created on: MaintStrauss Type: bugfix Problem Description (Customer terms) When trying the view an file which is located on the client with the default viewer and the file has the extension .jpg, this fails with an error message. Test Procedure Start test session: "tewhrodm" on nlbautd4. Fill in the pathname of a local .jpg file. Push button: start. Affected Executables bw.exe Motive source SDIS:ERP-00000-23031 DevBeethoven: # 41914 (BDUX33076): TECH-00000-04472: Bad performance with MySQL - implement LIMIT clause for AS SET WITH n ROWS statements Date: Fri, 2 Jan 2009 13:20:53 +0100 (CET) Created on: MaintDesprez Type: bugfix Problem Description (Customer terms) The performance of SQL statement containing the AS SET WITH n ROWS clause is very bad, considering that it is known that only 'n' rows are needed. The MySQL database driver should use the MySQL LIMIT clause to limit the result set to 'n' rows. Test Procedure On MySQL execute an SQL statement containing an AS SET WITH n ROWS clause. Use DBSLOG=400 to verify that the SQL statement sent to MySQL contains the fragment "LIMIT 0,n". Affected Executables mysql_srv Motive source SDIS:TECH-00000-04472 DevBeethoven: # 41893 (BDUX33730): TECH-00000-04650: LNCPE-206: ODBC/JDBC: jbdb reads too many DD files Date: Tue, 30 Dec 2008 13:41:16 +0100 (CET) Created on: DevBeethoven Type: enhancement Problem Description (Customer terms) The ODBC/JDBC solution is too slow when the network latency is high. Test Procedure Using the ODBC/JDBC solution prepare/execute a simple statement, for example on table tcmcs023 beacause this table has a lot of related tables. Use a high latency network (a wireless VPN connection is sufficient). Observe that with this solution the waiting time is considerably reduced. Affected Executables jbdb Motive source ScrumStory:LNCPE-206 DevBeethoven: # 41849 (BDUX33713): TECH-00000-04250: SQL processor: Starting multiple parallel drivers with clean shared memory fails Date: Mon, 22 Dec 2008 15:26:09 +0100 (CET) Created on: DevBeethoven Type: bugfix Problem Description (Customer terms) Starting multiple parallel bshells with clean shared memory fails. The SQL processor in the bshell aborts with the following log message: SQLNetAgentClient::Fetch: Expected return packet The problem reproduces with an MRP run and on HPIA64, although the problem is not related to the hardware. Workaround One work-around is to set the resource use_shm_info:0. This prevents the database driver from using DDs stored in shared memory. Another work-around is to guarantee that all DDs are storted in shared memory. This can be done by first running the session with a single bshell. Test Procedure A better reproduction scenario than the following is not kwown: - in session "Performance Boosters" (tcmcs0197s000, started from tcmcs0597m000) set the number of parallel bshells to 2; - restart the environment (rc.stop followed by rc.start); - start an MRP run (cprrp1210m000); - note that 2 (extra) bshells are started. These should remain running. Affected Executables All database drivers Motive source SDIS:TECH-00000-04250 DevBeethoven: # 41842 (BDUX33724): TECH-00000-04561: company_nr join predicate is not allowed in a FULL OUTER JOIN Date: Mon, 22 Dec 2008 12:17:52 +0100 (CET) Created on: DevBeethoven Type: bugfix Problem Description (Customer terms) The SQL processor forbids to have a company_nr predicate in the ON clause of a FULL OUTER JOIN. This restriction makes no sense, it should just act as a filter on the company_nr column. Here follows an example of an SQL statement that contains a company_nr predicate in the ON clause of a FULL OUTER JOIN: -- Powered by General SQL Parser (www.sqlparser.com) SELECT emps.company_nr, emps.workdept, emps.lastname, emps.max_salary, depts.company_nr, depts.deptname FROM (SELECT emps_salary.company_nr, workdept, lastname, "max_salary" FROM (SELECT company_nr, workdept, MAX(salary) AS "max_salary" FROM dbtst120 WHERE company_nr IN (0,1) AND salary > 30000 GROUP BY company_nr,workdept) emps_max_salary INNER JOIN (SELECT company_nr, salary, lastname FROM dbtst120) emps_salary ON emps_max_salary."max_salary" = emps_salary.salary AND emps_salary.company_nr = emps_max_salary.company_nr) emps FULL JOIN (SELECT company_nr, deptno, deptname FROM dbtst100 WHERE company_nr IN (0,1)) depts ON emps.workdept = depts.deptno AND emps.company_nr = depts.company_nr Test Procedure Write an SQL statement that contains a company_nr predicate in the ON clause of a FULL OUTER JOIN. It should execute nicely. Affected Executables bshell bsql jbdb Motive source SDIS:TECH-00000-04561 DevBeethoven: # 41819 (BDUX33698): TECH-00000-04677: Failure to start remote database driver when remote tabledef contains multiple entries Date: Thu, 18 Dec 2008 15:15:21 +0100 (CET) Created on: MaintStrauss Type: bugfix Problem Description (Customer terms) If the tabledef file is read from a remote BSE and it contains multiple entries, the remote database driver may fail to start. The log/event viewer reveals that an attempt is made to start a local database driver. This problem is most likely to occur with the ODBC/JDBC connectivity, because then the tabledef file is always read from a remote BSE and never from the local BSE. Workaround Copy the remote tabledef to the local BSE and prefix every driver name with the hostname of the remote BSE. For example: local BSE on host nlbawcpm1 remote BSE on host nlbaumn4 --------------------------- --------------------------- bse/lib/tabledef bse/lib/tabledef tccom000:*:nlbaumn4!oracle8 tccom000:*:oracle8 tiitm001:*:nlbaumn4!oracle8 tiitm001:*:oracle8 Test Procedure See Problem Description (Technical Terms). Affected Executables All database clients (bshell, bsql, jbdb, bdbpre, ...) Motive source SDIS:TECH-00000-04677 DevBeethoven: # 41706 (BDUX33323): float exception error when entering value code E12345 in field Amount. Date: Tue, 9 Dec 2008 14:38:38 +0100 (CET) Created on: MaintStrauss Type: bugfix Problem Description (Customer terms) When a field is filled with for example e12345 and presses tab an exception error is generated. Workaround N/A Test Procedure Created test script float_exponent_boundary.test Motive source SDIS:ERP-00000-49460 DevBeethoven: # 41689 (BDUX33535): LNCPE-188: ODBC/JDBC: Support long user names Date: Mon, 8 Dec 2008 17:56:22 +0100 (CET) Created on: DevBeethoven Type: bugfix Problem Description (Customer terms) The ODBC/JDBC solution does not support long user names. It should be possible to have the $BSE/lib/user/c/c file on the LN server, and let ODBC/JDBC use that file to find out the (short) application user name. Normally, with the bshell, the c file _must_ reside on the client side and _not_ on a remote BSE, because the (short) application user name must be known before we can connect to the remote BSE (because we must open the correct r file). With ODBC/JDBC this is not needed when the connection parameters are supplied. The parameters suffice to connect to the remote BSE. Workaround Create a $BSE/lib/user/c/c in the local (mini) BSE. Test Procedure Use the ODBC/JDBC solution to connect to a remote BSE using a long user name. Affected Executables jbdb Motive source ScrumStory:LNCPE-188 DevBeethoven: # 41635 (BDUX33531): oracle: tag v\$session with ERPLN information Date: Thu, 4 Dec 2008 16:59:59 +0100 (CET) Created on: DevBeethoven Type: porting specific change Problem Description (Customer terms) Consultants and DBA's can not correlate the information in Oracle's v$session table to actual database driver processes and users. Affected Executables ora_srv Motive source ScrumStory:LNCPE-179 DevBeethoven: # 41632 (BDUX33526): JVMI-2: Vertex integration fails to start on Unix/Linux - empty bucket is not accepted (receive) Date: Thu, 4 Dec 2008 15:03:13 +0100 (CET) Created on: DevBeethoven Type: bugfix Problem Description (Customer terms) The Vertex integration fails to start. This may be observed as follows: - Start the "Addresses" session (tccom4530m000) - Create a new address - Save the new address The session hangs. Workaround Set the following resource in $BSE/lib/defaults/all: jvmi_arch:1 This causes the JavaVM to be started as a shared library, and not as a separate process. Future note: on 64-bit builds this fallback is not available. Test Procedure Unset the jvmi_arch:1 resource (or set jvmi_arch:2) and observe that the Vertex integration starts successfully. Affected Executables bshell DevBeethoven: # 41487 (BDUX33408): shm compnr: shm_brk should never abort Date: Tue, 25 Nov 2008 11:23:33 +0100 (CET) Created on: MaintStrauss Type: bugfix Problem Description (Customer terms) The logfile contains a line like: shm_brk errno: most possible no more shared memory space and the bshell or any other tool is hanging, while using some CPU time. Workaround set resource use_shm_info:0 Affected Executables all DevBeethoven: # 41453 (BDNT33383): Interface was changed by accident, affecting installer Date: Fri, 21 Nov 2008 12:16:18 +0100 (CET) Created on: DevBeethoven Type: bugfix Problem Description (Customer terms) The installer may fail to install a new BSE, due to a bug in the baanreg.dll. DevBeethoven: # 41389 (BDNT33322): new patch release 6.2.7.138 of ow.jar Date: Tue, 18 Nov 2008 13:00:19 +0100 (CET) Created on: DevBeethoven Type: bugfix Problem Description (Customer terms) a multithread issue with baan DB Server DevBeethoven: # 41368 (BDUX33302): TECH-00000-04547: SQL: Prepare of SQL statement with join of grouped query with renamed rcd_utc column and base table results in crash Date: Mon, 17 Nov 2008 11:03:32 +0100 (CET) Created on: MaintStrauss Type: bugfix Problem Description (Customer terms) Preparing the following SQL statement results in a crash ("Unexpected exception"): SELECT a."cwoc" AS work_center_id, a."dsca" AS work_center_nm, a."crmp" AS critical_wc_cd, CASE a."crmp" WHEN 1 THEN a."dsca" ELSE NULL END AS critical_wc_dsc, CASE a."kowc" WHEN 4 THEN 0 ELSE a."ccap" END AS prime_load_cd, Enum_description(a."ccap",'2') AS prime_load_dsc_temp, a."noop" AS wc_emp_cnt, a."nomc" AS wc_mchn_cnt, c.currency_cd AS currency_cd, c.direct_labor_rt AS direct_labor_rt, c.setup_labor_rt AS setup_labor_rt, c.machine_run_rt AS machine_run_rt, c.labor_var_ovrhd_rt AS labor_var_ovrhd_rt, c.labor_fxd_ovrhd_rt AS labor_fxd_ovrhd_rt, c.mchn_var_ovrhd_rt AS mchn_var_ovrhd_rt, c.mchn_fxd_ovrhd_rt AS mchn_fxd_ovrhd_rt, CASE a."mnwc" WHEN '' THEN CASE a."kowc" WHEN 4 THEN 0 ELSE 1 END ELSE 2 END AS wc_hier_lvl_no, CASE a."mnwc" WHEN '' THEN a."cwoc" ELSE a."mnwc" END AS wc_lvl1_id, a."cwoc" AS wc_lvl2_id, CASE a."mnwc" WHEN '' THEN a."dsca" ELSE e."dsca" END AS wc_lvl1_nm, a."dsca" AS wc_lvl2_nm, a."company_nr" AS company_cd FROM tirou001 AS a INNER JOIN ticpr000 AS b ON (a."company_nr" = b."company_nr" AND b.indt = 0) LEFT OUTER JOIN (SELECT "company_nr", "cpcc", "oprc", SUM(CASE "orty" WHEN 1 THEN "rate(1)" ELSE 0 END) AS direct_labor_rt, SUM(CASE "orty" WHEN 1 THEN "rate(1)" ELSE 0 END) AS setup_labor_rt, SUM(CASE "orty" WHEN 2 THEN "rate(1)" ELSE 0 END) AS machine_run_rt, SUM(CASE "orty" WHEN 1 THEN "rate(1)" ELSE 0 END) AS setup_labor_rt, SUM(CASE "orty" WHEN 2 THEN "rate(1)" ELSE 0 END) AS machine_run_rt, SUM(CASE "orty" WHEN 4 THEN CASE "vaco" WHEN 1 THEN "rate(1)" ELSE 0 END ELSE 0 END) AS mchn_var_ovrhd_rt, SUM(CASE "orty" WHEN 4 THEN CASE "vaco" WHEN 2 THEN "rate(1)" ELSE 0 END ELSE 0 END) AS mchn_fxd_ovrhd_rt, MAX("ccur") AS currency_cd, MAX("rcd_utc") AS rcd_utc FROM ticpr150 WHERE "company_nr" IN (90) AND "cprj" = '' GROUP BY "company_nr","cpcc","oprc") AS c ON (a."oprc" = c."oprc" AND b."sccc" = c."cpcc" AND b."kort" <> 2) LEFT OUTER JOIN tirou001 AS e ON (e."cwoc" = a."mnwc" AND e."company_nr" = a."company_nr" AND e."mnwc" = '') WHERE a.company_nr IN (90) AND ((a."rcd_utc" BETWEEN TIMESTAMP '1970-01-01 00:00:00' AND TIMESTAMP '2008-10-27 14:02:38') OR (c.rcd_utc BETWEEN TIMESTAMP '1970-01-01 00:00:00' AND TIMESTAMP '2008-10-27 14:02:38')) Test Procedure Run the SQL statement stated in the Problem Description (Customer terms). You can use bsql as follows: bsql6.2 -p464 -f It should produce a result (possibly empty). Affected Executables bshell bsql jbdb Motive source SDIS:TECH-00000-04547 DevBeethoven: # 41303 (BDUX33250): oracle: resource use_binary_columns=1 crashes in Unicode mode Date: Wed, 12 Nov 2008 11:00:43 +0100 (CET) Created on: DevBeethoven Type: bugfix Problem Description (Customer terms) Oracle driver in Unicode mode: when the resource use_binary_columns=1 is set, the driver dumps core on disguised binary columns. Note that this resource is normally NOT set in Unicode mode. Test Procedure bdbpost of table tttxt010 Affected Executables ora_srv Motive source TCS:800-166464 DevBeethoven: # 41255 (BDUX33205): Record buffer to variable assignment should be less strict (addon to BDUX33049) Date: Fri, 7 Nov 2008 14:19:50 +0100 (CET) Created on: MaintStrauss Type: bugfix Problem Description (Customer terms) 1 : process 33 - Fatal error : Record buffer 'rcd.tttsam422' (61 bytes long) would be cut off when copying to '' (55 bytes long) 2 : process 33 - Fatal error : Can not continue in ttstpoledaem in DLL: ottsammain (open.object.set)[last function:rdi.table.column] Test Procedure regression test Affected Executables bshell Motive source TCS:800-167656 DevBeethoven: # 41244 (BDUX33190): Idle database sessions are not closed in combo mode Date: Thu, 6 Nov 2008 16:21:24 +0100 (CET) Created on: MaintStrauss Type: bugfix Problem Description (Customer terms) When database drivers are started in combo mode, the number of open database connections is much higher when compared to non-combo mode Workaround Increase number of database sessions in your RDBMS or start the database driver in non-combo mode. Test Procedure regression test Affected Executables bshell DevBeethoven: # 41216 (BDUX33124): SQL: Optimize handling of the TRIM function Date: Wed, 5 Nov 2008 14:36:24 +0100 (CET) Created on: DevBeethoven Type: enhancement Problem Description (Customer terms) The SQL language supports the TRIM function, but the performance of this function is very bad. Test Procedure Write a SQL statement containing the TRIM function in the WHERE clause (functions in the SELECT clause are supported, but always evaluated in the database driver), and verify that it is handled by the database (using DBSLOG=400 for example). Here is an example: select name from dbtst000 where trim( trailing from name ) alike '%EN'; This would match any name that ends in the characters "EN", for example "EILEEN". Affected Executables All database drivers DevBeethoven: # 41186 (BDUX33141): Bshell: curl.perform crashes on a NULL pointer dereference Date: Sat, 1 Nov 2008 11:19:49 +0100 (CET) Created on: DevBeethoven Type: bugfix Problem Description (Customer terms) The bshell function curl.perform crashes on some platforms if the environment variable CURL_PERFORM_BLOCKING is not set. Workaround Set the environment variable CURL_PERFORM_BLOCKING=0. Test Procedure Execute the curl.perform() function without setting the environment variable CURL_PERFORM_BLOCKING. Affected Executables bshell