Watch, Follow, &
Connect with Us
Public Report
Report From: Blackfish SQL/Core Engine    [ Add a report in this area ]  
Report #:  73926   Status: Reported
BEFORE UPDATE triggers only update columns in second and subsequent rows
Project:  JDataStore Build #:  8.0.2902.10471
Version:    6 Submitted By:   David Clegg
Report Type:  Basic functionality failure Date Reported:  5/13/2009 5:05:30 PM
Severity:    Serious / Highly visible problem Last Updated: 5/13/2009 10:49:17 PM
Platform:    All platforms Internal Tracking #:  
Resolution: Need More Info (Resolution Comments) Resolved in Build: : None
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: None
Description
Using BlackfishSQL for .NET, when using a BEFORE UPDATE trigger to update columns, only columns in the second and subsequent rows being updated have the specified data
applied to the columns.
Steps to Reproduce:
- Download and unzip BSQLTrigger.zip
- Copy the assembly in .\TestTriggers\bin\Debug to the directory where your BSQL assemblys normally reside (or configure BSQL to search the directory where it currently
resides)
- Using a RDBMS tool (such as Data Explorer), connect to .\TestTriggers\Data\Test.jds
- Execute the following DML statements:
INSERT INTO TEST_TABLE (STRING) VALUES ('Test');
INSERT INTO TEST_TABLE (STRING) VALUES ('Test2');


SELECT * FROM TEST_TABLE

Expected: The returned rows should show the current timestamp at the time of insertion in the TRIGGER_STRING and TRIGGER_DATE columns.
Actual: The returned rows only show the current timestamp in the TRIGGER_STRING column. (Already reported as http://qc.codegear.com/wc/qcmain.aspx?d=73925)


- Execute the following DML statements:
UPDATE  TEST_TABLE SET STRING = 'test2' where string = 'Test2'
SELECT * FROM TEST_TABLE

Expected: The updated row will have the TRIGGER_UPDATE, TRIGGER_STRING and TRIGGER_DATE columns set to the current timestamp at the time of the update.
Actual: No columns have the correct timestamp shown.
                        
- Execute the following DML statements:
UPDATE TEST_TABLE SET STRING = 'Test3'
SELECT * FROM TEST_TABLE

Expected: The updated rows will have the TRIGGER_UPDATE, TRIGGER_STRING and TRIGGER_DATE columns set to the current timestamp at the time of the update.
Actual: The TRIGGER_UPDATE and TRIGGER_STRING columns in the second record have the correct timestamp shown.
Workarounds
None
Attachment
TestTriggers.zip
Comments

Tomohiro Takahashi at 5/13/2009 10:53:10 PM -
This is Build No field you set.
> 8.0.2902.10471

Are you using Blackfish SQL for .NET which comes with Delphi 2007(RAD Studio 2007)?
If so, could you please change Project field, Version field and Area field like QC#66197?

Server Response from: ETNACODE01