No prob on the short messages, Doug. J
Just to clarify:
CF won't let you do this:
<cftransaction>
<cfset something.save() />
<cfset somethingelse.save() />
</cftransaciton>
But CF will let you do this(?):
<cftransaction>
<cfquery>
all the queries in those cfset's above: selects /inserts/get ids
</cfquery>
</cftransaction>
?
> The issue is this: CF won't let you do something like:
>
>
>
> <cftransaction>
>
> <cfset something.save() />
>
> <cfset somethingelse.save() />
>
> </cftransaciton>
On 4/19/06, Doug Hughes <[EMAIL PROTECTED]> wrote:
>
>
>
>
> Sorry for the short message before and the short message now.
>
>
>
> The issue is this: CF won't let you do something like:
>
>
>
> <cftransaction>
>
> <cfset something.save() />
>
> <cfset somethingelse.save() />
>
> </cftransaciton>
>
>
>
> I wish it did, but it doesn't.
>
>
>
> So, that's why the transactions are set up the way they are.
>
>
>
> If you start changing the framework and xsl, etc, I can't help you!
>
>
>
> Doug
>
> ________________________________
>
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jeff Lester
> Sent: Wednesday, April 19, 2006 8:09 PM
>
> To: [email protected]
> Subject: Re: [Reactor For CF] Fwd: MYSQL4L cftransactions around multiple
> reactor inserts/updates/queries?
>
>
>
>
>
>
>
> I would say it probably completely defeats the point of using reactor if your
> going to start over-riding it's built-in functionality with your own
> home-brew code.
>
>
> On 4/20/06, Daryl <[EMAIL PROTECTED]> wrote:
>
>
> Is it ok to have removed the reactor cftransaction tags from dao.project.xsl
> and handle the transactions outside the reactor calls?
>
>
>
>
>
> On 4/19/06, Doug Hughes <[EMAIL PROTECTED]> wrote:
>
> You essentially can't. Sorry.
>
> Doug
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto: [EMAIL PROTECTED] On Behalf
> Of Daryl
> Sent: Wednesday, April 19, 2006 7:35 PM
> To: [email protected]
> Subject: Re: [Reactor For CF] Fwd: MYSQL4L cftransactions around multiple
> reactor inserts/updates/queries?
>
> Hey Doug, I removed the CFTRANSACTION tags from the dao.project.xsl
> file that generates the dao objects in the projects/dao folder. (i
> also removed the cftransaction tags from any already created DAO
> cfcs.) I then wrapped the reactor calls i need to be part
> of a transaction in CFTRANSACTION tags. Will this cause a performance
> hit/system crash? it seems to be...
>
> the basic problem i'm trying to solve is how to wrap multiple reactor
> calls in CFTRANSACTION tags--esp when one of the reactor calls is an
> insert that returns an ID
>
> CFMX 6.1, so nested transaction tags aren't available,
>
> -Daryl
>
> On 4/19/06, Doug Hughes < [EMAIL PROTECTED]> wrote:
> > Daryl -
> >
> > No need to yell. :)
> >
> > No need to send this two of sean's emails, especially seeing as he's on
> this
> > list.
> >
> > Doug
> >
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [mailto: [EMAIL PROTECTED] On
> Behalf
> > Of Daryl
> > Sent: Wednesday, April 19, 2006 7:11 PM
> > To: [email protected]; [EMAIL PROTECTED]
> > Cc: [EMAIL PROTECTED]
> > Subject: [Reactor For CF] Fwd: MYSQL4L cftransactions around multiple
> > reactor inserts/updates/queries?
> >
> > ******* HOW IS (or can it be?) THIS DONE IN REACTOR? i.e, nested
> > cftransaction tags?
> > >>>>><cftransaction>
> >
> > <!--- create the reactorFactory --->
> > <cfset Reactor = CreateObject("Component",
> > "reactor.reactorFactory").init("/var/www/html/reactor/reactor.xml") />
> >
> > <!--- create a Record --->
> > <cfset Consumers_Record =
> > Reactor.createRecord("Consumers") />
> >
> > <!--- populate the new record --->
> > <cfset
> > Consumers_Record.SETCREATE_DTM("#arguments.CREATE_DTM#") />
> >
> > <!--- save the record --->
> > <cfset Consumers_Record.save() />
> >
> > <!--- create local var --->
> > <Cfset inserted_id_consumer =
> > Consumers_Record.GETCONSUMER_ID()>
> >
> >
> > <!--- create a Gateway --->
> > <cfset Data_Elements_Gateway =
> > reactor.createGateway("R_Event_Location_Activity_Type") />
> >
> > <!--- set where vars --->
> > <cfset qData_Elements =
> >
> Data_Elements_Gateway.getByFields(Event_Location_ID=#Get_EL_ID.Event_Locatio
> > n_ID#,ACTIVITY_TYPE_ID=17)/>
> >
> > <!--- create local var --->
> > <cfset EMAIL_SEND_R_ELAT_ID =
> > #qData_Elements.R_ELAT_ID#>
> >
> >
> >
> > <!--- create a record --->
> > <cfset Footprints_Record =
> > Reactor.createRecord("Footprints") />
> >
> > <!--- populate the new record --->
> > <cfset
> > Footprints_Record.SETEVENT_TOKEN_ID("#arguments.BARCODE_ID#")>
> > <cfset
> > Footprints_Record.SETR_ELAT_ID("#EMAIL_SEND_R_ELAT_ID#") />
> > <cfset
> > Footprints_Record.SETEVENT_DAY_ID("#arguments.SUB_EVENT_DATE_ID#") />
> > <cfset
> > Footprints_Record.SETCLIENT_LICENSE_ID("#efn_client_licenseID#") />
> > <cfset
> > Footprints_Record.SETSYSTEM_ID("#arguments.CAMERA_ID#")>
> > <cfset
> > Footprints_Record.SETCREATE_DTM("#arguments.CREATE_DTM#") />
> > <cfset Footprints_Record.SETSAMPLE_FLAG("0")>
> > <cfset Footprints_Record.SETIP_ADDRESS("")>
> >
> > <!--- save the record --->
> > <cfset Footprints_Record.save() />
> >
> >
> > <!--- create a record --->
> > <cfset R_Consumer_Event_Token_Record =
> > Reactor.createRecord("R_Consumer_Event_Token") />
> >
> > <!--- populate the new record --->
> > <cfset
> > R_Consumer_Event_Token_Record.SETCREATE_DTM("#arguments.CREATE_DTM#")
> > />
> > <cfset
> > R_Consumer_Event_Token_Record.SETCONSUMER_ID("#inserted_id_consumer#")
> > />
> > <cfset
> > R_Consumer_Event_Token_Record.SETEVENT_TOKEN_ID("#arguments.BARCODE_ID#")>
> >
> > <!--- save the record --->
> > <cfset R_Consumer_Event_Token_Record.save() />
> >
> > <!--- create local var --->
> > <Cfset inserted_id_rcetr =
> > R_Consumer_Event_Token_Record.GETEVENT_TOKEN_ID()>
> >
> > <!--- create a Gateway --->
> > <cfset Data_Elements_Gateway =
> > reactor.createGateway("R_Event_Location_Activity_Type") />
> >
> > <!--- set where vars --->
> > <cfset qData_Elements =
> >
> Data_Elements_Gateway.getByFields(Event_Location_ID=#efn_event_location_id#,
> > ACTIVITY_TYPE_ID=2)
> > />
> >
> > <!--- create local var --->
> > <cfset LDC_R_ELAT_ID = #qData_Elements.R_ELAT_ID#>
> >
> >
> > <!--- create a record --->
> > <cfset Footprints_Record =
> > Reactor.createRecord("Footprints") />
> >
> > <!--- populate the new record --->
> > <cfset
> > Footprints_Record.SETEVENT_TOKEN_ID("#arguments.BARCODE_ID#")>
> > <cfset
> > Footprints_Record.SETR_ELAT_ID("#LDC_R_ELAT_ID#") />
> > <cfset
> > Footprints_Record.SETEVENT_DAY_ID("#arguments.SUB_EVENT_DATE_ID#") />
> > <cfset
> > Footprints_Record.SETCLIENT_LICENSE_ID("#efn_client_licenseID#") />
> > <cfset
> > Footprints_Record.SETSYSTEM_ID("#arguments.CAMERA_ID#")>
> > <cfset
> > Footprints_Record.SETCREATE_DTM("#arguments.CREATE_DTM#") />
> > <cfset Footprints_Record.SETSAMPLE_FLAG("0")>
> > <cfset Footprints_Record.SETIP_ADDRESS("")>
> >
> > <!--- save the record --->
> > <cfset Footprints_Record.save() />
> >
> > <!--- create local var --->
> > <Cfset inserted_id_footprints =
> > Footprints_Record.GETFOOTPRINT_ID()>
> >
> >
> > <Cfif email_write eq 1>
> > <!--- EMAIL --->
> > <!--- create a record --->
> > <cfset
> R_Consumer_Data_Element_Answer_Record
> > =
> > Reactor.createRecord("R_Consumer_Data_Element_Answer") />
> >
> > <!--- populate the new record --->
> > <cfset
> >
> R_Consumer_Data_Element_Answer_Record.SETCONSUMER_ID("#inserted_id_consumer#
> > ")>
> > <cfset
> > R_Consumer_Data_Element_Answer_Record.SETDATA_ELEMENT_ID("4") />
> > <cfset
> >
> R_Consumer_Data_Element_Answer_Record.SETFOOTPRINT_ID("#inserted_id_footprin
> > ts#")
> > />
> > <cfset
> >
> R_Consumer_Data_Element_Answer_Record.SETCREATE_DTM("#arguments.CREATE_DTM#"
> > )
> > />
> > <cfset
> >
> R_Consumer_Data_Element_Answer_Record.SETANSWER_TEXT("#trim( arguments.EMAIL)
> > #")>
> > <cfset
> >
> R_Consumer_Data_Element_Answer_Record.SETANSWER_DATE("#arguments.CREATE_DTM#
> > ")>
> >
> > <!--- save the record --->
> > <cfset
> > R_Consumer_Data_Element_Answer_Record.save() />
> > </Cfif>
> >
> > <Cfif first_name_write eq 1>
> >
> > <!--- FIRST_NAME --->
> > <!--- create a record --->
> > <cfset
> R_Consumer_Data_Element_Answer_Record
> > =
> > Reactor.createRecord("R_Consumer_Data_Element_Answer") />
> >
> > <!--- populate the new record --->
> > <cfset
> >
> R_Consumer_Data_Element_Answer_Record.SETCONSUMER_ID("#inserted_id_consumer#
> > ")>
> > <cfset
> > R_Consumer_Data_Element_Answer_Record.SETDATA_ELEMENT_ID("6") />
> > <cfset
> >
> R_Consumer_Data_Element_Answer_Record.SETFOOTPRINT_ID("#inserted_id_footprin
> > ts#")
> > />
> > <cfset
> >
> R_Consumer_Data_Element_Answer_Record.SETCREATE_DTM("#arguments.CREATE_DTM#"
> > )
> > />
> > <cfset
> >
> R_Consumer_Data_Element_Answer_Record.SETANSWER_TEXT("#trim( arguments.FIRST_
> > NAME)#")>
> > <cfset
> >
> R_Consumer_Data_Element_Answer_Record.SETANSWER_DATE("#arguments.CREATE_DTM#
> > ")>
> >
> > <!--- save the record --->
> > <cfset
> > R_Consumer_Data_Element_Answer_Record.save() />
> > </Cfif>
> > <Cfif last_name_write eq 1>
> >
> > <!--- LAST_NAME --->
> > <!--- create a record --->
> > <cfset
> R_Consumer_Data_Element_Answer_Record
> > =
> > Reactor.createRecord("R_Consumer_Data_Element_Answer") />
> >
> > <!--- populate the new record --->
> > <cfset
> >
> R_Consumer_Data_Element_Answer_Record.SETCONSUMER_ID("#inserted_id_consumer#
> > ")>
> > <cfset
> > R_Consumer_Data_Element_Answer_Record.SETDATA_ELEMENT_ID("7") />
> > <cfset
> >
> R_Consumer_Data_Element_Answer_Record.SETFOOTPRINT_ID("#inserted_id_footprin
> > ts#")
> > />
> > <cfset
> >
> R_Consumer_Data_Element_Answer_Record.SETCREATE_DTM("#arguments.CREATE_DTM#"
> > )
> > />
> > <cfset
> >
> R_Consumer_Data_Element_Answer_Record.SETANSWER_TEXT("#trim( arguments.LAST_N
> > AME)#")>
> > <cfset
> >
> R_Consumer_Data_Element_Answer_Record.SETANSWER_DATE("#arguments.CREATE_DTM#
> > ")>
> >
> > <!--- save the record --->
> > <cfset
> > R_Consumer_Data_Element_Answer_Record.save() />
> > </Cfif>
> > <Cfif optin_write eq 1>
> >
> > <cfif arguments.optin is 1>
> > <Cfset this_optin = 194>
> > <cfelse>
> > <Cfset this_optin = 195>
> > </cfif>
> >
> > <!--- OPTIN --->
> > <!--- create a record --->
> > <cfset
> R_Consumer_Data_Element_Answer_Record
> > =
> > Reactor.createRecord("R_Consumer_Data_Element_Answer") />
> >
> > <!--- populate the new record --->
> > <cfset
> >
> R_Consumer_Data_Element_Answer_Record.SETCONSUMER_ID("#inserted_id_consumer#
> > ")>
> > <cfset
> > R_Consumer_Data_Element_Answer_Record.SETDATA_ELEMENT_ID("35") />
> > <cfset
> >
> R_Consumer_Data_Element_Answer_Record.SETFOOTPRINT_ID("#inserted_id_footprin
> > ts#")
> > />
> > <cfset
> >
> R_Consumer_Data_Element_Answer_Record.SETCREATE_DTM("#arguments.CREATE_DTM#"
> > )
> > />
> > <cfset
> > R_Consumer_Data_Element_Answer_Record.SETANSWER_ID("#this_OPTIN#")>
> > <cfset
> >
> R_Consumer_Data_Element_Answer_Record.SETANSWER_DATE("#arguments.CREATE_DTM#
> > ")>
> >
> > <!--- save the record --->
> > <cfset
> > R_Consumer_Data_Element_Answer_Record.save() />
> > </cfif>
> > ******* HOW IS THIS DONE IN REACOTOR? i.e, nested cftransaction tags?
> > >>>>> </cftransaction>
> >
> >
> >
> > -- Reactor for ColdFusion Mailing List -- [email protected]
> > -- Archives at http://www.mail-archive.com/reactor%40doughughes.net/
> >
> >
> >
> >
> >
> > -- Reactor for ColdFusion Mailing List -- [email protected]
> > -- Archives at http://www.mail-archive.com/reactor%40doughughes.net/
> >
> >
> >
>
>
>
> -- Reactor for ColdFusion Mailing List -- [email protected]
> -- Archives at http://www.mail-archive.com/reactor%40doughughes.net/
>
>
>
>
>
> -- Reactor for ColdFusion Mailing List -- [email protected]
> -- Archives at http://www.mail-archive.com/reactor%40doughughes.net/
>
>
>
>
> -- Reactor for ColdFusion Mailing List -- [email protected] -- Archives
> at http://www.mail-archive.com/reactor%40doughughes.net/
>
>
> -- Reactor for ColdFusion Mailing List -- [email protected] -- Archives
> at http://www.mail-archive.com/reactor%40doughughes.net/
>
> -- Reactor for ColdFusion Mailing List -- [email protected] --
> Archives at http://www.mail-archive.com/reactor%40doughughes.net/
-- Reactor for ColdFusion Mailing List -- [email protected]
-- Archives at http://www.mail-archive.com/reactor%40doughughes.net/