README.md in mosql-0.3.1 vs README.md in mosql-0.3.2
- old
+ new
@@ -152,34 +152,49 @@
For advanced scenarios, you can pass options to control mosql's
behavior. If you pass `--skip-tail`, mosql will do the initial import,
but not tail the oplog. This could be used, for example, to do an
import off of a backup snapshot, and then start the tailer on the live
-cluster.
+cluster. This can also be useful for hosted services where you do not
+have access to the oplog.
If you need to force a fresh reimport, run `--reimport`, which will
cause `mosql` to drop tables, create them anew, and do another import.
+Normaly, MoSQL will scan through a list of the databases on the mongo
+server you connect to. You avoid this behavior by specifiying a specific
+mongo db to connect to with the `--only-db [dbname]` option. This is
+useful for hosted services which do not let you list all databases (via
+the `listDatabases` command).
+
## Schema mismatches and _extra_props
If MoSQL encounters values in the MongoDB database that don't fit
within the stated schema (e.g. a floating-point value in a INTEGER
field), it will log a warning, ignore the entire object, and continue.
If it encounters a MongoDB object with fields not listed in the
collection map, it will discard the extra fields, unless
`:extra_props` is set in the `:meta` hash. If it is, it will collect
any missing fields, JSON-encode them in a hash, and store the
-resulting text in `_extra_props` in SQL. It's up to you to do
-something useful with the JSON. One option is to use [plv8][plv8] to
-parse them inside PostgreSQL, or you can just pull the JSON out whole
-and parse it in application code.
+resulting text in `_extra_props` in SQL.
-This is also currently the only way to handle array or object values
-inside records -- specify `:extra_props`, and they'll get JSON-encoded
-into `_extra_props`. There's no reason we couldn't support
-JSON-encoded values for individual columns/fields, but we haven't
-written that code yet.
+As of PostgreSQL 9.3, you can declare columns as type "JSON" and use
+the [native JSON support][pg-json] to inspect inside of JSON-encoded
+types. In earlier versions, you can write code in an extension
+language, such as [plv8][plv8].
+
+[pg-json]: http://www.postgresql.org/docs/9.3/static/functions-json.html
+
+## Non-scalar types
+
+MoSQL supports array types, using the `INTEGER ARRAY` array type
+syntax. This will cause MoSQL to create the column as an array type in
+PostgreSQL, and insert rows appropriately-formatted.
+
+Fields with hash values, or array values that are not in an
+ARRAY-typed column, will be transformed into JSON TEXT strings before
+being inserted into PostgreSQL.
[plv8]: http://code.google.com/p/plv8js/
## Authentication