# How does clover ETL Write lines during DataTransform

**URL:** <https://forum.cloverdx.com/t/how-does-clover-etl-write-lines-during-datatransform/948>\
**Category:** CloverDX Platform\
**Created:** [October 18, 2011, 12:00am UTC](https://forum.cloverdx.com/t/how-does-clover-etl-write-lines-during-datatransform/948 "2011-10-18T00:00:00Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![naveenvijay](https://avatars.discourse-cdn.com/v4/letter/n/ac8455/32.png) [@naveenvijay](https://forum.cloverdx.com/u/naveenvijay)\
**Post date:** [October 18, 2011, 12:00am UTC](https://forum.cloverdx.com/t/how-does-clover-etl-write-lines-during-datatransform/948/1 "2011-10-18T00:00:00Z")

</div>

I have created a graph file which reads data from Database and I am sending it to a reformat component and I am writing it to a file from ReFormat Component. I am little confused the way Clover ETL Is reading and writing the records. When It writes the records is it processing one line at a time.

Where can I get more information about public int transform (DataRecord source, DataRecord target)

In Reformat Component will I be able to write a custom call to Database to insert any records…

Source Database → Reformat → If Value is “123” Send it to file → File Output  
-\> If Value is “234” Write to Database → File Output

Basically I want to understand what is the right way to do Database Call.

Thanks,  
Naveen

---

<div class="post-metadata">

**Author:** ![avackova](https://avatars.discourse-cdn.com/v4/letter/a/65b543/32.png) [@avackova](https://forum.cloverdx.com/u/avackova)\
**Post date:** [October 18, 2011, 8:54am UTC](https://forum.cloverdx.com/t/how-does-clover-etl-write-lines-during-datatransform/948/2 "2011-10-18T08:54:48Z")

</div>

Hello Naveen,

- Why do you think that CloverETL “is processing one line at a time”? DataParser (used by [UniversalDataWriter](http://www.cloveretl.com/documentation/UserGuide/topic/com.cloveretl.gui.docs/docs/datawriter.html)) formates one record to byte buffer and after it is full it flushes it to a file.

- The best information about the interfaces and classes that can be used by users can be found in [cloverETL.javadoc.rel-3-1-2.zip](http://sourceforge.net/projects/cloveretl/files/cloveretl.engine/rel-3-1-2/cloverETL.javadoc.rel-3-1-2.zip/download)

- The right way to database call is to use [DBOutputTable](http://www.cloveretl.com/documentation/UserGuide/topic/com.cloveretl.gui.docs/docs/dboutputtable.html) or [DBExecute](http://www.cloveretl.com/documentation/UserGuide/topic/com.cloveretl.gui.docs/docs/dbexecute.html):  
[graphDBJoin.png](https://cdn.cloverdx.com/forum/417%5F5f35adf061f585f1a3e2670ad29334c4/graphDBJoin.png)  
You can of course insert records directly from Reformat component also (see [Problem with $ character](http://forum.cloveretl.org/viewtopic.php?f=4&t=532) for inspiration).

- [graphDBJoin.png](https://cdn.cloverdx.com/forum/417%5F5f35adf061f585f1a3e2670ad29334c4/graphDBJoin.png)
