reactor  

Re: [Reactor for CF] Third try for this topic - Reactor creates duplicate fields in objects

Tom McNeer
Tue, 07 Nov 2006 12:04:25 -0800

Okay,

Some more information, and an apology.


On 11/6/06, Tom Chiverton <[EMAIL PROTECTED] > wrote:
Also useful would be what Reactor (SVN) version you are using, and if you can
upgrade to the latest and try that that'd help too.


I have now upgraded to the latest SVN version of Reactor, but the problem persists.

The apology, however, comes in this form: I cited the wrong table in my example earlier. The table created with the script quoted earlier works fine.

Here's the create script for the table which creates many, many duplicated fields when the record object is generated by Reactor:


CREATE TABLE [dbo].[ENTITY] (
    [BUSINESS_TYPE_CODE]    int NULL,
    [COUNTY]                varchar(30) NULL,
    [NATURE_OF_BUSINESS]    varchar(50) NULL,
    [SIC_CODE]              int NULL,
    [SIC_CODE_DESC]         varchar(150) NULL,
    [WC_FILING_NUMBER]      varchar(30) NULL,
    [ENTITY_ID]             int NULL,
    [ENTITY_TABLE_ID]       int NULL,
    [LAST_NAME]             varchar(50) NULL,
    [LAST_NAME_SOUNDEX]     varchar(8) NULL,
    [FIRST_NAME]            varchar(50) NULL,
    [ALSO_KNOWN_AS]         varchar(50) NULL,
    [ABBREVIATION]          varchar(20) NULL,
    [COST_CENTER_CODE]      int NULL,
    [ADDR1]                 varchar(50) NULL,
    [ADDR2]                 varchar(50) NULL,
    [CITY]                  varchar(50) NULL,
    [COUNTRY_CODE]          int NULL,
    [STATE_ID]              int NULL,
    [ZIP_CODE]              varchar(10) NULL,
    [PARENT_EID]            int NULL,
    [TAX_ID]                varchar(20) NULL,
    [CONTACT]               varchar(50) NULL,
    [COMMENTS]              text NULL,
    [EMAIL_TYPE_CODE]       int NULL,
    [EMAIL_ADDRESS]         varchar(100) NULL,
    [SEX_CODE]              int NULL,
    [BIRTH_DATE]            varchar(8) NULL,
    [PHONE1]                varchar(30) NULL,
    [PHONE2]                varchar(30) NULL,
    [FAX_NUMBER]            varchar(30) NULL,
    [DTTM_RCD_ADDED]        varchar(14) NULL,
    [DTTM_RCD_LAST_UPD]     varchar(14) NULL,
    [UPDATED_BY_USER]       varchar(8) NULL,
    [ADDED_BY_USER]         varchar(8) NULL,
    [DELETED_FLAG]          smallint NULL,
    [TRIGGER_DATE_FIELD]    varchar(50) NULL,
    [EFF_START_DATE]        varchar(8) NULL,
    [EFF_END_DATE]          varchar(8) NULL,
    [SEC_DEPT_EID]          int NULL,
    [PARENT_1099_EID]       int NULL,
    [REPORT_1099_FLAG]      smallint NULL,
    [MIDDLE_NAME]           varchar(50) NULL,
    [TITLE]                 varchar(50) NULL,
    [NAICS_CODE]            int NULL,
    [RM_USER_ID]            int NULL,
    [FREEZE_PAYMENTS]       smallint NULL
    )
GO
CREATE INDEX [DC008F]
    ON [dbo].[ENTITY]([LAST_NAME_SOUNDEX])
    WITH FILLFACTOR = 90
GO
CREATE INDEX [DC008B]
    ON [dbo].[ENTITY]([ENTITY_TABLE_ID], [ABBREVIATION])
    WITH FILLFACTOR = 90
GO
CREATE INDEX [DC008D]
    ON [dbo].[ENTITY]([ENTITY_TABLE_ID], [LAST_NAME])
    WITH FILLFACTOR = 90
GO
CREATE INDEX [DC008E]
    ON [dbo].[ENTITY]([LAST_NAME])
    WITH FILLFACTOR = 90
GO
CREATE INDEX [DC008C]
    ON [dbo].[ENTITY]([TAX_ID])
    WITH FILLFACTOR = 90
GO
CREATE UNIQUE INDEX [ENTITY_PK]
    ON [dbo].[ENTITY]([ENTITY_ID])
    WITH FILLFACTOR = 90
GO
CREATE TRIGGER [dbo].[ENTITY_INS] ON dbo.ENTITY FOR INSERT AS
    BEGIN
        UPDATE dbo.ENTITY SET SEC_DEPT_EID = dbo.EMPLOYEE.SEC_DEPT_EID FROM dbo.ENTITY,inserted,dbo.EMPLOYEE WHERE dbo.ENTITY.ENTITY_ID = inserted.ENTITY_ID AND dbo.EMPLOYEE.EMPLOYEE_EID = inserted.ENTITY_ID AND inserted.ENTITY_TABLE_ID = 1060
        UPDATE dbo.ENTITY SET SEC_DEPT_EID = inserted.ENTITY_ID FROM dbo.ENTITY,inserted WHERE inserted.ENTITY_ID = dbo.ENTITY.ENTITY_ID AND inserted.ENTITY_TABLE_ID BETWEEN 1005 AND 1012
        UPDATE dbo.ENTITY SET SEC_DEPT_EID = 0 FROM dbo.ENTITY,inserted WHERE dbo.ENTITY.ENTITY_ID = inserted.ENTITY_ID AND inserted.ENTITY_TABLE_ID <> 1060 AND inserted.ENTITY_TABLE_ID NOT BETWEEN 1005 AND 1012
    END
RETURN
GO

This is the only info in the config xml for the Reactor factory:

       
        <object name="ENTITY">
            <field name="ENTITY_ID" alias="entityID" />
            <field name="LAST_NAME" alias="lastName" />
            <field name="FIRST_NAME" alias="firstName" />
        </object>
 
Just to reiterate: what's happening is that the first time a record object is created for this table, it has fields duplicated 10 times over. I have deleted project files and restarted CF numerous times, and the behavior persists, even with the latest Reactor version.

Any help will be greatly appreciated.

--
Thanks,

Tom

Tom McNeer
MediumCool
http://www.mediumcool.com
1735 Johnson Road NE
Atlanta, GA 30306
404.589.0560
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Reactor for ColdFusion Mailing List
reactor@doughughes.net
Archives at: http://www.mail-archive.com/reactor%40doughughes.net/
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --