<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 12">
<meta name=Originator content="Microsoft Word 12">
<link rel=File-List href="DB_SEP_files/filelist.xml">
<!--[if gte mso 9]><xml>
 <o:DocumentProperties>
  <o:Author>vs</o:Author>
  <o:LastAuthor>vs</o:LastAuthor>
  <o:Revision>1</o:Revision>
  <o:TotalTime>3</o:TotalTime>
  <o:Created>2009-03-27T18:00:00Z</o:Created>
  <o:LastSaved>2009-03-27T18:03:00Z</o:LastSaved>
  <o:Pages>14</o:Pages>
  <o:Words>1251</o:Words>
  <o:Characters>7137</o:Characters>
  <o:Company>sastra</o:Company>
  <o:Lines>59</o:Lines>
  <o:Paragraphs>16</o:Paragraphs>
  <o:CharactersWithSpaces>8372</o:CharactersWithSpaces>
  <o:Version>12.00</o:Version>
 </o:DocumentProperties>
</xml><![endif]-->
<link rel=themeData href="DB_SEP_files/themedata.thmx">
<link rel=colorSchemeMapping href="DB_SEP_files/colorschememapping.xml">
<!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:SpellingState>Clean</w:SpellingState>
  <w:GrammarState>Clean</w:GrammarState>
  <w:TrackMoves>false</w:TrackMoves>
  <w:TrackFormatting/>
  <w:PunctuationKerning/>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:DoNotPromoteQF/>
  <w:LidThemeOther>EN-US</w:LidThemeOther>
  <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:DontGrowAutofit/>
   <w:SplitPgBreakAndParaMark/>
   <w:DontVertAlignCellWithSp/>
   <w:DontBreakConstrainedForcedTables/>
   <w:DontVertAlignInTxbx/>
   <w:Word11KerningPairs/>
   <w:CachedColBalance/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
  <m:mathPr>
   <m:mathFont m:val="Cambria Math"/>
   <m:brkBin m:val="before"/>
   <m:brkBinSub m:val="--"/>
   <m:smallFrac m:val="off"/>
   <m:dispDef/>
   <m:lMargin m:val="0"/>
   <m:rMargin m:val="0"/>
   <m:defJc m:val="centerGroup"/>
   <m:wrapIndent m:val="1440"/>
   <m:intLim m:val="subSup"/>
   <m:naryLim m:val="undOvr"/>
  </m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267">
  <w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 1"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 2"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 3"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 4"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 5"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 6"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 7"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 8"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 9"/>
  <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
  <w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/>
  <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
  <w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
  <w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
  <w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
  <w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/>
  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
  <w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
  <w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
  <w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
  <w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
  <w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
  <w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
  <w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
  <w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
  <w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
  <w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
  <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
 </w:LatentStyles>
</xml><![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;
        mso-font-charset:0;
        mso-generic-font-family:roman;
        mso-font-pitch:variable;
        mso-font-signature:-1610611985 1107304683 0 0 159 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;
        mso-font-charset:0;
        mso-generic-font-family:swiss;
        mso-font-pitch:variable;
        mso-font-signature:-1610611985 1073750139 0 0 159 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-unhide:no;
        mso-style-qformat:yes;
        mso-style-parent:"";
        margin-top:0in;
        margin-right:0in;
        margin-bottom:10.0pt;
        margin-left:0in;
        line-height:115%;
        mso-pagination:widow-orphan;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-ascii-font-family:Calibri;
        mso-ascii-theme-font:minor-latin;
        mso-fareast-font-family:Calibri;
        mso-fareast-theme-font:minor-latin;
        mso-hansi-font-family:Calibri;
        mso-hansi-theme-font:minor-latin;
        mso-bidi-font-family:"Times New Roman";
        mso-bidi-theme-font:minor-bidi;}
span.SpellE
        {mso-style-name:"";
        mso-spl-e:yes;}
span.GramE
        {mso-style-name:"";
        mso-gram-e:yes;}
