<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.18"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>openPilotLog: ADatabase Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/searchdata.js"></script> <script type="text/javascript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> <link href="custom_dark_theme.css" rel="stylesheet" type="text/css"/> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectlogo"><img alt="Logo" src="icon_main.png"/></td> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">openPilotLog </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.18 --> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ var searchBox = new SearchBox("searchBox", "search",false,'Search'); /* @license-end */ </script> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('',true,false,'search.php','Search'); $(document).ready(function() { init_search(); }); }); /* @license-end */</script> <div id="main-nav"></div> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('class_a_database.html',''); initResizable(); }); /* @license-end */ </script> <div id="doc-content"> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> </div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div class="header"> <div class="summary"> <a href="#signals">Signals</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-static-methods">Static Public Member Functions</a> | <a href="#pub-attribs">Public Attributes</a> | <a href="class_a_database-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">ADatabase Class Reference</div> </div> </div><!--header--> <div class="contents"> <p>The DB class encapsulates the SQL database by providing fast access to hot database data. <a href="class_a_database.html#details">More...</a></p> <p><code>#include <<a class="el" href="adatabase_8h_source.html">adatabase.h</a>></code></p> <div class="dynheader"> Inheritance diagram for ADatabase:</div> <div class="dyncontent"> <div class="center"> <img src="class_a_database.png" alt=""/> </div></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="signals"></a> Signals</h2></td></tr> <tr class="memitem:a5ed8c010ccc022687ce903cfde8ae911"><td class="memItemLeft" align="right" valign="top"><a id="a5ed8c010ccc022687ce903cfde8ae911"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a5ed8c010ccc022687ce903cfde8ae911">dataBaseUpdated</a> ()</td></tr> <tr class="memdesc:a5ed8c010ccc022687ce903cfde8ae911"><td class="mdescLeft"> </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> <tr class="separator:a5ed8c010ccc022687ce903cfde8ae911"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0f0bffbb6cdd79975b7b5ca6c0db31a7"><td class="memItemLeft" align="right" valign="top"><a id="a0f0bffbb6cdd79975b7b5ca6c0db31a7"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a0f0bffbb6cdd79975b7b5ca6c0db31a7">connectionReset</a> ()</td></tr> <tr class="memdesc:a0f0bffbb6cdd79975b7b5ca6c0db31a7"><td class="mdescLeft"> </td><td class="mdescRight">connectionReset is emitted whenever the database connection is reset, for example when creating or restoring a backup. <br /></td></tr> <tr class="separator:a0f0bffbb6cdd79975b7b5ca6c0db31a7"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:aad08b473425d508107bc6c872cb53334"><td class="memItemLeft" align="right" valign="top"><a id="aad08b473425d508107bc6c872cb53334"></a>  </td><td class="memItemRight" valign="bottom"><b>ADatabase</b> (const <a class="el" href="class_a_database.html">ADatabase</a> &)=delete</td></tr> <tr class="separator:aad08b473425d508107bc6c872cb53334"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3c3e1c6b74a9e92f26f7118a6a130a64"><td class="memItemLeft" align="right" valign="top"><a id="a3c3e1c6b74a9e92f26f7118a6a130a64"></a> void </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="class_a_database.html">ADatabase</a> &)=delete</td></tr> <tr class="separator:a3c3e1c6b74a9e92f26f7118a6a130a64"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1c026e7784b03fc5822077c7d0071330"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a1c026e7784b03fc5822077c7d0071330">dbRevision</a> () const</td></tr> <tr class="memdesc:a1c026e7784b03fc5822077c7d0071330"><td class="mdescLeft"> </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> <tr class="separator:a1c026e7784b03fc5822077c7d0071330"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4f0df6cc04e6d9b563db874a989ebc61"><td class="memItemLeft" align="right" valign="top"><a id="a4f0df6cc04e6d9b563db874a989ebc61"></a> TableNames_T </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a4f0df6cc04e6d9b563db874a989ebc61">getTableNames</a> () const</td></tr> <tr class="memdesc:a4f0df6cc04e6d9b563db874a989ebc61"><td class="mdescLeft"> </td><td class="mdescRight">Return the names of all tables in the database. <br /></td></tr> <tr class="separator:a4f0df6cc04e6d9b563db874a989ebc61"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad977866124a3c7f7184e165c02a68931"><td class="memItemLeft" align="right" valign="top"><a id="ad977866124a3c7f7184e165c02a68931"></a> ColumnNames_T </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#ad977866124a3c7f7184e165c02a68931">getTableColumns</a> (TableName_T table_name) const</td></tr> <tr class="memdesc:ad977866124a3c7f7184e165c02a68931"><td class="mdescLeft"> </td><td class="mdescRight">Return the names of a given table in the database. <br /></td></tr> <tr class="separator:ad977866124a3c7f7184e165c02a68931"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3c0fdc84000ad397d61f0efabd032194"><td class="memItemLeft" align="right" valign="top"><a id="a3c0fdc84000ad397d61f0efabd032194"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a3c0fdc84000ad397d61f0efabd032194">updateLayout</a> ()</td></tr> <tr class="memdesc:a3c0fdc84000ad397d61f0efabd032194"><td class="mdescLeft"> </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> <tr class="separator:a3c0fdc84000ad397d61f0efabd032194"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a491415273a771dd7ea41452c331a34b0"><td class="memItemLeft" align="right" valign="top">const QString </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a491415273a771dd7ea41452c331a34b0">sqliteVersion</a> () const</td></tr> <tr class="memdesc:a491415273a771dd7ea41452c331a34b0"><td class="mdescLeft"> </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> <tr class="separator:a491415273a771dd7ea41452c331a34b0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa6080200aa3f229251480bc416755fed"><td class="memItemLeft" align="right" valign="top"><a id="aa6080200aa3f229251480bc416755fed"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#aa6080200aa3f229251480bc416755fed">connect</a> ()</td></tr> <tr class="memdesc:aa6080200aa3f229251480bc416755fed"><td class="mdescLeft"> </td><td class="mdescRight">Connect to the database and populate database information. <br /></td></tr> <tr class="separator:aa6080200aa3f229251480bc416755fed"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abc461aaa66304ca638e546f67a694935"><td class="memItemLeft" align="right" valign="top"><a id="abc461aaa66304ca638e546f67a694935"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#abc461aaa66304ca638e546f67a694935">disconnect</a> ()</td></tr> <tr class="memdesc:abc461aaa66304ca638e546f67a694935"><td class="mdescLeft"> </td><td class="mdescRight">closes the database connection. <br /></td></tr> <tr class="separator:abc461aaa66304ca638e546f67a694935"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2a43936d3ae28993f9f7eda0fdf4664d"><td class="memItemLeft" align="right" valign="top">QVector< QVariant > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a2a43936d3ae28993f9f7eda0fdf4664d">customQuery</a> (QString statement, int return_values)</td></tr> <tr class="memdesc:a2a43936d3ae28993f9f7eda0fdf4664d"><td class="mdescLeft"> </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> <tr class="separator:a2a43936d3ae28993f9f7eda0fdf4664d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a24f938e4c8d20afddb5e5651e041a7a6"><td class="memItemLeft" align="right" valign="top"><a id="a24f938e4c8d20afddb5e5651e041a7a6"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a24f938e4c8d20afddb5e5651e041a7a6">exists</a> (<a class="el" href="class_a_entry.html">AEntry</a> entry)</td></tr> <tr class="memdesc:a24f938e4c8d20afddb5e5651e041a7a6"><td class="mdescLeft"> </td><td class="mdescRight">Checks if an entry exists in the database, based on position data. <br /></td></tr> <tr class="separator:a24f938e4c8d20afddb5e5651e041a7a6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a22ce31ddea49c144d85c05658f49fec5"><td class="memItemLeft" align="right" valign="top"><a id="a22ce31ddea49c144d85c05658f49fec5"></a> bool </td><td class="memItemRight" valign="bottom"><b>exists</b> (<a class="el" href="struct_data_position.html">DataPosition</a> data_position)</td></tr> <tr class="separator:a22ce31ddea49c144d85c05658f49fec5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a652472c747c0ce68940b17c9c23666dd"><td class="memItemLeft" align="right" valign="top"><a id="a652472c747c0ce68940b17c9c23666dd"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a652472c747c0ce68940b17c9c23666dd">commit</a> (<a class="el" href="class_a_entry.html">AEntry</a> entry)</td></tr> <tr class="memdesc:a652472c747c0ce68940b17c9c23666dd"><td class="mdescLeft"> </td><td class="mdescRight">commits an entry to the database, calls either insert or update, based on position data <br /></td></tr> <tr class="separator:a652472c747c0ce68940b17c9c23666dd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4ecb6d0c9b3813c90b3165c993e69ad5"><td class="memItemLeft" align="right" valign="top"><a id="a4ecb6d0c9b3813c90b3165c993e69ad5"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a4ecb6d0c9b3813c90b3165c993e69ad5">insert</a> (<a class="el" href="class_a_entry.html">AEntry</a> new_entry)</td></tr> <tr class="memdesc:a4ecb6d0c9b3813c90b3165c993e69ad5"><td class="mdescLeft"> </td><td class="mdescRight">Create new entry in the databse based on UserInput. <br /></td></tr> <tr class="separator:a4ecb6d0c9b3813c90b3165c993e69ad5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a910bc0c1717e9301911343c082aa1aaa"><td class="memItemLeft" align="right" valign="top"><a id="a910bc0c1717e9301911343c082aa1aaa"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a910bc0c1717e9301911343c082aa1aaa">update</a> (<a class="el" href="class_a_entry.html">AEntry</a> updated_entry)</td></tr> <tr class="memdesc:a910bc0c1717e9301911343c082aa1aaa"><td class="mdescLeft"> </td><td class="mdescRight">Updates entry in database from existing entry tweaked by the user. <br /></td></tr> <tr class="separator:a910bc0c1717e9301911343c082aa1aaa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4903909a28daed708e1a335d3be4f57b"><td class="memItemLeft" align="right" valign="top"><a id="a4903909a28daed708e1a335d3be4f57b"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a4903909a28daed708e1a335d3be4f57b">remove</a> (<a class="el" href="class_a_entry.html">AEntry</a> entry)</td></tr> <tr class="memdesc:a4903909a28daed708e1a335d3be4f57b"><td class="mdescLeft"> </td><td class="mdescRight">deletes an entry from the database. <br /></td></tr> <tr class="separator:a4903909a28daed708e1a335d3be4f57b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a863d30e9e3a7c14adfe72787363618c8"><td class="memItemLeft" align="right" valign="top"><a id="a863d30e9e3a7c14adfe72787363618c8"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a863d30e9e3a7c14adfe72787363618c8">removeMany</a> (QList< <a class="el" href="struct_data_position.html">DataPosition</a> >)</td></tr> <tr class="memdesc:a863d30e9e3a7c14adfe72787363618c8"><td class="mdescLeft"> </td><td class="mdescRight">deletes a list of entries from the database. Optimised for speed when deleting many entries. <br /></td></tr> <tr class="separator:a863d30e9e3a7c14adfe72787363618c8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afc39f6136fc822e0649964fa22b84bf9"><td class="memItemLeft" align="right" valign="top"><a id="afc39f6136fc822e0649964fa22b84bf9"></a> RowData_T </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> <tr class="memdesc:afc39f6136fc822e0649964fa22b84bf9"><td class="mdescLeft"> </td><td class="mdescRight">retreive entry data from the database to create an entry object <br /></td></tr> <tr class="separator:afc39f6136fc822e0649964fa22b84bf9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8959b406b97d9520981890d92850b1ba"><td class="memItemLeft" align="right" valign="top"><a id="a8959b406b97d9520981890d92850b1ba"></a> <a class="el" href="class_a_entry.html">AEntry</a> </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> <tr class="memdesc:a8959b406b97d9520981890d92850b1ba"><td class="mdescLeft"> </td><td class="mdescRight">retreive an Entry from the database. <br /></td></tr> <tr class="separator:a8959b406b97d9520981890d92850b1ba"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a426026d641a594863995ec5db8312259"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_pilot_entry.html">APilotEntry</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a426026d641a594863995ec5db8312259">getPilotEntry</a> (RowId_T row_id)</td></tr> <tr class="memdesc:a426026d641a594863995ec5db8312259"><td class="mdescLeft"> </td><td class="mdescRight">retreives a PilotEntry from the database. <a href="class_a_database.html#a426026d641a594863995ec5db8312259">More...</a><br /></td></tr> <tr class="separator:a426026d641a594863995ec5db8312259"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a356df159542705635dc3898d90682039"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_tail_entry.html">ATailEntry</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a356df159542705635dc3898d90682039">getTailEntry</a> (RowId_T row_id)</td></tr> <tr class="memdesc:a356df159542705635dc3898d90682039"><td class="mdescLeft"> </td><td class="mdescRight">retreives a TailEntry from the database. <a href="class_a_database.html#a356df159542705635dc3898d90682039">More...</a><br /></td></tr> <tr class="separator:a356df159542705635dc3898d90682039"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae0a3c9273431195df6295b9da24b3a3a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_aircraft_entry.html">AAircraftEntry</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#ae0a3c9273431195df6295b9da24b3a3a">getAircraftEntry</a> (RowId_T row_id)</td></tr> <tr class="memdesc:ae0a3c9273431195df6295b9da24b3a3a"><td class="mdescLeft"> </td><td class="mdescRight">retreives a TailEntry from the database. <a href="class_a_database.html#ae0a3c9273431195df6295b9da24b3a3a">More...</a><br /></td></tr> <tr class="separator:ae0a3c9273431195df6295b9da24b3a3a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7bb44738362582e4f54f68e3aa30d40a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_a_flight_entry.html">AFlightEntry</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a7bb44738362582e4f54f68e3aa30d40a">getFlightEntry</a> (RowId_T row_id)</td></tr> <tr class="memdesc:a7bb44738362582e4f54f68e3aa30d40a"><td class="mdescLeft"> </td><td class="mdescRight">retreives a flight entry from the database. <a href="class_a_database.html#a7bb44738362582e4f54f68e3aa30d40a">More...</a><br /></td></tr> <tr class="separator:a7bb44738362582e4f54f68e3aa30d40a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5abdf1f35468f788609252c7a3be7bc4"><td class="memItemLeft" align="right" valign="top"><a id="a5abdf1f35468f788609252c7a3be7bc4"></a> <a class="el" href="struct_a_currency_entry.html">ACurrencyEntry</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a5abdf1f35468f788609252c7a3be7bc4">getCurrencyEntry</a> (ACurrencyEntry::CurrencyName currency_name)</td></tr> <tr class="memdesc:a5abdf1f35468f788609252c7a3be7bc4"><td class="mdescLeft"> </td><td class="mdescRight">Retreives a currency entry from the database. <br /></td></tr> <tr class="separator:a5abdf1f35468f788609252c7a3be7bc4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a89de409c1828125363f46f384df47359"><td class="memItemLeft" align="right" valign="top"><a id="a89de409c1828125363f46f384df47359"></a> const QStringList </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a89de409c1828125363f46f384df47359">getCompletionList</a> (ADatabaseTarget target)</td></tr> <tr class="memdesc:a89de409c1828125363f46f384df47359"><td class="mdescLeft"> </td><td class="mdescRight">getCompletionList returns a QStringList of values for a QCompleter based on database values <br /></td></tr> <tr class="separator:a89de409c1828125363f46f384df47359"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5dba46567089112b28b16aaf985af0ba"><td class="memItemLeft" align="right" valign="top">const QMap< QString, RowId_T > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a5dba46567089112b28b16aaf985af0ba">getIdMap</a> (ADatabaseTarget target)</td></tr> <tr class="memdesc:a5dba46567089112b28b16aaf985af0ba"><td class="mdescLeft"> </td><td class="mdescRight">returns a QMap<QString, RowId_t> of a human-readable database value and its row id. Used in the Dialogs to map user input to unique database entries. <a href="class_a_database.html#a5dba46567089112b28b16aaf985af0ba">More...</a><br /></td></tr> <tr class="separator:a5dba46567089112b28b16aaf985af0ba"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a264fea56cd3fbc31463c587f196ce576"><td class="memItemLeft" align="right" valign="top"><a id="a264fea56cd3fbc31463c587f196ce576"></a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a264fea56cd3fbc31463c587f196ce576">getLastEntry</a> (ADatabaseTarget target)</td></tr> <tr class="memdesc:a264fea56cd3fbc31463c587f196ce576"><td class="mdescLeft"> </td><td class="mdescRight">returns the ROWID for the newest entry in the respective database. <br /></td></tr> <tr class="separator:a264fea56cd3fbc31463c587f196ce576"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6006c47c82b2c72f7ab6b5cc319c5fbf"><td class="memItemLeft" align="right" valign="top"><a id="a6006c47c82b2c72f7ab6b5cc319c5fbf"></a> QList< RowId_T > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a6006c47c82b2c72f7ab6b5cc319c5fbf">getForeignKeyConstraints</a> (RowId_T foreign_row_id, ADatabaseTarget target)</td></tr> <tr class="memdesc:a6006c47c82b2c72f7ab6b5cc319c5fbf"><td class="mdescLeft"> </td><td class="mdescRight">returns a list of ROWID's in the flights table for which foreign key constraints exist. <br /></td></tr> <tr class="separator:a6006c47c82b2c72f7ab6b5cc319c5fbf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4640a4348dad468a0ff65bad05b07227"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_pilot_entry.html">APilotEntry</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a4640a4348dad468a0ff65bad05b07227">resolveForeignPilot</a> (RowId_T foreign_key)</td></tr> <tr class="memdesc:a4640a4348dad468a0ff65bad05b07227"><td class="mdescLeft"> </td><td class="mdescRight">Resolves the foreign key in a flight entry. <a href="class_a_database.html#a4640a4348dad468a0ff65bad05b07227">More...</a><br /></td></tr> <tr class="separator:a4640a4348dad468a0ff65bad05b07227"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5878bcd4bc19e4c3fc5275ca7252860d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_tail_entry.html">ATailEntry</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a5878bcd4bc19e4c3fc5275ca7252860d">resolveForeignTail</a> (RowId_T foreign_key)</td></tr> <tr class="memdesc:a5878bcd4bc19e4c3fc5275ca7252860d"><td class="mdescLeft"> </td><td class="mdescRight">Resolves the foreign key in a flight entry. <a href="class_a_database.html#a5878bcd4bc19e4c3fc5275ca7252860d">More...</a><br /></td></tr> <tr class="separator:a5878bcd4bc19e4c3fc5275ca7252860d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a56baf4eaf25922030f3cfa6906963f7c"><td class="memItemLeft" align="right" valign="top">QMap< ADatabaseSummaryKey, QString > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a56baf4eaf25922030f3cfa6906963f7c">databaseSummary</a> (const QString &db_path)</td></tr> <tr class="memdesc:a56baf4eaf25922030f3cfa6906963f7c"><td class="mdescLeft"> </td><td class="mdescRight">Return a summary of a database. <a href="class_a_database.html#a56baf4eaf25922030f3cfa6906963f7c">More...</a><br /></td></tr> <tr class="separator:a56baf4eaf25922030f3cfa6906963f7c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2c54b7506faf0f15f5323ed53ff12099"><td class="memItemLeft" align="right" valign="top"><a id="a2c54b7506faf0f15f5323ed53ff12099"></a> const QString </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a2c54b7506faf0f15f5323ed53ff12099">databaseSummaryString</a> (const QString &db_path)</td></tr> <tr class="memdesc:a2c54b7506faf0f15f5323ed53ff12099"><td class="mdescLeft"> </td><td class="mdescRight">returns a short summary string of the database, containing total time and date of last flight. <br /></td></tr> <tr class="separator:a2c54b7506faf0f15f5323ed53ff12099"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0bda52064f005f1463e56b60cd23b164"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a0bda52064f005f1463e56b60cd23b164">restoreBackup</a> (const QString &backup_file)</td></tr> <tr class="memdesc:a0bda52064f005f1463e56b60cd23b164"><td class="mdescLeft"> </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> <tr class="separator:a0bda52064f005f1463e56b60cd23b164"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5ab838a62a83974f9e40c62f66adfa99"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a5ab838a62a83974f9e40c62f66adfa99">createBackup</a> (const QString &dest_file)</td></tr> <tr class="memdesc:a5ab838a62a83974f9e40c62f66adfa99"><td class="mdescLeft"> </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> <tr class="separator:a5ab838a62a83974f9e40c62f66adfa99"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> <tr class="memitem:ad4f5ba05c99e7eb5eec75ba913f1fc00"><td class="memItemLeft" align="right" valign="top"><a id="ad4f5ba05c99e7eb5eec75ba913f1fc00"></a> static <a class="el" href="class_a_database.html">ADatabase</a> * </td><td class="memItemRight" valign="bottom"><b>instance</b> ()</td></tr> <tr class="separator:ad4f5ba05c99e7eb5eec75ba913f1fc00"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2379c9da900da8e96add932e4024389a"><td class="memItemLeft" align="right" valign="top">static QSqlDatabase </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a2379c9da900da8e96add932e4024389a">database</a> ()</td></tr> <tr class="memdesc:a2379c9da900da8e96add932e4024389a"><td class="mdescLeft"> </td><td class="mdescRight">Can be used to access the database connection. <a href="class_a_database.html#a2379c9da900da8e96add932e4024389a">More...</a><br /></td></tr> <tr class="separator:a2379c9da900da8e96add932e4024389a"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a> Public Attributes</h2></td></tr> <tr class="memitem:a95d05441d87fa291acb96e37b029409e"><td class="memItemLeft" align="right" valign="top"><a id="a95d05441d87fa291acb96e37b029409e"></a> <a class="el" href="class_a_database_error.html">ADatabaseError</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a95d05441d87fa291acb96e37b029409e">lastError</a></td></tr> <tr class="memdesc:a95d05441d87fa291acb96e37b029409e"><td class="mdescLeft"> </td><td class="mdescRight">lastError extends QSqlError. Holds information about the last error that ocurred during a SQL operation. <br /></td></tr> <tr class="separator:a95d05441d87fa291acb96e37b029409e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae1da0311f588fd269dec80389aea8644"><td class="memItemLeft" align="right" valign="top"><a id="ae1da0311f588fd269dec80389aea8644"></a> const QFileInfo </td><td class="memItemRight" valign="bottom"><b>databaseFile</b></td></tr> <tr class="separator:ae1da0311f588fd269dec80389aea8644"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>The DB class encapsulates the SQL database by providing fast access to hot database data. </p> </div><h2 class="groupheader">Member Function Documentation</h2> <a id="a5ab838a62a83974f9e40c62f66adfa99"></a> <h2 class="memtitle"><span class="permalink"><a href="#a5ab838a62a83974f9e40c62f66adfa99">◆ </a></span>createBackup()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool ADatabase::createBackup </td> <td>(</td> <td class="paramtype">const QString & </td> <td class="paramname"><em>dest_file</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <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> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <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> </table> </dd> </dl> </div> </div> <a id="a2a43936d3ae28993f9f7eda0fdf4664d"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2a43936d3ae28993f9f7eda0fdf4664d">◆ </a></span>customQuery()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">QVector< QVariant > ADatabase::customQuery </td> <td>(</td> <td class="paramtype">QString </td> <td class="paramname"><em>statement</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>return_values</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Can be used to send a complex query to the database. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">query</td><td>- the full sql query statement </td></tr> <tr><td class="paramname">returnValues</td><td>- the number of return values </td></tr> </table> </dd> </dl> </div> </div> <a id="a2379c9da900da8e96add932e4024389a"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2379c9da900da8e96add932e4024389a">◆ </a></span>database()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">QSqlDatabase ADatabase::database </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Can be used to access the database connection. </p> <dl class="section return"><dt>Returns</dt><dd>The QSqlDatabase object pertaining to the connection. </dd></dl> </div> </div> <a id="a56baf4eaf25922030f3cfa6906963f7c"></a> <h2 class="memtitle"><span class="permalink"><a href="#a56baf4eaf25922030f3cfa6906963f7c">◆ </a></span>databaseSummary()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">QMap< ADatabaseSummaryKey, QString > ADatabase::databaseSummary </td> <td>(</td> <td class="paramtype">const QString & </td> <td class="paramname"><em>db_path</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Return a summary of a database. </p> <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 QMap<ADatabaseSummaryKey, QString> 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> </div> </div> <a id="a1c026e7784b03fc5822077c7d0071330"></a> <h2 class="memtitle"><span class="permalink"><a href="#a1c026e7784b03fc5822077c7d0071330">◆ </a></span>dbRevision()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int ADatabase::dbRevision </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <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> <dl class="section return"><dt>Returns</dt><dd></dd></dl> </div> </div> <a id="ae0a3c9273431195df6295b9da24b3a3a"></a> <h2 class="memtitle"><span class="permalink"><a href="#ae0a3c9273431195df6295b9da24b3a3a">◆ </a></span>getAircraftEntry()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="struct_a_aircraft_entry.html">AAircraftEntry</a> ADatabase::getAircraftEntry </td> <td>(</td> <td class="paramtype">RowId_T </td> <td class="paramname"><em>row_id</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>retreives a TailEntry from the database. </p> <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> </div> </div> <a id="a7bb44738362582e4f54f68e3aa30d40a"></a> <h2 class="memtitle"><span class="permalink"><a href="#a7bb44738362582e4f54f68e3aa30d40a">◆ </a></span>getFlightEntry()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_a_flight_entry.html">AFlightEntry</a> ADatabase::getFlightEntry </td> <td>(</td> <td class="paramtype">RowId_T </td> <td class="paramname"><em>row_id</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>retreives a flight entry from the database. </p> <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> </div> </div> <a id="a5dba46567089112b28b16aaf985af0ba"></a> <h2 class="memtitle"><span class="permalink"><a href="#a5dba46567089112b28b16aaf985af0ba">◆ </a></span>getIdMap()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const QMap< QString, RowId_T > ADatabase::getIdMap </td> <td>(</td> <td class="paramtype">ADatabaseTarget </td> <td class="paramname"><em>target</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>returns a QMap<QString, RowId_t> of a human-readable database value and its row id. Used in the Dialogs to map user input to unique database entries. </p> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>What is this QString semantically? As i understand its a "QueryResult" QVariant cast to QString </dd></dl> </div> </div> <a id="a426026d641a594863995ec5db8312259"></a> <h2 class="memtitle"><span class="permalink"><a href="#a426026d641a594863995ec5db8312259">◆ </a></span>getPilotEntry()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="struct_a_pilot_entry.html">APilotEntry</a> ADatabase::getPilotEntry </td> <td>(</td> <td class="paramtype">RowId_T </td> <td class="paramname"><em>row_id</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>retreives a PilotEntry from the database. </p> <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> </div> </div> <a id="a356df159542705635dc3898d90682039"></a> <h2 class="memtitle"><span class="permalink"><a href="#a356df159542705635dc3898d90682039">◆ </a></span>getTailEntry()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="struct_a_tail_entry.html">ATailEntry</a> ADatabase::getTailEntry </td> <td>(</td> <td class="paramtype">RowId_T </td> <td class="paramname"><em>row_id</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>retreives a TailEntry from the database. </p> <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> </div> </div> <a id="a4640a4348dad468a0ff65bad05b07227"></a> <h2 class="memtitle"><span class="permalink"><a href="#a4640a4348dad468a0ff65bad05b07227">◆ </a></span>resolveForeignPilot()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="struct_a_pilot_entry.html">APilotEntry</a> ADatabase::resolveForeignPilot </td> <td>(</td> <td class="paramtype">RowId_T </td> <td class="paramname"><em>foreign_key</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Resolves the foreign key in a flight entry. </p> <dl class="section return"><dt>Returns</dt><dd>The Pilot Entry referencted by the foreign key. </dd></dl> </div> </div> <a id="a5878bcd4bc19e4c3fc5275ca7252860d"></a> <h2 class="memtitle"><span class="permalink"><a href="#a5878bcd4bc19e4c3fc5275ca7252860d">◆ </a></span>resolveForeignTail()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="struct_a_tail_entry.html">ATailEntry</a> ADatabase::resolveForeignTail </td> <td>(</td> <td class="paramtype">RowId_T </td> <td class="paramname"><em>foreign_key</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Resolves the foreign key in a flight entry. </p> <dl class="section return"><dt>Returns</dt><dd>The Tail Entry referencted by the foreign key. </dd></dl> </div> </div> <a id="a0bda52064f005f1463e56b60cd23b164"></a> <h2 class="memtitle"><span class="permalink"><a href="#a0bda52064f005f1463e56b60cd23b164">◆ </a></span>restoreBackup()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool ADatabase::restoreBackup </td> <td>(</td> <td class="paramtype">const QString & </td> <td class="paramname"><em>backup_file</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <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> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <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> </table> </dd> </dl> </div> </div> <a id="a491415273a771dd7ea41452c331a34b0"></a> <h2 class="memtitle"><span class="permalink"><a href="#a491415273a771dd7ea41452c331a34b0">◆ </a></span>sqliteVersion()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const QString ADatabase::sqliteVersion </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <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> <dl class="section return"><dt>Returns</dt><dd>sqlite version string </dd></dl> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li>src/database/<a class="el" href="adatabase_8h_source.html">adatabase.h</a></li> <li>src/database/adatabase.cpp</li> </ul> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="class_a_database.html">ADatabase</a></li> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.18 </li> </ul> </div> </body> </html>