class_a_database.html 52 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.9.1"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>openPilotLog: ADatabase Class Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="navtree.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="resize.js"></script>
  14. <script type="text/javascript" src="navtreedata.js"></script>
  15. <script type="text/javascript" src="navtree.js"></script>
  16. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  17. <script type="text/javascript" src="search/searchdata.js"></script>
  18. <script type="text/javascript" src="search/search.js"></script>
  19. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  20. <link href="custom_dark_theme.css" rel="stylesheet" type="text/css"/>
  21. </head>
  22. <body>
  23. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  24. <div id="titlearea">
  25. <table cellspacing="0" cellpadding="0">
  26. <tbody>
  27. <tr style="height: 56px;">
  28. <td id="projectlogo"><img alt="Logo" src="icon_main.png"/></td>
  29. <td id="projectalign" style="padding-left: 0.5em;">
  30. <div id="projectname">openPilotLog
  31. </div>
  32. </td>
  33. </tr>
  34. </tbody>
  35. </table>
  36. </div>
  37. <!-- end header part -->
  38. <!-- Generated by Doxygen 1.9.1 -->
  39. <script type="text/javascript">
  40. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  41. var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
  42. /* @license-end */
  43. </script>
  44. <script type="text/javascript" src="menudata.js"></script>
  45. <script type="text/javascript" src="menu.js"></script>
  46. <script type="text/javascript">
  47. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  48. $(function() {
  49. initMenu('',true,false,'search.php','Search');
  50. $(document).ready(function() { init_search(); });
  51. });
  52. /* @license-end */</script>
  53. <div id="main-nav"></div>
  54. </div><!-- top -->
  55. <div id="side-nav" class="ui-resizable side-nav-resizable">
  56. <div id="nav-tree">
  57. <div id="nav-tree-contents">
  58. <div id="nav-sync" class="sync"></div>
  59. </div>
  60. </div>
  61. <div id="splitbar" style="-moz-user-select:none;"
  62. class="ui-resizable-handle">
  63. </div>
  64. </div>
  65. <script type="text/javascript">
  66. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  67. $(document).ready(function(){initNavTree('class_a_database.html',''); initResizable(); });
  68. /* @license-end */
  69. </script>
  70. <div id="doc-content">
  71. <!-- window showing the filter options -->
  72. <div id="MSearchSelectWindow"
  73. onmouseover="return searchBox.OnSearchSelectShow()"
  74. onmouseout="return searchBox.OnSearchSelectHide()"
  75. onkeydown="return searchBox.OnSearchSelectKey(event)">
  76. </div>
  77. <!-- iframe showing the search results (closed by default) -->
  78. <div id="MSearchResultsWindow">
  79. <iframe src="javascript:void(0)" frameborder="0"
  80. name="MSearchResults" id="MSearchResults">
  81. </iframe>
  82. </div>
  83. <div class="header">
  84. <div class="summary">
  85. <a href="#signals">Signals</a> &#124;
  86. <a href="#pub-methods">Public Member Functions</a> &#124;
  87. <a href="#pub-static-methods">Static Public Member Functions</a> &#124;
  88. <a href="#pub-attribs">Public Attributes</a> &#124;
  89. <a href="class_a_database-members.html">List of all members</a> </div>
  90. <div class="headertitle">
  91. <div class="title">ADatabase Class Reference</div> </div>
  92. </div><!--header-->
  93. <div class="contents">
  94. <p>The DB class encapsulates the SQL database by providing fast access to hot database data.
  95. <a href="class_a_database.html#details">More...</a></p>
  96. <p><code>#include &lt;<a class="el" href="adatabase_8h_source.html">adatabase.h</a>&gt;</code></p>
  97. <div class="dynheader">
  98. Inheritance diagram for ADatabase:</div>
  99. <div class="dyncontent">
  100. <div class="center">
  101. <img src="class_a_database.png" alt=""/>
  102. </div></div>
  103. <table class="memberdecls">
  104. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="signals"></a>
  105. Signals</h2></td></tr>
  106. <tr class="memitem:a5ed8c010ccc022687ce903cfde8ae911"><td class="memItemLeft" align="right" valign="top"><a id="a5ed8c010ccc022687ce903cfde8ae911"></a>
  107. void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a5ed8c010ccc022687ce903cfde8ae911">dataBaseUpdated</a> ()</td></tr>
  108. <tr class="memdesc:a5ed8c010ccc022687ce903cfde8ae911"><td class="mdescLeft">&#160;</td><td class="mdescRight">updated is emitted whenever the database contents have been updated. This can be either a commit, update or remove. This signal should be used to trigger an update to the models of the views displaying database contents in the user interface so that a user is always presented with up-to-date information. <br /></td></tr>
  109. <tr class="separator:a5ed8c010ccc022687ce903cfde8ae911"><td class="memSeparator" colspan="2">&#160;</td></tr>
  110. <tr class="memitem:a0f0bffbb6cdd79975b7b5ca6c0db31a7"><td class="memItemLeft" align="right" valign="top"><a id="a0f0bffbb6cdd79975b7b5ca6c0db31a7"></a>
  111. void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a0f0bffbb6cdd79975b7b5ca6c0db31a7">connectionReset</a> ()</td></tr>
  112. <tr class="memdesc:a0f0bffbb6cdd79975b7b5ca6c0db31a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">connectionReset is emitted whenever the database connection is reset, for example when creating or restoring a backup. <br /></td></tr>
  113. <tr class="separator:a0f0bffbb6cdd79975b7b5ca6c0db31a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  114. </table><table class="memberdecls">
  115. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  116. Public Member Functions</h2></td></tr>
  117. <tr class="memitem:aad08b473425d508107bc6c872cb53334"><td class="memItemLeft" align="right" valign="top"><a id="aad08b473425d508107bc6c872cb53334"></a>
  118. &#160;</td><td class="memItemRight" valign="bottom"><b>ADatabase</b> (const <a class="el" href="class_a_database.html">ADatabase</a> &amp;)=delete</td></tr>
  119. <tr class="separator:aad08b473425d508107bc6c872cb53334"><td class="memSeparator" colspan="2">&#160;</td></tr>
  120. <tr class="memitem:a3c3e1c6b74a9e92f26f7118a6a130a64"><td class="memItemLeft" align="right" valign="top"><a id="a3c3e1c6b74a9e92f26f7118a6a130a64"></a>
  121. void&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="class_a_database.html">ADatabase</a> &amp;)=delete</td></tr>
  122. <tr class="separator:a3c3e1c6b74a9e92f26f7118a6a130a64"><td class="memSeparator" colspan="2">&#160;</td></tr>
  123. <tr class="memitem:a1c026e7784b03fc5822077c7d0071330"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a1c026e7784b03fc5822077c7d0071330">dbRevision</a> () const</td></tr>
  124. <tr class="memdesc:a1c026e7784b03fc5822077c7d0071330"><td class="mdescLeft">&#160;</td><td class="mdescRight">dbRevision returns the database Revision Number. The Revision refers to what iteration of the database layout is used. For the sqlite version of the database refer to <a class="el" href="class_a_database.html#a491415273a771dd7ea41452c331a34b0" title="ADatabase::sqliteVersion returns the database sqlite version. See also dbRevision()">sqliteVersion()</a> <a href="class_a_database.html#a1c026e7784b03fc5822077c7d0071330">More...</a><br /></td></tr>
  125. <tr class="separator:a1c026e7784b03fc5822077c7d0071330"><td class="memSeparator" colspan="2">&#160;</td></tr>
  126. <tr class="memitem:a3deb081c5abe832a65e1792c106eb083"><td class="memItemLeft" align="right" valign="top"><a id="a3deb081c5abe832a65e1792c106eb083"></a>
  127. const TableNames_T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a3deb081c5abe832a65e1792c106eb083">getTableNames</a> () const</td></tr>
  128. <tr class="memdesc:a3deb081c5abe832a65e1792c106eb083"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the names of all tables in the database. <br /></td></tr>
  129. <tr class="separator:a3deb081c5abe832a65e1792c106eb083"><td class="memSeparator" colspan="2">&#160;</td></tr>
  130. <tr class="memitem:a9c0dcd8c35087c8256b75d8aafa64880"><td class="memItemLeft" align="right" valign="top"><a id="a9c0dcd8c35087c8256b75d8aafa64880"></a>
  131. const ColumnNames_T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a9c0dcd8c35087c8256b75d8aafa64880">getTableColumns</a> (TableName_T table_name) const</td></tr>
  132. <tr class="memdesc:a9c0dcd8c35087c8256b75d8aafa64880"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the names of a given table in the database. <br /></td></tr>
  133. <tr class="separator:a9c0dcd8c35087c8256b75d8aafa64880"><td class="memSeparator" colspan="2">&#160;</td></tr>
  134. <tr class="memitem:a3c0fdc84000ad397d61f0efabd032194"><td class="memItemLeft" align="right" valign="top"><a id="a3c0fdc84000ad397d61f0efabd032194"></a>
  135. void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a3c0fdc84000ad397d61f0efabd032194">updateLayout</a> ()</td></tr>
  136. <tr class="memdesc:a3c0fdc84000ad397d61f0efabd032194"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the member variables tableNames and tableColumns with up-to-date layout information if the database has been altered. This function is normally only required during database setup or maintenance. <br /></td></tr>
  137. <tr class="separator:a3c0fdc84000ad397d61f0efabd032194"><td class="memSeparator" colspan="2">&#160;</td></tr>
  138. <tr class="memitem:a491415273a771dd7ea41452c331a34b0"><td class="memItemLeft" align="right" valign="top">const QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a491415273a771dd7ea41452c331a34b0">sqliteVersion</a> () const</td></tr>
  139. <tr class="memdesc:a491415273a771dd7ea41452c331a34b0"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_a_database.html#a491415273a771dd7ea41452c331a34b0" title="ADatabase::sqliteVersion returns the database sqlite version. See also dbRevision()">ADatabase::sqliteVersion</a> returns the database sqlite version. See also <a class="el" href="class_a_database.html#a1c026e7784b03fc5822077c7d0071330" title="dbRevision returns the database Revision Number. The Revision refers to what iteration of the databas...">dbRevision()</a> <a href="class_a_database.html#a491415273a771dd7ea41452c331a34b0">More...</a><br /></td></tr>
  140. <tr class="separator:a491415273a771dd7ea41452c331a34b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  141. <tr class="memitem:aa6080200aa3f229251480bc416755fed"><td class="memItemLeft" align="right" valign="top"><a id="aa6080200aa3f229251480bc416755fed"></a>
  142. bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#aa6080200aa3f229251480bc416755fed">connect</a> ()</td></tr>
  143. <tr class="memdesc:aa6080200aa3f229251480bc416755fed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect to the database and populate database information. <br /></td></tr>
  144. <tr class="separator:aa6080200aa3f229251480bc416755fed"><td class="memSeparator" colspan="2">&#160;</td></tr>
  145. <tr class="memitem:abc461aaa66304ca638e546f67a694935"><td class="memItemLeft" align="right" valign="top"><a id="abc461aaa66304ca638e546f67a694935"></a>
  146. void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#abc461aaa66304ca638e546f67a694935">disconnect</a> ()</td></tr>
  147. <tr class="memdesc:abc461aaa66304ca638e546f67a694935"><td class="mdescLeft">&#160;</td><td class="mdescRight">closes the database connection. <br /></td></tr>
  148. <tr class="separator:abc461aaa66304ca638e546f67a694935"><td class="memSeparator" colspan="2">&#160;</td></tr>
  149. <tr class="memitem:a2a43936d3ae28993f9f7eda0fdf4664d"><td class="memItemLeft" align="right" valign="top">QVector&lt; QVariant &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a2a43936d3ae28993f9f7eda0fdf4664d">customQuery</a> (QString statement, int return_values)</td></tr>
  150. <tr class="memdesc:a2a43936d3ae28993f9f7eda0fdf4664d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Can be used to send a complex query to the database. <a href="class_a_database.html#a2a43936d3ae28993f9f7eda0fdf4664d">More...</a><br /></td></tr>
  151. <tr class="separator:a2a43936d3ae28993f9f7eda0fdf4664d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  152. <tr class="memitem:a0c5a017dccf7bf5d4dcbfc29c8d20e12"><td class="memItemLeft" align="right" valign="top"><a id="a0c5a017dccf7bf5d4dcbfc29c8d20e12"></a>
  153. bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a0c5a017dccf7bf5d4dcbfc29c8d20e12">exists</a> (const <a class="el" href="class_a_entry.html">AEntry</a> &amp;entry)</td></tr>
  154. <tr class="memdesc:a0c5a017dccf7bf5d4dcbfc29c8d20e12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if an entry exists in the database, based on position data. <br /></td></tr>
  155. <tr class="separator:a0c5a017dccf7bf5d4dcbfc29c8d20e12"><td class="memSeparator" colspan="2">&#160;</td></tr>
  156. <tr class="memitem:a22ce31ddea49c144d85c05658f49fec5"><td class="memItemLeft" align="right" valign="top"><a id="a22ce31ddea49c144d85c05658f49fec5"></a>
  157. bool&#160;</td><td class="memItemRight" valign="bottom"><b>exists</b> (<a class="el" href="struct_data_position.html">DataPosition</a> data_position)</td></tr>
  158. <tr class="separator:a22ce31ddea49c144d85c05658f49fec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  159. <tr class="memitem:a73382f7e897f8381371cd3da458f72cc"><td class="memItemLeft" align="right" valign="top"><a id="a73382f7e897f8381371cd3da458f72cc"></a>
  160. bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a73382f7e897f8381371cd3da458f72cc">clear</a> ()</td></tr>
  161. <tr class="memdesc:a73382f7e897f8381371cd3da458f72cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">clear resets the database, i.e. deletes all content in the tables containing userdata (pilots, flights, tails) <br /></td></tr>
  162. <tr class="separator:a73382f7e897f8381371cd3da458f72cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
  163. <tr class="memitem:a7d57d7696814bd013fa35e068ad909c8"><td class="memItemLeft" align="right" valign="top"><a id="a7d57d7696814bd013fa35e068ad909c8"></a>
  164. bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a7d57d7696814bd013fa35e068ad909c8">commit</a> (const <a class="el" href="class_a_entry.html">AEntry</a> &amp;entry)</td></tr>
  165. <tr class="memdesc:a7d57d7696814bd013fa35e068ad909c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">commits an entry to the database, calls either insert or update, based on position data <br /></td></tr>
  166. <tr class="separator:a7d57d7696814bd013fa35e068ad909c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  167. <tr class="memitem:aa69dcdf174e48653cdf1bef473dc5623"><td class="memItemLeft" align="right" valign="top"><a id="aa69dcdf174e48653cdf1bef473dc5623"></a>
  168. bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#aa69dcdf174e48653cdf1bef473dc5623">insert</a> (const <a class="el" href="class_a_entry.html">AEntry</a> &amp;new_entry)</td></tr>
  169. <tr class="memdesc:aa69dcdf174e48653cdf1bef473dc5623"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create new entry in the databse based on UserInput. <br /></td></tr>
  170. <tr class="separator:aa69dcdf174e48653cdf1bef473dc5623"><td class="memSeparator" colspan="2">&#160;</td></tr>
  171. <tr class="memitem:ac73208ba1a70af19590d53f260e7cb8c"><td class="memItemLeft" align="right" valign="top"><a id="ac73208ba1a70af19590d53f260e7cb8c"></a>
  172. bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#ac73208ba1a70af19590d53f260e7cb8c">update</a> (const <a class="el" href="class_a_entry.html">AEntry</a> &amp;updated_entry)</td></tr>
  173. <tr class="memdesc:ac73208ba1a70af19590d53f260e7cb8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates entry in database from existing entry tweaked by the user. <br /></td></tr>
  174. <tr class="separator:ac73208ba1a70af19590d53f260e7cb8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  175. <tr class="memitem:a4deda96cfb75518f98a4a0c9996920eb"><td class="memItemLeft" align="right" valign="top"><a id="a4deda96cfb75518f98a4a0c9996920eb"></a>
  176. bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a4deda96cfb75518f98a4a0c9996920eb">remove</a> (const <a class="el" href="class_a_entry.html">AEntry</a> &amp;entry)</td></tr>
  177. <tr class="memdesc:a4deda96cfb75518f98a4a0c9996920eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">deletes an entry from the database. <br /></td></tr>
  178. <tr class="separator:a4deda96cfb75518f98a4a0c9996920eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  179. <tr class="memitem:a863d30e9e3a7c14adfe72787363618c8"><td class="memItemLeft" align="right" valign="top"><a id="a863d30e9e3a7c14adfe72787363618c8"></a>
  180. bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a863d30e9e3a7c14adfe72787363618c8">removeMany</a> (QList&lt; <a class="el" href="struct_data_position.html">DataPosition</a> &gt;)</td></tr>
  181. <tr class="memdesc:a863d30e9e3a7c14adfe72787363618c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">deletes a list of entries from the database. Optimised for speed when deleting many entries. <br /></td></tr>
  182. <tr class="separator:a863d30e9e3a7c14adfe72787363618c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  183. <tr class="memitem:afc39f6136fc822e0649964fa22b84bf9"><td class="memItemLeft" align="right" valign="top"><a id="afc39f6136fc822e0649964fa22b84bf9"></a>
  184. RowData_T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#afc39f6136fc822e0649964fa22b84bf9">getEntryData</a> (<a class="el" href="struct_data_position.html">DataPosition</a> data_position)</td></tr>
  185. <tr class="memdesc:afc39f6136fc822e0649964fa22b84bf9"><td class="mdescLeft">&#160;</td><td class="mdescRight">retreive entry data from the database to create an entry object <br /></td></tr>
  186. <tr class="separator:afc39f6136fc822e0649964fa22b84bf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  187. <tr class="memitem:a8959b406b97d9520981890d92850b1ba"><td class="memItemLeft" align="right" valign="top"><a id="a8959b406b97d9520981890d92850b1ba"></a>
  188. <a class="el" href="class_a_entry.html">AEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a8959b406b97d9520981890d92850b1ba">getEntry</a> (<a class="el" href="struct_data_position.html">DataPosition</a> data_position)</td></tr>
  189. <tr class="memdesc:a8959b406b97d9520981890d92850b1ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">retreive an Entry from the database. <br /></td></tr>
  190. <tr class="separator:a8959b406b97d9520981890d92850b1ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
  191. <tr class="memitem:a426026d641a594863995ec5db8312259"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_pilot_entry.html">APilotEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a426026d641a594863995ec5db8312259">getPilotEntry</a> (RowId_T row_id)</td></tr>
  192. <tr class="memdesc:a426026d641a594863995ec5db8312259"><td class="mdescLeft">&#160;</td><td class="mdescRight">retreives a PilotEntry from the database. <a href="class_a_database.html#a426026d641a594863995ec5db8312259">More...</a><br /></td></tr>
  193. <tr class="separator:a426026d641a594863995ec5db8312259"><td class="memSeparator" colspan="2">&#160;</td></tr>
  194. <tr class="memitem:a356df159542705635dc3898d90682039"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_tail_entry.html">ATailEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a356df159542705635dc3898d90682039">getTailEntry</a> (RowId_T row_id)</td></tr>
  195. <tr class="memdesc:a356df159542705635dc3898d90682039"><td class="mdescLeft">&#160;</td><td class="mdescRight">retreives a TailEntry from the database. <a href="class_a_database.html#a356df159542705635dc3898d90682039">More...</a><br /></td></tr>
  196. <tr class="separator:a356df159542705635dc3898d90682039"><td class="memSeparator" colspan="2">&#160;</td></tr>
  197. <tr class="memitem:ae0a3c9273431195df6295b9da24b3a3a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_aircraft_entry.html">AAircraftEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#ae0a3c9273431195df6295b9da24b3a3a">getAircraftEntry</a> (RowId_T row_id)</td></tr>
  198. <tr class="memdesc:ae0a3c9273431195df6295b9da24b3a3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">retreives a TailEntry from the database. <a href="class_a_database.html#ae0a3c9273431195df6295b9da24b3a3a">More...</a><br /></td></tr>
  199. <tr class="separator:ae0a3c9273431195df6295b9da24b3a3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  200. <tr class="memitem:a7bb44738362582e4f54f68e3aa30d40a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_a_flight_entry.html">AFlightEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a7bb44738362582e4f54f68e3aa30d40a">getFlightEntry</a> (RowId_T row_id)</td></tr>
  201. <tr class="memdesc:a7bb44738362582e4f54f68e3aa30d40a"><td class="mdescLeft">&#160;</td><td class="mdescRight">retreives a flight entry from the database. <a href="class_a_database.html#a7bb44738362582e4f54f68e3aa30d40a">More...</a><br /></td></tr>
  202. <tr class="separator:a7bb44738362582e4f54f68e3aa30d40a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  203. <tr class="memitem:a5abdf1f35468f788609252c7a3be7bc4"><td class="memItemLeft" align="right" valign="top"><a id="a5abdf1f35468f788609252c7a3be7bc4"></a>
  204. <a class="el" href="struct_a_currency_entry.html">ACurrencyEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a5abdf1f35468f788609252c7a3be7bc4">getCurrencyEntry</a> (ACurrencyEntry::CurrencyName currency_name)</td></tr>
  205. <tr class="memdesc:a5abdf1f35468f788609252c7a3be7bc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retreives a currency entry from the database. <br /></td></tr>
  206. <tr class="separator:a5abdf1f35468f788609252c7a3be7bc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  207. <tr class="memitem:a89de409c1828125363f46f384df47359"><td class="memItemLeft" align="right" valign="top"><a id="a89de409c1828125363f46f384df47359"></a>
  208. const QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a89de409c1828125363f46f384df47359">getCompletionList</a> (ADatabaseTarget target)</td></tr>
  209. <tr class="memdesc:a89de409c1828125363f46f384df47359"><td class="mdescLeft">&#160;</td><td class="mdescRight">getCompletionList returns a QStringList of values for a QCompleter based on database values <br /></td></tr>
  210. <tr class="separator:a89de409c1828125363f46f384df47359"><td class="memSeparator" colspan="2">&#160;</td></tr>
  211. <tr class="memitem:afaaaaf276d832833b0865db86de51ae5"><td class="memItemLeft" align="right" valign="top"><a id="afaaaaf276d832833b0865db86de51ae5"></a>
  212. const QHash&lt; RowId_T, QString &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#afaaaaf276d832833b0865db86de51ae5">getIdMap</a> (ADatabaseTarget target)</td></tr>
  213. <tr class="memdesc:afaaaaf276d832833b0865db86de51ae5"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns a QHash of a human-readable database value and its row id. Used in the Dialogs to map user input to unique database entries. <br /></td></tr>
  214. <tr class="separator:afaaaaf276d832833b0865db86de51ae5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  215. <tr class="memitem:a0497bb70998cea6cd60fa893880c9555"><td class="memItemLeft" align="right" valign="top"><a id="a0497bb70998cea6cd60fa893880c9555"></a>
  216. RowId_T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a0497bb70998cea6cd60fa893880c9555">getLastEntry</a> (ADatabaseTable table)</td></tr>
  217. <tr class="memdesc:a0497bb70998cea6cd60fa893880c9555"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the ROWID for the newest entry in the respective database. <br /></td></tr>
  218. <tr class="separator:a0497bb70998cea6cd60fa893880c9555"><td class="memSeparator" colspan="2">&#160;</td></tr>
  219. <tr class="memitem:a0f88e121d421043f35e321d5dc49ba19"><td class="memItemLeft" align="right" valign="top"><a id="a0f88e121d421043f35e321d5dc49ba19"></a>
  220. QList&lt; RowId_T &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a0f88e121d421043f35e321d5dc49ba19">getForeignKeyConstraints</a> (RowId_T foreign_row_id, ADatabaseTable target)</td></tr>
  221. <tr class="memdesc:a0f88e121d421043f35e321d5dc49ba19"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns a list of ROWID's in the flights table for which foreign key constraints exist. <br /></td></tr>
  222. <tr class="separator:a0f88e121d421043f35e321d5dc49ba19"><td class="memSeparator" colspan="2">&#160;</td></tr>
  223. <tr class="memitem:a4640a4348dad468a0ff65bad05b07227"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_pilot_entry.html">APilotEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a4640a4348dad468a0ff65bad05b07227">resolveForeignPilot</a> (RowId_T foreign_key)</td></tr>
  224. <tr class="memdesc:a4640a4348dad468a0ff65bad05b07227"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resolves the foreign key in a flight entry. <a href="class_a_database.html#a4640a4348dad468a0ff65bad05b07227">More...</a><br /></td></tr>
  225. <tr class="separator:a4640a4348dad468a0ff65bad05b07227"><td class="memSeparator" colspan="2">&#160;</td></tr>
  226. <tr class="memitem:a5878bcd4bc19e4c3fc5275ca7252860d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_tail_entry.html">ATailEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a5878bcd4bc19e4c3fc5275ca7252860d">resolveForeignTail</a> (RowId_T foreign_key)</td></tr>
  227. <tr class="memdesc:a5878bcd4bc19e4c3fc5275ca7252860d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resolves the foreign key in a flight entry. <a href="class_a_database.html#a5878bcd4bc19e4c3fc5275ca7252860d">More...</a><br /></td></tr>
  228. <tr class="separator:a5878bcd4bc19e4c3fc5275ca7252860d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  229. <tr class="memitem:a56baf4eaf25922030f3cfa6906963f7c"><td class="memItemLeft" align="right" valign="top">QMap&lt; ADatabaseSummaryKey, QString &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a56baf4eaf25922030f3cfa6906963f7c">databaseSummary</a> (const QString &amp;db_path)</td></tr>
  230. <tr class="memdesc:a56baf4eaf25922030f3cfa6906963f7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a summary of a database. <a href="class_a_database.html#a56baf4eaf25922030f3cfa6906963f7c">More...</a><br /></td></tr>
  231. <tr class="separator:a56baf4eaf25922030f3cfa6906963f7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  232. <tr class="memitem:a2c54b7506faf0f15f5323ed53ff12099"><td class="memItemLeft" align="right" valign="top"><a id="a2c54b7506faf0f15f5323ed53ff12099"></a>
  233. const QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a2c54b7506faf0f15f5323ed53ff12099">databaseSummaryString</a> (const QString &amp;db_path)</td></tr>
  234. <tr class="memdesc:a2c54b7506faf0f15f5323ed53ff12099"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns a short summary string of the database, containing total time and date of last flight. <br /></td></tr>
  235. <tr class="separator:a2c54b7506faf0f15f5323ed53ff12099"><td class="memSeparator" colspan="2">&#160;</td></tr>
  236. <tr class="memitem:a0bda52064f005f1463e56b60cd23b164"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a0bda52064f005f1463e56b60cd23b164">restoreBackup</a> (const QString &amp;backup_file)</td></tr>
  237. <tr class="memdesc:a0bda52064f005f1463e56b60cd23b164"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_a_database.html#a0bda52064f005f1463e56b60cd23b164" title="ADatabase::restoreBackup restores the database from a given backup file and replaces the currently ac...">ADatabase::restoreBackup</a> restores the database from a given backup file and replaces the currently active database. <a href="class_a_database.html#a0bda52064f005f1463e56b60cd23b164">More...</a><br /></td></tr>
  238. <tr class="separator:a0bda52064f005f1463e56b60cd23b164"><td class="memSeparator" colspan="2">&#160;</td></tr>
  239. <tr class="memitem:a5ab838a62a83974f9e40c62f66adfa99"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a5ab838a62a83974f9e40c62f66adfa99">createBackup</a> (const QString &amp;dest_file)</td></tr>
  240. <tr class="memdesc:a5ab838a62a83974f9e40c62f66adfa99"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_a_database.html#a5ab838a62a83974f9e40c62f66adfa99" title="ADatabase::createBackup copies the currently used database to an external backup location provided by...">ADatabase::createBackup</a> copies the currently used database to an external backup location provided by the user. <a href="class_a_database.html#a5ab838a62a83974f9e40c62f66adfa99">More...</a><br /></td></tr>
  241. <tr class="separator:a5ab838a62a83974f9e40c62f66adfa99"><td class="memSeparator" colspan="2">&#160;</td></tr>
  242. <tr class="memitem:a8b38405b535d603cce2b36ca2d56368f"><td class="memItemLeft" align="right" valign="top">QVector&lt; RowData_T &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a8b38405b535d603cce2b36ca2d56368f">getTable</a> (ADatabaseTable table_name)</td></tr>
  243. <tr class="memdesc:a8b38405b535d603cce2b36ca2d56368f"><td class="mdescLeft">&#160;</td><td class="mdescRight">getTable returns all contents of a given table from the database <a href="class_a_database.html#a8b38405b535d603cce2b36ca2d56368f">More...</a><br /></td></tr>
  244. <tr class="separator:a8b38405b535d603cce2b36ca2d56368f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  245. <tr class="memitem:a692d7ba3abc763ee7c0d1a47236f021f"><td class="memItemLeft" align="right" valign="top"><a id="a692d7ba3abc763ee7c0d1a47236f021f"></a>
  246. QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a692d7ba3abc763ee7c0d1a47236f021f">getUserTableNames</a> ()</td></tr>
  247. <tr class="memdesc:a692d7ba3abc763ee7c0d1a47236f021f"><td class="mdescLeft">&#160;</td><td class="mdescRight">getUserTableNames returns a list of the table names of tables that contain user-created data (flights, pilots,..) <br /></td></tr>
  248. <tr class="separator:a692d7ba3abc763ee7c0d1a47236f021f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  249. <tr class="memitem:ad688f0e48bea4879a81e17a584f189b1"><td class="memItemLeft" align="right" valign="top"><a id="ad688f0e48bea4879a81e17a584f189b1"></a>
  250. QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#ad688f0e48bea4879a81e17a584f189b1">getTemplateTableNames</a> ()</td></tr>
  251. <tr class="memdesc:ad688f0e48bea4879a81e17a584f189b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">getTemplateTableNames returns a list of the table names of tables that contain template data (aiports, aircraft,..) <br /></td></tr>
  252. <tr class="separator:ad688f0e48bea4879a81e17a584f189b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  253. <tr class="memitem:a9da290c8488b35196ce4e49c4cfbe9f5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_user_data_state.html">UserDataState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a9da290c8488b35196ce4e49c4cfbe9f5">getUserDataState</a> ()</td></tr>
  254. <tr class="memdesc:a9da290c8488b35196ce4e49c4cfbe9f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">getUserDataState returns a struct containing the current amount of entries in the tails and pilots tables. <a href="class_a_database.html#a9da290c8488b35196ce4e49c4cfbe9f5">More...</a><br /></td></tr>
  255. <tr class="separator:a9da290c8488b35196ce4e49c4cfbe9f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  256. </table><table class="memberdecls">
  257. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
  258. Static Public Member Functions</h2></td></tr>
  259. <tr class="memitem:ad4f5ba05c99e7eb5eec75ba913f1fc00"><td class="memItemLeft" align="right" valign="top"><a id="ad4f5ba05c99e7eb5eec75ba913f1fc00"></a>
  260. static <a class="el" href="class_a_database.html">ADatabase</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>instance</b> ()</td></tr>
  261. <tr class="separator:ad4f5ba05c99e7eb5eec75ba913f1fc00"><td class="memSeparator" colspan="2">&#160;</td></tr>
  262. <tr class="memitem:a2379c9da900da8e96add932e4024389a"><td class="memItemLeft" align="right" valign="top">static QSqlDatabase&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a2379c9da900da8e96add932e4024389a">database</a> ()</td></tr>
  263. <tr class="memdesc:a2379c9da900da8e96add932e4024389a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Can be used to access the database connection. <a href="class_a_database.html#a2379c9da900da8e96add932e4024389a">More...</a><br /></td></tr>
  264. <tr class="separator:a2379c9da900da8e96add932e4024389a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  265. <tr class="memitem:ab99ccce4c67591f5f58832c26cf93fc8"><td class="memItemLeft" align="right" valign="top"><a id="ab99ccce4c67591f5f58832c26cf93fc8"></a>
  266. static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#ab99ccce4c67591f5f58832c26cf93fc8">getMinimumDatabaseRevision</a> ()</td></tr>
  267. <tr class="memdesc:ab99ccce4c67591f5f58832c26cf93fc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">getMinimumDatabaseRevision returns the minimum required database revision number required by the application. <br /></td></tr>
  268. <tr class="separator:ab99ccce4c67591f5f58832c26cf93fc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  269. </table><table class="memberdecls">
  270. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
  271. Public Attributes</h2></td></tr>
  272. <tr class="memitem:a88c8cb3d573d46c1ee8e5af61cf63224"><td class="memItemLeft" align="right" valign="top">QSqlError&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a88c8cb3d573d46c1ee8e5af61cf63224">lastError</a></td></tr>
  273. <tr class="memdesc:a88c8cb3d573d46c1ee8e5af61cf63224"><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds information about the last error that ocurred during a SQL operation. If the error type is QSqlError::UnknownError, the error is related to data from the database (entry not found,...), otherwise the error is related to SQL execution. In this case error.type() provides further information. <a href="class_a_database.html#a88c8cb3d573d46c1ee8e5af61cf63224">More...</a><br /></td></tr>
  274. <tr class="separator:a88c8cb3d573d46c1ee8e5af61cf63224"><td class="memSeparator" colspan="2">&#160;</td></tr>
  275. <tr class="memitem:ae1da0311f588fd269dec80389aea8644"><td class="memItemLeft" align="right" valign="top"><a id="ae1da0311f588fd269dec80389aea8644"></a>
  276. const QFileInfo&#160;</td><td class="memItemRight" valign="bottom"><b>databaseFile</b></td></tr>
  277. <tr class="separator:ae1da0311f588fd269dec80389aea8644"><td class="memSeparator" colspan="2">&#160;</td></tr>
  278. </table>
  279. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  280. <div class="textblock"><p>The DB class encapsulates the SQL database by providing fast access to hot database data. </p>
  281. </div><h2 class="groupheader">Member Function Documentation</h2>
  282. <a id="a5ab838a62a83974f9e40c62f66adfa99"></a>
  283. <h2 class="memtitle"><span class="permalink"><a href="#a5ab838a62a83974f9e40c62f66adfa99">&#9670;&nbsp;</a></span>createBackup()</h2>
  284. <div class="memitem">
  285. <div class="memproto">
  286. <table class="memname">
  287. <tr>
  288. <td class="memname">bool ADatabase::createBackup </td>
  289. <td>(</td>
  290. <td class="paramtype">const QString &amp;&#160;</td>
  291. <td class="paramname"><em>dest_file</em></td><td>)</td>
  292. <td></td>
  293. </tr>
  294. </table>
  295. </div><div class="memdoc">
  296. <p><a class="el" href="class_a_database.html#a5ab838a62a83974f9e40c62f66adfa99" title="ADatabase::createBackup copies the currently used database to an external backup location provided by...">ADatabase::createBackup</a> copies the currently used database to an external backup location provided by the user. </p>
  297. <dl class="params"><dt>Parameters</dt><dd>
  298. <table class="params">
  299. <tr><td class="paramname">dest_file</td><td>This is the full path and filename of where the backup will be created, e.g. 'home/Sully/myBackups/backupFromOpl.db' </td></tr>
  300. </table>
  301. </dd>
  302. </dl>
  303. </div>
  304. </div>
  305. <a id="a2a43936d3ae28993f9f7eda0fdf4664d"></a>
  306. <h2 class="memtitle"><span class="permalink"><a href="#a2a43936d3ae28993f9f7eda0fdf4664d">&#9670;&nbsp;</a></span>customQuery()</h2>
  307. <div class="memitem">
  308. <div class="memproto">
  309. <table class="memname">
  310. <tr>
  311. <td class="memname">QVector&lt; QVariant &gt; ADatabase::customQuery </td>
  312. <td>(</td>
  313. <td class="paramtype">QString&#160;</td>
  314. <td class="paramname"><em>statement</em>, </td>
  315. </tr>
  316. <tr>
  317. <td class="paramkey"></td>
  318. <td></td>
  319. <td class="paramtype">int&#160;</td>
  320. <td class="paramname"><em>return_values</em>&#160;</td>
  321. </tr>
  322. <tr>
  323. <td></td>
  324. <td>)</td>
  325. <td></td><td></td>
  326. </tr>
  327. </table>
  328. </div><div class="memdoc">
  329. <p>Can be used to send a complex query to the database. </p>
  330. <dl class="params"><dt>Parameters</dt><dd>
  331. <table class="params">
  332. <tr><td class="paramname">query</td><td>- the full sql query statement </td></tr>
  333. <tr><td class="paramname">returnValues</td><td>- the number of return values </td></tr>
  334. </table>
  335. </dd>
  336. </dl>
  337. </div>
  338. </div>
  339. <a id="a2379c9da900da8e96add932e4024389a"></a>
  340. <h2 class="memtitle"><span class="permalink"><a href="#a2379c9da900da8e96add932e4024389a">&#9670;&nbsp;</a></span>database()</h2>
  341. <div class="memitem">
  342. <div class="memproto">
  343. <table class="mlabels">
  344. <tr>
  345. <td class="mlabels-left">
  346. <table class="memname">
  347. <tr>
  348. <td class="memname">QSqlDatabase ADatabase::database </td>
  349. <td>(</td>
  350. <td class="paramname"></td><td>)</td>
  351. <td></td>
  352. </tr>
  353. </table>
  354. </td>
  355. <td class="mlabels-right">
  356. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  357. </tr>
  358. </table>
  359. </div><div class="memdoc">
  360. <p>Can be used to access the database connection. </p>
  361. <dl class="section return"><dt>Returns</dt><dd>The QSqlDatabase object pertaining to the connection. </dd></dl>
  362. </div>
  363. </div>
  364. <a id="a56baf4eaf25922030f3cfa6906963f7c"></a>
  365. <h2 class="memtitle"><span class="permalink"><a href="#a56baf4eaf25922030f3cfa6906963f7c">&#9670;&nbsp;</a></span>databaseSummary()</h2>
  366. <div class="memitem">
  367. <div class="memproto">
  368. <table class="memname">
  369. <tr>
  370. <td class="memname">QMap&lt; ADatabaseSummaryKey, QString &gt; ADatabase::databaseSummary </td>
  371. <td>(</td>
  372. <td class="paramtype">const QString &amp;&#160;</td>
  373. <td class="paramname"><em>db_path</em></td><td>)</td>
  374. <td></td>
  375. </tr>
  376. </table>
  377. </div><div class="memdoc">
  378. <p>Return a summary of a database. </p>
  379. <p>Creates a summary of the database giving a quick overview of the relevant contents. The function runs several specialised SQL queries to create a QHash&lt;ADatabaseSummaryKey, QString&gt; containing Total Flight Time, Number of unique aircraft and pilots, as well as the date of last flight. Uses a temporary database connection separate from the default connection in order to not tamper with the currently active database connection. </p>
  380. </div>
  381. </div>
  382. <a id="a1c026e7784b03fc5822077c7d0071330"></a>
  383. <h2 class="memtitle"><span class="permalink"><a href="#a1c026e7784b03fc5822077c7d0071330">&#9670;&nbsp;</a></span>dbRevision()</h2>
  384. <div class="memitem">
  385. <div class="memproto">
  386. <table class="memname">
  387. <tr>
  388. <td class="memname">int ADatabase::dbRevision </td>
  389. <td>(</td>
  390. <td class="paramname"></td><td>)</td>
  391. <td> const</td>
  392. </tr>
  393. </table>
  394. </div><div class="memdoc">
  395. <p>dbRevision returns the database Revision Number. The Revision refers to what iteration of the database layout is used. For the sqlite version of the database refer to <a class="el" href="class_a_database.html#a491415273a771dd7ea41452c331a34b0" title="ADatabase::sqliteVersion returns the database sqlite version. See also dbRevision()">sqliteVersion()</a> </p>
  396. <dl class="section return"><dt>Returns</dt><dd></dd></dl>
  397. </div>
  398. </div>
  399. <a id="ae0a3c9273431195df6295b9da24b3a3a"></a>
  400. <h2 class="memtitle"><span class="permalink"><a href="#ae0a3c9273431195df6295b9da24b3a3a">&#9670;&nbsp;</a></span>getAircraftEntry()</h2>
  401. <div class="memitem">
  402. <div class="memproto">
  403. <table class="memname">
  404. <tr>
  405. <td class="memname"><a class="el" href="struct_a_aircraft_entry.html">AAircraftEntry</a> ADatabase::getAircraftEntry </td>
  406. <td>(</td>
  407. <td class="paramtype">RowId_T&#160;</td>
  408. <td class="paramname"><em>row_id</em></td><td>)</td>
  409. <td></td>
  410. </tr>
  411. </table>
  412. </div><div class="memdoc">
  413. <p>retreives a TailEntry from the database. </p>
  414. <p>This function is a wrapper for DataBase::getEntry(DataPosition), where the table is already set and which returns an <a class="el" href="struct_a_aircraft_entry.html">AAircraftEntry</a> instead of an <a class="el" href="class_a_entry.html" title="The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries...">AEntry</a>. It allows for easy access to an aircraft entry with only the RowId required as input. </p>
  415. </div>
  416. </div>
  417. <a id="a7bb44738362582e4f54f68e3aa30d40a"></a>
  418. <h2 class="memtitle"><span class="permalink"><a href="#a7bb44738362582e4f54f68e3aa30d40a">&#9670;&nbsp;</a></span>getFlightEntry()</h2>
  419. <div class="memitem">
  420. <div class="memproto">
  421. <table class="memname">
  422. <tr>
  423. <td class="memname"><a class="el" href="class_a_flight_entry.html">AFlightEntry</a> ADatabase::getFlightEntry </td>
  424. <td>(</td>
  425. <td class="paramtype">RowId_T&#160;</td>
  426. <td class="paramname"><em>row_id</em></td><td>)</td>
  427. <td></td>
  428. </tr>
  429. </table>
  430. </div><div class="memdoc">
  431. <p>retreives a flight entry from the database. </p>
  432. <p>This function is a wrapper for DataBase::getEntry(DataPosition), where the table is already set and which returns an <a class="el" href="class_a_flight_entry.html">AFlightEntry</a> instead of an <a class="el" href="class_a_entry.html" title="The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries...">AEntry</a>. It allows for easy access to a flight entry with only the RowId required as input. </p>
  433. </div>
  434. </div>
  435. <a id="a426026d641a594863995ec5db8312259"></a>
  436. <h2 class="memtitle"><span class="permalink"><a href="#a426026d641a594863995ec5db8312259">&#9670;&nbsp;</a></span>getPilotEntry()</h2>
  437. <div class="memitem">
  438. <div class="memproto">
  439. <table class="memname">
  440. <tr>
  441. <td class="memname"><a class="el" href="struct_a_pilot_entry.html">APilotEntry</a> ADatabase::getPilotEntry </td>
  442. <td>(</td>
  443. <td class="paramtype">RowId_T&#160;</td>
  444. <td class="paramname"><em>row_id</em></td><td>)</td>
  445. <td></td>
  446. </tr>
  447. </table>
  448. </div><div class="memdoc">
  449. <p>retreives a PilotEntry from the database. </p>
  450. <p>This function is a wrapper for DataBase::getEntry(DataPosition), where the table is already set and which returns a PilotEntry instead of an Entry. It allows for easy access to a pilot entry with only the RowId required as input. </p>
  451. </div>
  452. </div>
  453. <a id="a8b38405b535d603cce2b36ca2d56368f"></a>
  454. <h2 class="memtitle"><span class="permalink"><a href="#a8b38405b535d603cce2b36ca2d56368f">&#9670;&nbsp;</a></span>getTable()</h2>
  455. <div class="memitem">
  456. <div class="memproto">
  457. <table class="memname">
  458. <tr>
  459. <td class="memname">QVector&lt; RowData_T &gt; ADatabase::getTable </td>
  460. <td>(</td>
  461. <td class="paramtype">ADatabaseTable&#160;</td>
  462. <td class="paramname"><em>table_name</em></td><td>)</td>
  463. <td></td>
  464. </tr>
  465. </table>
  466. </div><div class="memdoc">
  467. <p>getTable returns all contents of a given table from the database </p>
  468. <dl class="section return"><dt>Returns</dt><dd></dd></dl>
  469. </div>
  470. </div>
  471. <a id="a356df159542705635dc3898d90682039"></a>
  472. <h2 class="memtitle"><span class="permalink"><a href="#a356df159542705635dc3898d90682039">&#9670;&nbsp;</a></span>getTailEntry()</h2>
  473. <div class="memitem">
  474. <div class="memproto">
  475. <table class="memname">
  476. <tr>
  477. <td class="memname"><a class="el" href="struct_a_tail_entry.html">ATailEntry</a> ADatabase::getTailEntry </td>
  478. <td>(</td>
  479. <td class="paramtype">RowId_T&#160;</td>
  480. <td class="paramname"><em>row_id</em></td><td>)</td>
  481. <td></td>
  482. </tr>
  483. </table>
  484. </div><div class="memdoc">
  485. <p>retreives a TailEntry from the database. </p>
  486. <p>This function is a wrapper for DataBase::getEntry(DataPosition), where the table is already set and which returns a TailEntry instead of an Entry. It allows for easy access to a tail entry with only the RowId required as input. </p>
  487. </div>
  488. </div>
  489. <a id="a9da290c8488b35196ce4e49c4cfbe9f5"></a>
  490. <h2 class="memtitle"><span class="permalink"><a href="#a9da290c8488b35196ce4e49c4cfbe9f5">&#9670;&nbsp;</a></span>getUserDataState()</h2>
  491. <div class="memitem">
  492. <div class="memproto">
  493. <table class="memname">
  494. <tr>
  495. <td class="memname"><a class="el" href="struct_user_data_state.html">UserDataState</a> ADatabase::getUserDataState </td>
  496. <td>(</td>
  497. <td class="paramname"></td><td>)</td>
  498. <td></td>
  499. </tr>
  500. </table>
  501. </div><div class="memdoc">
  502. <p>getUserDataState returns a struct containing the current amount of entries in the tails and pilots tables. </p>
  503. <dl class="section return"><dt>Returns</dt><dd></dd></dl>
  504. </div>
  505. </div>
  506. <a id="a4640a4348dad468a0ff65bad05b07227"></a>
  507. <h2 class="memtitle"><span class="permalink"><a href="#a4640a4348dad468a0ff65bad05b07227">&#9670;&nbsp;</a></span>resolveForeignPilot()</h2>
  508. <div class="memitem">
  509. <div class="memproto">
  510. <table class="memname">
  511. <tr>
  512. <td class="memname"><a class="el" href="struct_a_pilot_entry.html">APilotEntry</a> ADatabase::resolveForeignPilot </td>
  513. <td>(</td>
  514. <td class="paramtype">RowId_T&#160;</td>
  515. <td class="paramname"><em>foreign_key</em></td><td>)</td>
  516. <td></td>
  517. </tr>
  518. </table>
  519. </div><div class="memdoc">
  520. <p>Resolves the foreign key in a flight entry. </p>
  521. <dl class="section return"><dt>Returns</dt><dd>The Pilot Entry referencted by the foreign key. </dd></dl>
  522. </div>
  523. </div>
  524. <a id="a5878bcd4bc19e4c3fc5275ca7252860d"></a>
  525. <h2 class="memtitle"><span class="permalink"><a href="#a5878bcd4bc19e4c3fc5275ca7252860d">&#9670;&nbsp;</a></span>resolveForeignTail()</h2>
  526. <div class="memitem">
  527. <div class="memproto">
  528. <table class="memname">
  529. <tr>
  530. <td class="memname"><a class="el" href="struct_a_tail_entry.html">ATailEntry</a> ADatabase::resolveForeignTail </td>
  531. <td>(</td>
  532. <td class="paramtype">RowId_T&#160;</td>
  533. <td class="paramname"><em>foreign_key</em></td><td>)</td>
  534. <td></td>
  535. </tr>
  536. </table>
  537. </div><div class="memdoc">
  538. <p>Resolves the foreign key in a flight entry. </p>
  539. <dl class="section return"><dt>Returns</dt><dd>The Tail Entry referencted by the foreign key. </dd></dl>
  540. </div>
  541. </div>
  542. <a id="a0bda52064f005f1463e56b60cd23b164"></a>
  543. <h2 class="memtitle"><span class="permalink"><a href="#a0bda52064f005f1463e56b60cd23b164">&#9670;&nbsp;</a></span>restoreBackup()</h2>
  544. <div class="memitem">
  545. <div class="memproto">
  546. <table class="memname">
  547. <tr>
  548. <td class="memname">bool ADatabase::restoreBackup </td>
  549. <td>(</td>
  550. <td class="paramtype">const QString &amp;&#160;</td>
  551. <td class="paramname"><em>backup_file</em></td><td>)</td>
  552. <td></td>
  553. </tr>
  554. </table>
  555. </div><div class="memdoc">
  556. <p><a class="el" href="class_a_database.html#a0bda52064f005f1463e56b60cd23b164" title="ADatabase::restoreBackup restores the database from a given backup file and replaces the currently ac...">ADatabase::restoreBackup</a> restores the database from a given backup file and replaces the currently active database. </p>
  557. <dl class="params"><dt>Parameters</dt><dd>
  558. <table class="params">
  559. <tr><td class="paramname">backup_file</td><td>This is the full path and filename of the backup, e.g. 'home/Sully/myBackups/backupFromOpl.db' </td></tr>
  560. </table>
  561. </dd>
  562. </dl>
  563. </div>
  564. </div>
  565. <a id="a491415273a771dd7ea41452c331a34b0"></a>
  566. <h2 class="memtitle"><span class="permalink"><a href="#a491415273a771dd7ea41452c331a34b0">&#9670;&nbsp;</a></span>sqliteVersion()</h2>
  567. <div class="memitem">
  568. <div class="memproto">
  569. <table class="memname">
  570. <tr>
  571. <td class="memname">const QString ADatabase::sqliteVersion </td>
  572. <td>(</td>
  573. <td class="paramname"></td><td>)</td>
  574. <td> const</td>
  575. </tr>
  576. </table>
  577. </div><div class="memdoc">
  578. <p><a class="el" href="class_a_database.html#a491415273a771dd7ea41452c331a34b0" title="ADatabase::sqliteVersion returns the database sqlite version. See also dbRevision()">ADatabase::sqliteVersion</a> returns the database sqlite version. See also <a class="el" href="class_a_database.html#a1c026e7784b03fc5822077c7d0071330" title="dbRevision returns the database Revision Number. The Revision refers to what iteration of the databas...">dbRevision()</a> </p>
  579. <dl class="section return"><dt>Returns</dt><dd>sqlite version string </dd></dl>
  580. </div>
  581. </div>
  582. <h2 class="groupheader">Member Data Documentation</h2>
  583. <a id="a88c8cb3d573d46c1ee8e5af61cf63224"></a>
  584. <h2 class="memtitle"><span class="permalink"><a href="#a88c8cb3d573d46c1ee8e5af61cf63224">&#9670;&nbsp;</a></span>lastError</h2>
  585. <div class="memitem">
  586. <div class="memproto">
  587. <table class="memname">
  588. <tr>
  589. <td class="memname">QSqlError ADatabase::lastError</td>
  590. </tr>
  591. </table>
  592. </div><div class="memdoc">
  593. <p>Holds information about the last error that ocurred during a SQL operation. If the error type is QSqlError::UnknownError, the error is related to data from the database (entry not found,...), otherwise the error is related to SQL execution. In this case error.type() provides further information. </p>
  594. <p>If the error type is QSqlError::NoError, the last executed database query was successful. </p>
  595. </div>
  596. </div>
  597. <hr/>The documentation for this class was generated from the following files:<ul>
  598. <li>src/database/<a class="el" href="adatabase_8h_source.html">adatabase.h</a></li>
  599. <li>src/database/adatabase.cpp</li>
  600. </ul>
  601. </div><!-- contents -->
  602. </div><!-- doc-content -->
  603. <!-- start footer part -->
  604. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  605. <ul>
  606. <li class="navelem"><a class="el" href="class_a_database.html">ADatabase</a></li>
  607. <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  608. </ul>
  609. </div>
  610. </body>
  611. </html>