.MsoChpDefault
        {mso-style-type:export-only;
        mso-default-props:yes;
        mso-ascii-font-family:Calibri;
        mso-ascii-theme-font:minor-latin;
        mso-fareast-font-family:Calibri;
        mso-fareast-theme-font:minor-latin;
        mso-hansi-font-family:Calibri;
        mso-hansi-theme-font:minor-latin;
        mso-bidi-font-family:"Times New Roman";
        mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
        {mso-style-type:export-only;
        margin-bottom:10.0pt;
        line-height:115%;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;
        mso-header-margin:.5in;
        mso-footer-margin:.5in;
        mso-paper-source:0;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
        {mso-style-name:"Table Normal";
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-priority:99;
        mso-style-qformat:yes;
        mso-style-parent:"";
        mso-padding-alt:0in 5.4pt 0in 5.4pt;
        mso-para-margin-top:0in;
        mso-para-margin-right:0in;
        mso-para-margin-bottom:10.0pt;
        mso-para-margin-left:0in;
        line-height:115%;
        mso-pagination:widow-orphan;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-ascii-font-family:Calibri;
        mso-ascii-theme-font:minor-latin;
        mso-hansi-font-family:Calibri;
        mso-hansi-theme-font:minor-latin;}
</style>
<![endif]--><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="2050"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1"/>
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US style='tab-interval:.5in'>

<div class=Section1>

<p class=MsoNormal>SEP: #1</p>

<p class=MsoNormal>Title: Add database access </p>

<p class=MsoNormal>Version: 1.0</p>

<p class=MsoNormal>Author: Nikhil <span class=SpellE>Shekhar</span>
<nikhil.shekhar@gmail.com></p>

<p class=MsoNormal>Type: Procedure</p>

<p class=MsoNormal><span class=SpellE>Scilab</span>-Version: All</p>

<p class=MsoNormal>Vote:"No: discussions and suggestions"</p>

<p class=MsoNormal>Created: Friday, 27 March 2009</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><b style='mso-bidi-font-weight:normal'>Abstract<o:p></o:p></b></p>

<p class=MsoNormal>This SEP will address the issue of DBMS connectivity for <span
class=SpellE>Scilab</span>. Its proposed functionality and </p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span class=GramE>dependency</span>.
It also provides the proposed functions to be implemented.</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-family:"Arial","sans-serif"'>●</span></b><b style='mso-bidi-font-weight:
normal'><span style='mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-bidi-font-family:Calibri'> </span>Implementation<o:p></o:p></b></p>

<p class=MsoNormal>It will be implemented as a toolbox for <span class=SpellE>Scilab</span>.
</p>

<p class=MsoNormal>These are the proposed functions:</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Db (<span class=SpellE>int</span>
driver)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Constructor.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span style='mso-spacerun:yes'>               </span><span
class=GramE>virtual</span> <span style='mso-tab-count:1'>   </span>~Db ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Destructor.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>bool</span></span> <span
style='mso-tab-count:1'>      </span><span class=SpellE>openConnection</span> (<span
class=SpellE>StringMapType</span> &<span class=SpellE>param_map</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Method that
opens a connection.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>closeConnection</span> ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Method that
closes current connection.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>std::string</span> <span style='mso-tab-count:
1'>           </span><span class=SpellE>getLastError</span> ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Method that
returns last error.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>int</span></span> <span
style='mso-tab-count:1'>         </span><span class=SpellE>getLastInsertedId</span>
(const char *table=NULL, const char *field=NULL)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Method that returns last inserted <span
class=SpellE>autoincrement</span> id. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>int</span></span> <span
style='mso-tab-count:1'>         </span><span class=SpellE>getTopValue</span>
(const char *<span class=SpellE>table_name</span>, const char *<span
class=SpellE>field_name</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Method that
returns top field value in a table.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>beginTransaction</span> ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Method that
begins a transaction.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span>commit ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Method that
commits a transaction.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span>rollback ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Method that
rollbacks a transaction.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>std::string</span> <span style='mso-tab-count:
1'>           </span><span class=SpellE>getStringDatetime</span> (const <span
class=SpellE>Datetime</span> &<span class=SpellE>dt</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Returns SQL string representing <span
class=SpellE>Datetime</span> <span class=SpellE><span class=GramE>dt</span></span>.
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>getDatetime</span> (const std::string &<span
class=SpellE>dt_string</span>, <span class=SpellE>Datetime</span> &<span
class=SpellE>dt</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Fills <span class=SpellE>Datetime</span>
<span class=SpellE><span class=GramE>dt</span></span> with date represented in
string <span class=SpellE>dt_string</span>. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>std::string</span> <span style='mso-tab-count:
1'>           </span><span class=SpellE>sqlQuote</span> (std::string <span
class=SpellE>sql_string</span>, <span class=SpellE>bool</span> <span
class=SpellE>enc_quote</span>=true)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Quotes string for SQL statement. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span style='mso-spacerun:yes'>   </span><span class=SpellE><span
class=GramE>bool</span></span> <span style='mso-tab-count:1'>   </span><span
class=SpellE>openConnection</span> (<span class=SpellE>StringMapType</span>
&<span class=SpellE>param_map</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Method that
opens a connection.</span> </p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span class=GramE>void</span>
<span style='mso-tab-count:1'>     </span><span class=SpellE>closeConnection</span>
()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Method that
closes current connection.</span> </p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span class=GramE>void</span>
<span style='mso-tab-count:1'>     </span><span class=SpellE>beginTransaction</span>
()=0</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Method that
begins a transaction.</span> </p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span>commit ()=0</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Method that
commits a transaction.</span> </p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span>rollback ()=0</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Method that
rollbacks a transaction.</span> </p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span class=SpellE><span
class=GramE>bool</span></span> <span style='mso-tab-count:1'>     </span><span
class=SpellE>isActive</span> ()=0</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Method that returns true if
connection is alive. </p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span class=GramE>std::string</span>
<span style='mso-tab-count:1'>          </span><span class=SpellE>sqlQuote</span>
(std::string <span class=SpellE>sql_string</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Quotes string for SQL statement. </p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span class=SpellE>QueryImpl</span>
* <span style='mso-tab-count:1'>      </span><span class=SpellE>newQueryImpl</span>
(<span class=GramE>)=</span>0</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Returns a query
implementation.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Query (Db *<span class=SpellE>p_db_ptr</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Constructor.</span>
</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Query (const Query &other)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Copy
constructor.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Query & <span style='mso-tab-count:1'>              </span>operator=
(const Query &other)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=SpellE><span
class=GramE>Assignement</span></span><span class=GramE> <span class=SpellE>operatorr</span>.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Query & <span style='mso-tab-count:1'>              </span>assign
(const Query &other)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>~Query ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Destructor.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>template<</span>class T> Query &
<span style='mso-tab-count:1'>          </span>operator= (T segment)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Initializes query with char
pointer. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>template<</span>class T> Query &
<span style='mso-tab-count:1'>          </span>add (T &segment)</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>template<</span>class T> Query &
<span style='mso-tab-count:1'>          </span><span class=SpellE>addFront</span>
(T &segment)</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Query & <span style='mso-tab-count:1'>              </span><span
class=SpellE>addFront</span> (const char *segment)</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Query & <span style='mso-tab-count:1'>              </span>add
(const char *segment)</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Query & <span style='mso-tab-count:1'>              </span><span
class=SpellE>addFront</span> (<span class=SpellE>QuerySegment</span> *<span
class=SpellE>sg_ptr</span>)</p>

<p class=MsoNormal>Query & <span style='mso-tab-count:1'>              </span>add
(<span class=SpellE>QuerySegment</span> *<span class=SpellE>sg_ptr</span>)</p>

<p class=MsoNormal><span class=GramE>template<</span>class T> Query &
<span style='mso-tab-count:1'>          </span>operator, (T &segment)</p>

<p class=MsoNormal>Query & <span style='mso-tab-count:1'>              </span>operator,
(const char *segment)</p>

<p class=MsoNormal>Query & <span style='mso-tab-count:1'>              </span>operator,
(<span class=SpellE>QuerySegment</span> *<span class=SpellE>sg_ptr</span>)</p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>setSqlString</span> ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Returns the
std::string resulting from segment concatenation.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>bool</span></span> <span
style='mso-tab-count:1'>      </span><span class=SpellE>getFrontFlag</span> ()</p>

<p class=MsoNormal><span class=SpellE><span class=GramE>size_t</span></span> <span
style='mso-tab-count:1'>    </span>size ()</p>

<p class=MsoNormal><span class=SpellE><span class=GramE>bool</span></span> <span
style='mso-tab-count:1'>      </span><span class=SpellE>isPrepared</span> ()</p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span>prepare ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Method that
prepares a SQL statement.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span>bind ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Binds parameters
for prepared query.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE>QueryResult</span> * <span
style='mso-tab-count:1'>    </span><span class=SpellE>execPrepared</span> ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Method that executes previously
prepared query. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE>QueryResult</span> * <span
style='mso-tab-count:1'>    </span><span class=SpellE>execImmediate</span> ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Method that
executes the SQL statement in immediate mode.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE>QueryResult</span> * <span
style='mso-tab-count:1'>    </span>exec ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Method that
executes the SQL statement.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span>clear ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Method that
clears current query.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=SpellE>QueryImpl</span>
()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Constructor.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>virtual</span> <span style='mso-tab-count:
1'>   </span>~<span class=SpellE>QueryImpl</span> ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Virtual
destructor.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE>RowMapType</span> * <span
style='mso-tab-count:1'> </span><span class=SpellE>getRowMap</span> ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Returns a
pointer to current row map which contains an associative array of <span
class=SpellE>field_name</span> -> <span class=SpellE>field_value</span>.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>virtual</span> <span class=SpellE>bool</span>
<span style='mso-tab-count:1'>        </span><span class=SpellE>supportPrepared</span>
()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Returns true if driver supports
prepared queries. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>virtual</span> void <span
style='mso-tab-count:1'>         </span>prepare (std::string <span
class=SpellE>sql</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Prepares query.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>virtual</span> void <span
style='mso-tab-count:1'>         </span>bind (<span class=SpellE>QuerySegmentListType</span>
*<span class=SpellE>param_list</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Binds parameters
for prepared query.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>virtual</span> <span class=SpellE>QueryResult</span>
* <span style='mso-tab-count:1'>      </span><span class=SpellE>execPrepared</span>
()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Executes
prepared query.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>virtual</span> <span class=SpellE>QueryResult</span>
* <span style='mso-tab-count:1'>      </span><span class=SpellE>execImmediate</span>
(std::string <span class=SpellE>sql</span>)=0</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Executes query
immediately.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Record (Db *<span class=SpellE>p_db_ptr</span>,
const char *<span class=SpellE>p_table_name</span>=NULL, <span class=SpellE>int</span>
<span class=SpellE>p_query_mode</span>=DBSTEP_QUERY_EXEC_IMMEDIATE)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Constructor.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>virtual</span> <span style='mso-tab-count:
1'>   </span>~Record ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Destructor.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>setQueryMode</span> (<span class=SpellE>int</span>
<span class=SpellE>p_query_mode</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Sets query mode. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>int</span></span> <span
style='mso-tab-count:1'>         </span><span class=SpellE>getQueryMode</span>
()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Returns current
query mode.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>addField</span> (const char *<span
class=SpellE>field_name</span>, int4_t &x)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Maps a field in the table with <span
class=GramE>a</span> <span class=SpellE>int</span> member variable. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>addField</span> (const char *<span
class=SpellE>field_name</span>, real8_t &x)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Maps a field in
the table with a real member variable.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>addField</span> (const char *<span
class=SpellE>field_name</span>, std::string &x)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Maps a field in
the table with a string member variable.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>addField</span> (const char *<span
class=SpellE>field_name</span>, char *x, <span class=SpellE>int</span> <span
class=SpellE>maxlen</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Maps a field in
the table with a char* member variable.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>addField</span> (const char *<span
class=SpellE>field_name</span>, char &x)</p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>addField</span> (const char *<span
class=SpellE>field_name</span>, <span class=SpellE>Datetime</span> &x)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Maps a field in
the table with a <span class=SpellE>Datetime</span> member variable.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>addField</span> (const char *<span
class=SpellE>field_name</span>, Date &x)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Maps a field in
the table with a Date member variable.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>addField</span> (const char *<span
class=SpellE>field_name</span>, Time &x)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Maps a field in
the table with a Time member variable.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>bool</span></span> <span
style='mso-tab-count:1'>      </span><span class=SpellE>selectCond</span>
(Query *q=NULL)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Selects some
record with a condition.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>bool</span></span> <span
style='mso-tab-count:1'>      </span><span class=SpellE>selectCond</span>
(const char *<span class=SpellE>sql_cond</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Selects some
record with a condition.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>bool</span></span> <span
style='mso-tab-count:1'>      </span>select (Query *q)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Selects some
record with full statement.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>bool</span></span> <span
style='mso-tab-count:1'>      </span>select (const char *<span class=SpellE>sql</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Selects some
record with full statement.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>bool</span></span> <span
style='mso-tab-count:1'>      </span>find (const char *<span class=SpellE>field_name</span>,
int4_t <span class=SpellE>field_value</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Finds records where <span
class=SpellE>field_name</span> matches <span class=SpellE>field_value</span>. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>bool</span></span> <span
style='mso-tab-count:1'>      </span>find (const char *<span class=SpellE>field_name</span>,
const char *<span class=SpellE>field_value</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Finds records where <span
class=SpellE>field_name</span> matches <span class=SpellE>field_value</span>. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>bool</span></span> <span
style='mso-tab-count:1'>      </span>find (int4_t <span class=SpellE>field_value</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Finds records where primary key
matches <span class=SpellE>field_value</span>. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>bool</span></span> <span
style='mso-tab-count:1'>      </span>find (const char *<span class=SpellE>field_value</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Finds records where primary key
matches <span class=SpellE>field_value</span>. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>beforeFirst</span> ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>After a select, moves cursor
before first row. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span>first ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>After a select, moves cursor to
first row. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>bool</span></span> <span
style='mso-tab-count:1'>      </span>next ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Moves cursor
forward.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>bool</span></span> <span
style='mso-tab-count:1'>      </span>insert ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Inserts current
record.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>addUpdateField</span> (const char *<span
class=SpellE>field_name</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Adds a field in
update list.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>clearUpdateFieldList</span> ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Clears update field list. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>bool</span></span> <span
style='mso-tab-count:1'>      </span>update ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Updates current
record.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>bool</span></span> <span
style='mso-tab-count:1'>      </span>remove ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Removes current
record.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>bool</span></span> <span
style='mso-tab-count:1'>      </span><span class=SpellE>removeAll</span> ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Removes all
records in mapped table.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>bool</span></span> <span
style='mso-tab-count:1'>      </span><span class=SpellE>execPrepared</span> ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Executes
prepared query.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span>prepare ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Prepares current
query.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>virtual</span> <span class=SpellE>FieldListType</span>
* <span style='mso-tab-count:1'>     </span><span class=SpellE>fetchFieldList</span>
()=0</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Fetches field list. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>virtual</span> <span class=SpellE>RowMapType</span>
* <span style='mso-tab-count:1'>   </span><span class=SpellE>fetchRow</span>
()=0</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Fetches current row from cursor
and moves forward. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>virtual</span> void <span
style='mso-tab-count:1'>         </span><span class=SpellE>firstRow</span> ()=0</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Fetches current row from cursor
and moves forward. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>virtual</span> <span class=SpellE>bool</span>
<span style='mso-tab-count:1'>        </span><span class=SpellE>isEmpty</span>
()=0</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=SpellE>Datetime</span>
()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Default constructor. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=SpellE>Datetime</span>
(<span class=SpellE>int</span> <span class=SpellE>p_year</span>, <span
class=SpellE>int</span> <span class=SpellE>p_month</span>, <span class=SpellE>int</span>
<span class=SpellE>p_day</span>, <span class=SpellE>int</span> <span
class=SpellE>p_hour</span>, <span class=SpellE>int</span> <span class=SpellE>p_minute</span>,
<span class=SpellE>int</span> <span class=SpellE>p_second</span>, <span
class=SpellE>int</span> <span class=SpellE>p_millisec</span>=0)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Constructor.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=SpellE>Datetime</span>
(const <span class=SpellE>Datetime</span> &other)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Copy Constructor. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>virtual</span> <span style='mso-tab-count:
1'>   </span>~<span class=SpellE>Datetime</span> ()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Destructor.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>int</span></span> <span
style='mso-tab-count:1'>         </span><span class=SpellE>getYear</span> ()
const</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Returns year.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>int</span></span> <span
style='mso-tab-count:1'>         </span><span class=SpellE>getMonth</span> ()
const</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Returns month.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>int</span></span> <span
style='mso-tab-count:1'>         </span><span class=SpellE>getDay</span> ()
const</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Returns day.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>int</span></span> <span
style='mso-tab-count:1'>         </span><span class=SpellE>getHour</span> ()
const</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Returns hour.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>int</span></span> <span
style='mso-tab-count:1'>         </span><span class=SpellE>getMinute</span> ()
const</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Returns minute.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>int</span></span> <span
style='mso-tab-count:1'>         </span><span class=SpellE>getSecond</span> ()
const</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Returns second.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>int</span></span> <span
style='mso-tab-count:1'>         </span><span class=SpellE>getMillisec</span>
()</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Returns
millisecond.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>setYear</span> (<span class=SpellE>int</span>
<span class=SpellE>p_year</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Sets year.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>setMonth</span> (<span class=SpellE>int</span>
<span class=SpellE>p_month</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Sets month.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>setDay</span> (<span class=SpellE>int</span>
<span class=SpellE>p_day</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Sets day.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>setHour</span> (<span class=SpellE>int</span>
<span class=SpellE>p_hour</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Sets hour.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>setMinute</span> (<span class=SpellE>int</span>
<span class=SpellE>p_minute</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Sets minute.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=GramE>void</span> <span style='mso-tab-count:
1'>      </span><span class=SpellE>setSecond</span> (<span class=SpellE>int</span>
<span class=SpellE>p_second</span>)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Sets second.</span>
</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>int</span></span> <span
style='mso-tab-count:1'>         </span><span class=SpellE>dateDiff</span>
(const <span class=SpellE>Datetime</span> &d)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Returns days difference between
two dates. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span class=SpellE><span class=GramE>int</span></span> <span
style='mso-tab-count:1'>         </span><span class=SpellE>timeDiff</span>
(const <span class=SpellE>Datetime</span> &d)</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span>Returns seconds difference between
two times. </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span>std::<span
class=GramE>string<span style='mso-spacerun:yes'>  </span><span class=SpellE>getString</span></span>
() const</p>

<p class=MsoNormal><span style='mso-spacerun:yes'> </span><span
style='mso-tab-count:1'>              </span><span class=GramE>Returns a string
containing the date.</span> </p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><b style='mso-bidi-font-weight:normal'>Use case:<o:p></o:p></b></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>It will be used to support connectivity for <span
class=SpellE>MySQL</span>, <span class=SpellE>SQlite</span> and <span
class=SpellE>PostgreSql</span>.</p>

<p class=MsoNormal>It will provide functionality as given above.</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><b style='mso-bidi-font-weight:normal'>Alternatives:<o:p></o:p></b></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>An embedded Database can be used. It will provide ease of
use as then the user will not have to </p>

<p class=MsoNormal><span class=GramE>install</span> database explicitly also it
will not have any compatibility problems with versions.</p>

<p class=MsoNormal>But also it will be limited to the access of single db.</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><b style='mso-bidi-font-weight:normal'>Compatibility:<o:p></o:p></b></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>May have compatibility issues with different version of db
but should be compatible with <span class=SpellE>Scilab</span> versions.</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><b style='mso-bidi-font-weight:normal'>Limitations:<o:p></o:p></b></p>

<p class=MsoNormal>It will provide db connectivity only for <span class=SpellE>MySQL</span>,
<span class=SpellE>SQlite</span> and <span class=SpellE>PostgreSql</span>.</p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><b style='mso-bidi-font-weight:normal'>To-do<o:p></o:p></b></p>

<p class=MsoNormal><span class=GramE>Implementation of other database
connectivity driver.</span></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

</div>

</body>

</html>