<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Home</title><link>https://sourceforge.net/p/databasehandler/wiki/Home/</link><description>Recent changes to Home</description><atom:link href="https://sourceforge.net/p/databasehandler/wiki/Home/feed" rel="self"/><language>en</language><lastBuildDate>Tue, 12 Jun 2012 19:55:36 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/databasehandler/wiki/Home/feed" rel="self" type="application/rss+xml"/><item><title>WikiPage Home modified by David Pesta</title><link>https://sourceforge.net/p/databasehandler/wiki/Home/</link><description>&lt;pre&gt;--- v1
+++ v2
@@ -1,8 +1,83 @@
-Welcome to your wiki!
+DatabaseHandler
+===============
 
-This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].
+A powerful library class that makes it easy to handle MySQL data.
 
-The wiki uses [Markdown](/p/databasehandler/wiki/markdown_syntax/) syntax.
+&lt;b&gt;Initial Release:&lt;/b&gt; February 8, 2012&lt;br&gt;
+&lt;b&gt;Last Updated:&lt;/b&gt; June 11, 2012
 
-[[project_admins]]
-[[download_button]]
+
+## Documentation
+
+The examples folder provides an exceptional set of self-explanatory documentation. Run the examples and learn from them.
+
+
+## Helpful Tips and Best Practices
+
+* Create DatabaseHandler object, assign it early to something like $dbh, then bring it into scope with "global $dbh;"
+
+* There's no need for a countRecords method as we can use fetchValue( "select count(...) ..." ) for this
+  * When possible, be sure to do a "select count( PrimaryKeyId )" instead of "select count( * )" for a huge performance improvement
+
+* If you need "select ... for update", the "for update" can be added manually at the end of the query string
+
+* The update method is faster if you pass to it a small array with just the changes you want to make to it
+
+* When inserting or updating a datetime, you can pass an integer timestamp to it and it will auto format it for the database
+  * Use the following to convert a time string to a timestamp: strtotime( str_replace( array( "-", "." ), "/", $timeString ) );
+  * strtotime() interprets hyphens as a MySQL datetime field; we want to treat "-", ".", and "/" the same when creating timestamp
+
+
+## To Do List
+
+* Revisit delete method and consider whether Method 1 should allow you to pass in other fields, not just primary key
+
+* Revisit update and consider adding a Method 2 like delete that allows you to input the SQL manually
+
+* Two additional methods in bulkInsert:
+  * Input 1 multidimensional array of zero-indexed data, which must contain *all* fields in the right order
+  * Input 1 multidimensional array of fieldname indexed data
+
+* To insert, add a Method 2 that allows arrays to be passed with zero-indexed data in the same order as the fields
+
+* Improve and clean up the examples for insert
+
+* Implement method that takes care of cases where "insert ... on duplicate key update" is needed
+
+* Implement and test various transaction methods with example files
+  * beginTransaction
+  * rollBack
+  * commit
+  * inTransaction (if implemented for MySQL yet, which it seems to be now: https://bugs.php.net/bug.php?id=60213)
+  * deadlockSafeTransaction
+  * safeFetchForUpdate
+
+* Add methods to return a table's schema and return a table's primary keys; create an example file to demonstrate misc methods
+
+* Implement various dumpTable and dumpData methods and options
+
+
+## License 
+
+The MIT License
+
+Copyright (c) 2012 David Pesta
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David Pesta</dc:creator><pubDate>Tue, 12 Jun 2012 19:55:36 -0000</pubDate><guid>https://sourceforge.net3fd91e52ae43150c64e0369c774854abe2369bec</guid></item><item><title>WikiPage Home modified by David Pesta</title><link>https://sourceforge.net/p/databasehandler/wiki/Home/</link><description>Welcome to your wiki!

This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].

The wiki uses [Markdown](/p/databasehandler/wiki/markdown_syntax/) syntax.

[[project_admins]]
[[download_button]]
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David Pesta</dc:creator><pubDate>Tue, 12 Jun 2012 19:06:16 -0000</pubDate><guid>https://sourceforge.net0f9ae389ff2420cb92d6bd9a338cf311adc40147</guid></item></channel></rss>