33The main goal for this project is to implement simple, async, performant and reliable database drivers for
44PostgreSQL and MySQL in Scala. This is not supposed to be a JDBC replacement, these drivers aim to cover the common
55process of _ send a statement, get a response_ that you usually see in applications out there. So it's unlikely
6- there will be support for updating result sets live or things like that.
6+ there will be support for updating result sets live or stuff like that.
77
88This project always returns [ JodaTime] ( http://joda-time.sourceforge.net/ ) when dealing with date types and not the
99` java.util.Date ` class.
@@ -49,7 +49,7 @@ Or Maven:
4949
5050** READ THIS NOW**
5151
52- Both clients will let you set the database encoding for something else. Unless you are 1000% sure of what you are doing,
52+ Both clients will let you set the database encoding for something else. Unless you are ** 1000% sure** of what you are doing,
5353** DO NOT** change the default encoding (currently, UTF-8). Some people assume the connection encoding is the ** database**
5454or ** columns** encoding but ** IT IS NOT** , this is just the connection encoding that is used between client and servers
5555doing communication.
@@ -62,7 +62,7 @@ safely stored at your database/column encoding.
6262This is as long as you are using the correct string types, BLOB columns will not be translated since they're supposed
6363to hold a stream of bytes.
6464
65- So, just don't touch it and be happy.
65+ So, just don't touch it, create your tables and columns with the correct encoding and be happy.
6666
6767## Prepared statements gotcha
6868
@@ -113,7 +113,7 @@ So, prepared statements are awesome, but are not free. Use them judiciously.
113113
114114Represents a connection to the database. This is the ** root** object you will be using in your application. You will
115115find three classes that implement this trait, ` PostgreSQLConnection ` , ` MySQLConnection ` and ` ConnectionPool ` .
116- The different between them is that ` ConnectionPool ` is, as the name implies, a pool of connections and you
116+ The difference between them is that ` ConnectionPool ` is, as the name implies, a pool of connections and you
117117need to give it an connection factory so it can create connections and manage them.
118118
119119To create both you will need a ` Configuration ` object with your database details. You can create one manually or
@@ -149,7 +149,9 @@ query without having to escape stuff yourself. The driver itself will make sure
149149database in a safe way so you don't have to worry about SQL injection attacks.
150150
151151The basic numbers, Joda Time date, time, timestamp objects, strings and arrays of these objects are all valid values
152- as prepared statement parameters and they will be encoded to their respective PostgreSQL types.
152+ as prepared statement parameters and they will be encoded to their respective database types. Remember that not all databases
153+ are created equal, so not every type will work or might work in unexpected ways. For instance, MySQL doesn't have array
154+ types, so, if you send an array or collection to MySQL it won't work.
153155
154156Remember that parameters are positional the order they show up at query should be the same as the one in the array or
155157sequence given to the method call.
@@ -230,17 +232,6 @@ disconnect and the connection is closed.
230232You can also use the ` ConnectionPool ` provided by the driver to simplify working with database connections in your app.
231233Check the blog post above for more details and the project's ScalaDocs.
232234
233- ## Contributors
234-
235- * [ devsprint] ( https://github.com/devsprint )
236- * [ dylex] ( https://github.com/dylex )
237- * [ fwbrasil] ( https://github.com/fwbrasil )
238- * [ kxbmap] ( https://github.com/kxbmap )
239- * [ magro] ( https://github.com/magro )
240- * [ normanmaurer] ( https://github.com/normanmaurer )
241- * [ seratch] ( https://github.com/seratch )
242- * [ theon] ( https://github.com/theon )
243-
244235## Contributing
245236
246237Contributing to the project is simple, fork it on Github, hack on what you're insterested in seeing done or at the
@@ -251,6 +242,8 @@ You should be easily able to build this project in your favorite IDE since it's
251242using a plugin that generates your IDE's project files. You can use [ sbt-idea] ( https://github.com/mpeltonen/sbt-idea )
252243for IntelliJ Idea and [ sbteclipse] ( https://github.com/typesafehub/sbteclipse ) for Eclipse integration.
253244
245+ [ Check our list of contributors!] ( https://github.com/mauricio/postgresql-async/graphs/contributors )
246+
254247## Licence
255248
256249This project is freely available under the Apache 2 licence, fork, fix and send back :)
0 commit comments