On 3 December 2011 20:53,  <[email protected]> wrote:
> Author: pmouawad
> Date: Sat Dec  3 20:53:32 2011
> New Revision: 1210001
>
> URL: http://svn.apache.org/viewvc?rev=1210001&view=rev
> Log:
> Bug 52128 - Add JDBC pre- and post-processor
>
> Added:
>    jmeter/trunk/xdocs/images/screenshots/jdbc-post-processor.png   (with 
> props)
>    jmeter/trunk/xdocs/images/screenshots/jdbc-pre-processor.png   (with props)
>    jmeter/trunk/xdocs/usermanual/JDBC-Pre-Post-Processor.jmx

Should really be in the demos/ subdirectory; please move it there (and
change any links)

Also needs EOL setting the same as other JMXs, ie LF (not native)

> Modified:
>    jmeter/trunk/xdocs/usermanual/component_reference.xml
>
> Added: jmeter/trunk/xdocs/images/screenshots/jdbc-post-processor.png
> URL: 
> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/images/screenshots/jdbc-post-processor.png?rev=1210001&view=auto
> ==============================================================================
> Binary file - no diff available.
>
> Propchange: jmeter/trunk/xdocs/images/screenshots/jdbc-post-processor.png
> ------------------------------------------------------------------------------
>    svn:mime-type = application/octet-stream
>
> Added: jmeter/trunk/xdocs/images/screenshots/jdbc-pre-processor.png
> URL: 
> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/images/screenshots/jdbc-pre-processor.png?rev=1210001&view=auto
> ==============================================================================
> Binary file - no diff available.
>
> Propchange: jmeter/trunk/xdocs/images/screenshots/jdbc-pre-processor.png
> ------------------------------------------------------------------------------
>    svn:mime-type = application/octet-stream
>
> Added: jmeter/trunk/xdocs/usermanual/JDBC-Pre-Post-Processor.jmx
> URL: 
> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/JDBC-Pre-Post-Processor.jmx?rev=1210001&view=auto
> ==============================================================================
> --- jmeter/trunk/xdocs/usermanual/JDBC-Pre-Post-Processor.jmx (added)
> +++ jmeter/trunk/xdocs/usermanual/JDBC-Pre-Post-Processor.jmx Sat Dec  3 
> 20:53:32 2011
> @@ -0,0 +1,445 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<jmeterTestPlan version="1.2" properties="2.1">
> +  <hashTree>
> +    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" 
> testname="Concurrent Valuation Test Plan" enabled="true">
> +      <stringProp name="TestPlan.comments">Execute a series of concurrent 
> valuations</stringProp>
> +      <boolProp name="TestPlan.functional_mode">false</boolProp>
> +      <boolProp name="TestPlan.serialize_threadgroups">true</boolProp>
> +      <elementProp name="TestPlan.user_defined_variables" 
> elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" 
> testname="User Defined Variables" enabled="true">
> +        <collectionProp name="Arguments.arguments">
> +          <elementProp name="CalculateFees" elementType="Argument">
> +            <stringProp name="Argument.name">CalculateFees</stringProp>
> +            <stringProp name="Argument.value">1</stringProp>
> +            <stringProp name="Argument.metadata">=</stringProp>
> +          </elementProp>
> +          <elementProp name="CalculatePerformanceDetails" 
> elementType="Argument">
> +            <stringProp 
> name="Argument.name">CalculatePerformanceDetails</stringProp>
> +            <stringProp name="Argument.value">1</stringProp>
> +            <stringProp name="Argument.metadata">=</stringProp>
> +          </elementProp>
> +          <elementProp name="DriverURL" elementType="Argument">
> +            <stringProp name="Argument.name">DriverURL</stringProp>
> +            <stringProp 
> name="Argument.value">jdbc:jtds:sqlserver:</stringProp>
> +            <stringProp name="Argument.metadata">=</stringProp>
> +          </elementProp>
> +          <elementProp name="DatabasePort" elementType="Argument">
> +            <stringProp name="Argument.name">DatabasePort</stringProp>
> +            <stringProp name="Argument.value">1433</stringProp>
> +            <stringProp name="Argument.metadata">=</stringProp>
> +          </elementProp>
> +          <elementProp name="UseMiddleTierValuationEngine" 
> elementType="Argument">
> +            <stringProp 
> name="Argument.name">UseMiddleTierValuationEngine</stringProp>
> +            <stringProp name="Argument.value">0</stringProp>
> +            <stringProp name="Argument.metadata">=</stringProp>
> +          </elementProp>
> +          <elementProp name="MiddleTierRequestTimeout" 
> elementType="Argument">
> +            <stringProp 
> name="Argument.name">MiddleTierRequestTimeout</stringProp>
> +            <stringProp name="Argument.value">500000</stringProp>
> +            <stringProp name="Argument.metadata">=</stringProp>
> +          </elementProp>
> +          <elementProp name="PricePropagationMode" elementType="Argument">
> +            <stringProp 
> name="Argument.name">PricePropagationMode</stringProp>
> +            <stringProp name="Argument.value">2</stringProp>
> +            <stringProp name="Argument.metadata">=</stringProp>
> +          </elementProp>
> +        </collectionProp>
> +      </elementProp>
> +      <stringProp name="TestPlan.user_define_classpath"></stringProp>
> +    </TestPlan>
> +    <hashTree>
> +      <Arguments guiclass="ArgumentsPanel" testclass="Arguments" 
> testname="MI PCO config" enabled="true">
> +        <collectionProp name="Arguments.arguments">
> +          <elementProp name="PCOQuality" elementType="Argument">
> +            <stringProp name="Argument.name">PCOQuality</stringProp>
> +            <stringProp name="Argument.value">5</stringProp>
> +            <stringProp name="Argument.metadata">=</stringProp>
> +          </elementProp>
> +          <elementProp name="ValueDate" elementType="Argument">
> +            <stringProp name="Argument.name">ValueDate</stringProp>
> +            <stringProp name="Argument.value">2011-07-21</stringProp>
> +            <stringProp name="Argument.metadata">=</stringProp>
> +          </elementProp>
> +          <elementProp name="ReportingDate" elementType="Argument">
> +            <stringProp name="Argument.name">ReportingDate</stringProp>
> +            <stringProp name="Argument.value">2011-07-21 
> 12:30:08.337</stringProp>
> +            <stringProp name="Argument.metadata">=</stringProp>
> +          </elementProp>
> +        </collectionProp>
> +      </Arguments>
> +      <hashTree/>
> +      <Arguments guiclass="ArgumentsPanel" testclass="Arguments" 
> testname="MI 440 SSD GAIA Config" enabled="true">
> +        <collectionProp name="Arguments.arguments">
> +          <elementProp name="Database" elementType="Argument">
> +            <stringProp name="Argument.name">Database</stringProp>
> +            <stringProp name="Argument.value">HSPAD_MI_440_SSD</stringProp>
> +            <stringProp name="Argument.metadata">=</stringProp>
> +          </elementProp>
> +          <elementProp name="DatabaseHost" elementType="Argument">
> +            <stringProp name="Argument.name">DatabaseHost</stringProp>
> +            <stringProp name="Argument.value">GAIA</stringProp>
> +            <stringProp name="Argument.metadata">=</stringProp>
> +          </elementProp>
> +          <elementProp name="DatabaseUser" elementType="Argument">
> +            <stringProp name="Argument.name">DatabaseUser</stringProp>
> +            <stringProp name="Argument.value">sa</stringProp>
> +            <stringProp name="Argument.metadata">=</stringProp>
> +          </elementProp>
> +          <elementProp name="DatabasePassword" elementType="Argument">
> +            <stringProp name="Argument.name">DatabasePassword</stringProp>
> +            <stringProp name="Argument.value">sa2008</stringProp>
> +            <stringProp name="Argument.metadata">=</stringProp>
> +          </elementProp>
> +        </collectionProp>
> +      </Arguments>
> +      <hashTree/>
> +      <Arguments guiclass="ArgumentsPanel" testclass="Arguments" 
> testname="MI PCO Pfo List" enabled="true">
> +        <collectionProp name="Arguments.arguments">
> +          <elementProp name="Pfo_1" elementType="Argument">
> +            <stringProp name="Argument.name">Pfo_1</stringProp>
> +            <stringProp name="Argument.value">1548</stringProp>
> +            <stringProp name="Argument.metadata">=</stringProp>
> +          </elementProp>
> +          <elementProp name="Pfo_2" elementType="Argument">
> +            <stringProp name="Argument.name">Pfo_2</stringProp>
> +            <stringProp name="Argument.value">1611</stringProp>
> +            <stringProp name="Argument.metadata">=</stringProp>
> +          </elementProp>
> +          <elementProp name="Pfo_3" elementType="Argument">
> +            <stringProp name="Argument.name">Pfo_3</stringProp>
> +            <stringProp name="Argument.value">1613</stringProp>
> +            <stringProp name="Argument.metadata">=</stringProp>
> +          </elementProp>
> +        </collectionProp>
> +        <stringProp name="TestPlan.comments">CutOff Nr 11249,  2011-07-2 / 
> 2011-07-21 12:30:08.337 / DailyNAV Estimate / Within Price 
> Cut-Off</stringProp>
> +      </Arguments>
> +      <hashTree/>
> +      <JDBCDataSource guiclass="TestBeanGUI" testclass="JDBCDataSource" 
> testname="JDBC Connection Configuration" enabled="true">
> +        <boolProp name="autocommit">false</boolProp>
> +        <stringProp name="checkQuery"></stringProp>
> +        <stringProp name="connectionAge">5000</stringProp>
> +        <stringProp name="dataSource"></stringProp>
> +        <stringProp 
> name="dbUrl">${DriverURL}//${DatabaseHost}:${DatabasePort}/${Database}</stringProp>
> +        <stringProp 
> name="driver">net.sourceforge.jtds.jdbc.Driver</stringProp>
> +        <boolProp name="keepAlive">true</boolProp>
> +        <stringProp name="password">${DatabasePassword}</stringProp>
> +        <stringProp name="poolMax">25</stringProp>
> +        <stringProp name="timeout">10000</stringProp>
> +        <stringProp name="trimInterval">60000</stringProp>
> +        <stringProp name="username">${DatabaseUser}</stringProp>
> +        <stringProp name="transactionIsolation">4096</stringProp>
> +        <stringProp name="TestPlan.comments">Connect to local HSPAD_Demo_CO 
> and set its isolation mode to SNAPSHOT (4096) and disable auto 
> commit.</stringProp>
> +      </JDBCDataSource>
> +      <hashTree/>
> +      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" 
> testname="3 Users" enabled="true">
> +        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
> +        <elementProp name="ThreadGroup.main_controller" 
> elementType="LoopController" guiclass="LoopControlPanel" 
> testclass="LoopController" testname="Loop Controller" enabled="true">
> +          <boolProp name="LoopController.continue_forever">false</boolProp>
> +          <stringProp name="LoopController.loops">3</stringProp>
> +        </elementProp>
> +        <stringProp name="ThreadGroup.num_threads">3</stringProp>
> +        <stringProp name="ThreadGroup.ramp_time">0</stringProp>
> +        <longProp name="ThreadGroup.start_time">1316530469000</longProp>
> +        <longProp name="ThreadGroup.end_time">1316530469000</longProp>
> +        <boolProp name="ThreadGroup.scheduler">false</boolProp>
> +        <stringProp name="ThreadGroup.duration"></stringProp>
> +        <stringProp name="ThreadGroup.delay"></stringProp>
> +      </ThreadGroup>
> +      <hashTree>
> +        <ModuleController guiclass="ModuleControllerGui" 
> testclass="ModuleController" testname="PCO Valuation" enabled="true">
> +          <collectionProp name="ModuleController.node_path">
> +            <stringProp name="-1227702913">WorkBench</stringProp>
> +            <stringProp name="1465685679">Concurrent Valuation Test 
> Plan</stringProp>
> +            <stringProp name="1372988285">PCO Valuation</stringProp>
> +          </collectionProp>
> +        </ModuleController>
> +        <hashTree/>
> +      </hashTree>
> +      <SetupThreadGroup guiclass="SetupThreadGroupGui" 
> testclass="SetupThreadGroup" testname="setUp Thread Group" enabled="true">
> +        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
> +        <elementProp name="ThreadGroup.main_controller" 
> elementType="LoopController" guiclass="LoopControlPanel" 
> testclass="LoopController" testname="Loop Controller" enabled="true">
> +          <boolProp name="LoopController.continue_forever">false</boolProp>
> +          <stringProp name="LoopController.loops">1</stringProp>
> +        </elementProp>
> +        <stringProp name="ThreadGroup.num_threads">1</stringProp>
> +        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
> +        <longProp name="ThreadGroup.start_time">1320821253000</longProp>
> +        <longProp name="ThreadGroup.end_time">1320821253000</longProp>
> +        <boolProp name="ThreadGroup.scheduler">false</boolProp>
> +        <stringProp name="ThreadGroup.duration"></stringProp>
> +        <stringProp name="ThreadGroup.delay"></stringProp>
> +      </SetupThreadGroup>
> +      <hashTree>
> +        <TestAction guiclass="TestActionGui" testclass="TestAction" 
> testname="Setup Middle Tier usage" enabled="true">
> +          <intProp name="ActionProcessor.action">1</intProp>
> +          <intProp name="ActionProcessor.target">0</intProp>
> +          <stringProp name="ActionProcessor.duration"></stringProp>
> +        </TestAction>
> +        <hashTree>
> +          <JDBCPreProcessor guiclass="TestBeanGUI" 
> testclass="JDBCPreProcessor" testname="Set UseMiddleTierValuationEngine and 
> Timeout" enabled="true">
> +            <stringProp name="dataSource"></stringProp>
> +            <stringProp name="query">UPDATE T_SettingGlobal SET 
> UseMiddleTierValuationEngine=?, MiddleTierRequestTimeout=?</stringProp>
> +            <stringProp 
> name="queryArguments">${UseMiddleTierValuationEngine}, 
> ${MiddleTierRequestTimeout}</stringProp>
> +            <stringProp name="queryArgumentsTypes">BIT, INTEGER</stringProp>
> +            <stringProp name="queryType">Prepared Update 
> Statement</stringProp>
> +            <stringProp name="resultVariable"></stringProp>
> +            <stringProp name="variableNames"></stringProp>
> +          </JDBCPreProcessor>
> +          <hashTree/>
> +          <JDBCPreProcessor guiclass="TestBeanGUI" 
> testclass="JDBCPreProcessor" testname="Commit" enabled="true">
> +            <stringProp name="dataSource"></stringProp>
> +            <stringProp name="queryType">Commit</stringProp>
> +            <stringProp name="query"></stringProp>
> +            <stringProp name="queryArguments"></stringProp>
> +            <stringProp name="queryArgumentsTypes"></stringProp>
> +            <stringProp name="variableNames"></stringProp>
> +            <stringProp name="resultVariable"></stringProp>
> +          </JDBCPreProcessor>
> +          <hashTree/>
> +        </hashTree>
> +        <TestAction guiclass="TestActionGui" testclass="TestAction" 
> testname="Clear caches" enabled="true">
> +          <intProp name="ActionProcessor.action">1</intProp>
> +          <intProp name="ActionProcessor.target">0</intProp>
> +          <stringProp name="ActionProcessor.duration">0</stringProp>
> +        </TestAction>
> +        <hashTree>
> +          <JDBCPreProcessor guiclass="TestBeanGUI" 
> testclass="JDBCPreProcessor" testname="Clear Buffers" enabled="true">
> +            <stringProp name="dataSource"></stringProp>
> +            <stringProp name="queryType">Update Statement</stringProp>
> +            <stringProp name="query">DBCC DROPCLEANBUFFERS</stringProp>
> +            <stringProp name="queryArguments"></stringProp>
> +            <stringProp name="queryArgumentsTypes"></stringProp>
> +            <stringProp name="variableNames"></stringProp>
> +            <stringProp name="resultVariable"></stringProp>
> +          </JDBCPreProcessor>
> +          <hashTree/>
> +          <JDBCPreProcessor guiclass="TestBeanGUI" 
> testclass="JDBCPreProcessor" testname="Clear Proc Cache" enabled="true">
> +            <stringProp name="dataSource"></stringProp>
> +            <stringProp name="queryType">Update Statement</stringProp>
> +            <stringProp name="query">DBCC FREEPROCCACHE</stringProp>
> +            <stringProp name="queryArguments"></stringProp>
> +            <stringProp name="queryArgumentsTypes"></stringProp>
> +            <stringProp name="variableNames"></stringProp>
> +            <stringProp name="resultVariable"></stringProp>
> +          </JDBCPreProcessor>
> +          <hashTree/>
> +        </hashTree>
> +      </hashTree>
> +      <TestFragmentController guiclass="TestFragmentControllerGui" 
> testclass="TestFragmentController" testname="PCO Valuation" enabled="true"/>
> +      <hashTree>
> +        <TransactionController guiclass="TransactionControllerGui" 
> testclass="TransactionController" testname="Calculate PCO Transaction" 
> enabled="true">
> +          <boolProp name="TransactionController.parent">true</boolProp>
> +        </TransactionController>
> +        <hashTree>
> +          <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" 
> testname="Begin Tran" enabled="true">
> +            <stringProp name="dataSource"></stringProp>
> +            <stringProp name="queryType">Update Statement</stringProp>
> +            <stringProp name="query">BEGIN TRAN COMMIT TRAN</stringProp>
> +            <stringProp name="queryArguments"></stringProp>
> +            <stringProp name="queryArgumentsTypes"></stringProp>
> +            <stringProp name="variableNames"></stringProp>
> +            <stringProp name="resultVariable"></stringProp>
> +            <boolProp name="collectDiagnostics">false</boolProp>
> +          </JDBCSampler>
> +          <hashTree/>
> +          <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" 
> testname="Calculate Price cut off" enabled="true">
> +            <stringProp name="dataSource"></stringProp>
> +            <stringProp name="queryType">Callable Statement</stringProp>
> +            <stringProp name="query">PfoVal_Recalculate ?, ?, 1</stringProp>
> +            <stringProp name="queryArguments">${Pfo_1}, 
> ${PfoValInstance}</stringProp>
> +            <stringProp name="queryArgumentsTypes">INTEGER, 
> INTEGER</stringProp>
> +            <stringProp name="variableNames"></stringProp>
> +            <stringProp name="resultVariable"></stringProp>
> +            <boolProp name="collectDiagnostics">true</boolProp>
> +          </JDBCSampler>
> +          <hashTree>
> +            <BSFPreProcessor guiclass="TestBeanGUI" 
> testclass="BSFPreProcessor" testname="Prepare Portfolio List for Price 
> Cut-Off" enabled="true">
> +              <stringProp name="scriptLanguage">groovy</stringProp>
> +              <stringProp name="parameters"></stringProp>
> +              <stringProp name="filename"></stringProp>
> +              <stringProp name="script">import groovy.sql.Sql
> +import org.apache.jmeter.protocol.jdbc.config.DataSourceElement
> +try {
> +       // build Pfo List
> +       println(&quot;Building Portfolio List&quot;)
> +       def pfoList = &quot;&lt;PfoList&gt;&quot;
> +       def pfoNr = 1
> +       def pfo = vars.get(&quot;Pfo_&quot; + pfoNr)
> +       while(pfo != null) {
> +               println(&quot;Pfo: $pfo&quot;);
> +               pfoList = pfoList + &quot;&lt;Pfo ID=&apos;$pfo&apos; 
> EmptyValuation=&apos;true&apos; PropagatePrice=&apos;true&apos;/&gt;&quot;
> +               pfoNr++
> +               pfo = vars.get(&quot;Pfo_&quot; + pfoNr)
> +       }
> +       pfoList = pfoList + &quot;&lt;/PfoList&gt;&quot;
> +       vars.put(&quot;PfoListXML&quot;, pfoList)
> +} catch (Exception e) {
> +       println(e.toString());
> +}</stringProp>
> +            </BSFPreProcessor>
> +            <hashTree/>
> +            <JDBCPreProcessor guiclass="TestBeanGUI" 
> testclass="JDBCPreProcessor" testname="Create Price Cut-Off" enabled="true">
> +              <stringProp name="dataSource"></stringProp>
> +              <stringProp name="query">CreatePriceCutOff ?, ?, ?, ?, ?, ?, 
> ?, ?</stringProp>
> +              <stringProp 
> name="queryArguments">${__threadNum},${ValueDate},${PCOQuality},${ReportingDate},]NULL[,${PCO},${PfoListXML},${PricePropagationMode}</stringProp>
> +              <stringProp name="queryArgumentsTypes">VARCHAR, DATE, 
> INTEGER,TIMESTAMP,INTEGER,OUT INTEGER,CLOB,INTEGER</stringProp>
> +              <stringProp name="queryType">Callable Statement</stringProp>
> +              <stringProp name="resultVariable"></stringProp>
> +              <stringProp name="variableNames"></stringProp>
> +            </JDBCPreProcessor>
> +            <hashTree/>
> +            <JDBCPreProcessor guiclass="TestBeanGUI" 
> testclass="JDBCPreProcessor" testname="Get Portfolio Valuation Instance from 
> Price Cut-Off" enabled="true">
> +              <stringProp name="dataSource"></stringProp>
> +              <stringProp name="queryType">Prepared Select 
> Statement</stringProp>
> +              <stringProp name="query">select Nr from PfoValInstance where 
> Pfo=? AND PriceCutOff=?</stringProp>
> +              <stringProp name="queryArguments">${Pfo_1},${PCO}</stringProp>
> +              <stringProp 
> name="queryArgumentsTypes">INTEGER,INTEGER</stringProp>
> +              <stringProp name="variableNames">PfoValInstance</stringProp>
> +              <stringProp name="resultVariable"></stringProp>
> +            </JDBCPreProcessor>
> +            <hashTree/>
> +            <JDBCPostProcessor guiclass="TestBeanGUI" 
> testclass="JDBCPostProcessor" testname="JDBC PostProcessor" enabled="true">
> +              <stringProp name="dataSource"></stringProp>
> +              <stringProp name="query">DeletePriceCutOff ?</stringProp>
> +              <stringProp name="queryArguments">${PCO}</stringProp>
> +              <stringProp name="queryArgumentsTypes">INTEGER</stringProp>
> +              <stringProp name="queryType">Callable Statement</stringProp>
> +              <stringProp name="resultVariable"></stringProp>
> +              <stringProp name="variableNames"></stringProp>
> +            </JDBCPostProcessor>
> +            <hashTree/>
> +          </hashTree>
> +          <IfController guiclass="IfControllerPanel" 
> testclass="IfController" testname="If Controller" enabled="true">
> +            <stringProp 
> name="IfController.condition">${JMeterThread.last_sample_ok}</stringProp>
> +            <boolProp name="IfController.evaluateAll">false</boolProp>
> +          </IfController>
> +          <hashTree>
> +            <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" 
> testname="Commit" enabled="true">
> +              <stringProp name="dataSource"></stringProp>
> +              <stringProp name="queryType">Commit</stringProp>
> +              <stringProp name="query"></stringProp>
> +              <stringProp name="queryArguments"></stringProp>
> +              <stringProp name="queryArgumentsTypes"></stringProp>
> +              <stringProp name="variableNames"></stringProp>
> +              <stringProp name="resultVariable"></stringProp>
> +              <stringProp name="TestPlan.comments">Commit the transaction of 
> the valuation</stringProp>
> +              <boolProp name="collectDiagnostics">false</boolProp>
> +            </JDBCSampler>
> +            <hashTree/>
> +          </hashTree>
> +          <IfController guiclass="IfControllerPanel" 
> testclass="IfController" testname="If Controller" enabled="true">
> +            <stringProp 
> name="IfController.condition">${JMeterThread.last_sample_ok}==false</stringProp>
> +            <boolProp name="IfController.evaluateAll">false</boolProp>
> +          </IfController>
> +          <hashTree>
> +            <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" 
> testname="Rollback" enabled="true">
> +              <stringProp name="dataSource"></stringProp>
> +              <stringProp name="queryType">Rollback</stringProp>
> +              <stringProp name="query"></stringProp>
> +              <stringProp name="queryArguments"></stringProp>
> +              <stringProp name="queryArgumentsTypes"></stringProp>
> +              <stringProp name="variableNames"></stringProp>
> +              <stringProp name="resultVariable"></stringProp>
> +              <boolProp name="collectDiagnostics">false</boolProp>
> +            </JDBCSampler>
> +            <hashTree/>
> +          </hashTree>
> +        </hashTree>
> +      </hashTree>
> +      <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" 
> testname="Summary Report" enabled="true">
> +        <boolProp name="ResultCollector.error_logging">false</boolProp>
> +        <objProp>
> +          <name>saveConfig</name>
> +          <value class="SampleSaveConfiguration">
> +            <time>true</time>
> +            <latency>false</latency>
> +            <timestamp>true</timestamp>
> +            <success>false</success>
> +            <label>true</label>
> +            <code>false</code>
> +            <message>false</message>
> +            <threadName>true</threadName>
> +            <dataType>false</dataType>
> +            <encoding>false</encoding>
> +            <assertions>false</assertions>
> +            <subresults>false</subresults>
> +            <responseData>false</responseData>
> +            <samplerData>false</samplerData>
> +            <xml>true</xml>
> +            <fieldNames>false</fieldNames>
> +            <responseHeaders>false</responseHeaders>
> +            <requestHeaders>false</requestHeaders>
> +            <responseDataOnError>false</responseDataOnError>
> +            
> <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
> +            <assertionsResultsToSave>0</assertionsResultsToSave>
> +          </value>
> +        </objProp>
> +        <stringProp name="filename"></stringProp>
> +      </ResultCollector>
> +      <hashTree/>
> +      <ResultCollector guiclass="ViewResultsFullVisualizer" 
> testclass="ResultCollector" testname="View Results Tree" enabled="true">
> +        <boolProp name="ResultCollector.error_logging">false</boolProp>
> +        <objProp>
> +          <name>saveConfig</name>
> +          <value class="SampleSaveConfiguration">
> +            <time>true</time>
> +            <latency>true</latency>
> +            <timestamp>true</timestamp>
> +            <success>true</success>
> +            <label>true</label>
> +            <code>true</code>
> +            <message>true</message>
> +            <threadName>true</threadName>
> +            <dataType>true</dataType>
> +            <encoding>false</encoding>
> +            <assertions>true</assertions>
> +            <subresults>true</subresults>
> +            <responseData>false</responseData>
> +            <samplerData>false</samplerData>
> +            <xml>true</xml>
> +            <fieldNames>false</fieldNames>
> +            <responseHeaders>false</responseHeaders>
> +            <requestHeaders>false</requestHeaders>
> +            <responseDataOnError>false</responseDataOnError>
> +            
> <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
> +            <assertionsResultsToSave>0</assertionsResultsToSave>
> +            <bytes>true</bytes>
> +          </value>
> +        </objProp>
> +        <stringProp name="filename"></stringProp>
> +      </ResultCollector>
> +      <hashTree/>
> +      <ResultCollector guiclass="TableVisualizer" 
> testclass="ResultCollector" testname="View Results in Table" enabled="true">
> +        <boolProp name="ResultCollector.error_logging">false</boolProp>
> +        <objProp>
> +          <name>saveConfig</name>
> +          <value class="SampleSaveConfiguration">
> +            <time>true</time>
> +            <latency>true</latency>
> +            <timestamp>true</timestamp>
> +            <success>true</success>
> +            <label>true</label>
> +            <code>true</code>
> +            <message>true</message>
> +            <threadName>true</threadName>
> +            <dataType>true</dataType>
> +            <encoding>false</encoding>
> +            <assertions>true</assertions>
> +            <subresults>true</subresults>
> +            <responseData>false</responseData>
> +            <samplerData>false</samplerData>
> +            <xml>true</xml>
> +            <fieldNames>false</fieldNames>
> +            <responseHeaders>false</responseHeaders>
> +            <requestHeaders>false</requestHeaders>
> +            <responseDataOnError>false</responseDataOnError>
> +            
> <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
> +            <assertionsResultsToSave>0</assertionsResultsToSave>
> +            <bytes>true</bytes>
> +          </value>
> +        </objProp>
> +        <stringProp name="filename"></stringProp>
> +      </ResultCollector>
> +      <hashTree/>
> +    </hashTree>
> +  </hashTree>
> +</jmeterTestPlan>
>
> Modified: jmeter/trunk/xdocs/usermanual/component_reference.xml
> URL: 
> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1210001&r1=1210000&r2=1210001&view=diff
> ==============================================================================
> --- jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
> +++ jmeter/trunk/xdocs/usermanual/component_reference.xml Sat Dec  3 20:53:32 
> 2011
> @@ -4455,9 +4455,21 @@ For details, see <complink name="BSF Pre
>  <description>
>  <p>
>  The JDBC PreProcessor enables you to run some SQL statement just before a 
> sample runs.
> -This can be useful if your JDBC Sample changes some data and you want to 
> reset state to what it was before the JDBC sample run.
> +This can be useful if your JDBC Sample requires some data to be in DataBase 
> and you cannot compute this in a setup Thread group.
> +</p>
> +<p>
> +See the following Test plan:
>  </p>
> +<links>
> +        <link href="JDBC-Pre-Post-Processor.jmx">Test Plan using JDBC 
> Pre/Post Processor</link>
> +</links>
> +<p>
> +In the linked test plan,"Create Price Cut-Off" JDBC PreProcessor calls a 
> stored procedure to create a Price Cut-Off in Database,
> +this one will be used by "Calculate Price cut off".
> +
> +<figure width="1346" height="636" image="jdbc-pre-processor.png">Create 
> Price Cut-Off Preprocessor</figure>
>
> +</p>
>  </description>
>  </component>
>
> @@ -4791,13 +4803,17 @@ For details, see the <complink name="BSF
>  <description>
>  <p>
>  The JDBC PostProcessor enables you to run some SQL statement just after a 
> sample has run.
> -This can be useful if your JDBC Sample requires some data to be in DataBase 
> and you cannot compute this in a setup Thread group.
> +This can be useful if your JDBC Sample changes some data and you want to 
> reset state to what it was before the JDBC sample run.
>  </p>
>  </description>
>  </component>
> -
> -<a href="#">^</a>
> -
> +<links>
> +        <link href="JDBC-Pre-Post-Processor.jmx">Test Plan using JDBC 
> Pre/Post Processor</link>
> +</links>
> +<p>
> +In the linked test plan,"JDBC PostProcessor" JDBC PostProcessor calls a 
> stored procedure to delete the Price Cut-Off that was created by PreProcessor 
> from Database.
> +<figure width="1343" height="631" image="jdbc-post-processor.png">JDBC 
> PostProcessor</figure>
> +</p>
>  </section>
>
>  <section name="&sect-num;.9 Miscellaneous Features" 
> anchor="Miscellaneous_Features">
>
>

Reply via email to