Commits on Dec 1, 2011
  1. Bump version to 3.30.0

    jeremyevans committed Dec 1, 2011
  2. Handle usage of on_duplicate_key_update in MySQL prepared statements (F…

    jeremyevans committed Dec 1, 2011
    …ixes #404)
    This fixes a general class of bug where columns was called by
    the dataset literalization code when using prepared statements.
    The columns call would call the prepared statement literalization
    to recurse, usually leading to a SystemStackError or a
    The fix is fairly simple.  Prepared statements now have a link to
    the dataset that created them, and calling columns on a prepared
    statement is now delegated to the dataset that prepared it.
  3. support connect_timeout for postgresql driver. Use hash params instea…

    Gleb Pomykalov committed with jeremyevans Dec 1, 2011
    …d of array
  4. Minor spec modifications for the Oracle adapter

    jeremyevans committed Dec 1, 2011
    ruby-oci8 is broken when it comes to timezone offset handling. It
    returns column values with the current timezone offset that were
    input with a separate timezone offset.  Work around this in the
    oracle spec by being less specific.  Add a guard in one of the
    prepared statements spec to work around this failure.  This
    problem was only noticed now because this is the first time
    I've tested the oracle adapter in standard time, and the time
    value it has to load is in daylight time.
    While here, use before/after :all for a few prepared statement
    specs to speed up the integration tests.
Commits on Nov 30, 2011
  1. Make rake package task not assume name of gem binary

    jeremyevans committed Nov 30, 2011
    Other rake tasks should probably be fixed as well, but they can
  2. Cleanup serialization spec

    jeremyevans committed Nov 30, 2011
  3. Cleanup tree spec

    jeremyevans committed Nov 30, 2011
  4. Minor cleanup to to_dot spec

    jeremyevans committed Nov 30, 2011
  5. Cleanup the sql_expr spec

    jeremyevans committed Nov 30, 2011
  6. Make Dataset#destroy for model datasets respect dataset shard when us…

    jeremyevans committed Nov 30, 2011
    …ing a transaction
    Also, beef up the Dataset#destroy specs.
  7. Make :server option to Model#save set the shard to use

    jeremyevans committed Nov 30, 2011
    This commit stems from a bugfix in the sharding plugin.  Before,
    the sharding plugin's specced behavior was that the :server option
    to Model#save affected the shard the transaction was executed on,
    but not the shard the insert/update query was executed on.  This
    seems obviously wrong, so I decided to fix it by having the :server
    option set the shard to use for the model.
    While here, I decided that basic sharding functionality for model
    objects should probably be built-in, so I moved Model#set_server
    and some related code from the sharding plugin to the base plugin.
    This means that without loading any plugin, you can now set the
    shard to use when saving/deleting models.  The sharding plugin
    still offers more advanced behavior, such as automatically setting
    the shard on retrieval and handling associations.
    I also fixed a bug where Model#set_server did not modify @this
    if @this was already present, which potentially could have caused
    queries to execute on the wrong shard.
Commits on Nov 29, 2011
  1. Cleanup sharding spec

    jeremyevans committed Nov 29, 2011
  2. Cleanup serialization spec

    jeremyevans committed Nov 29, 2011
  3. Cleanup schema dumper spec

    jeremyevans committed Nov 29, 2011
  4. Cleanup pretty_table_spec.rb

    jeremyevans committed Nov 29, 2011
Commits on Nov 28, 2011
  1. Add :graph_alias_base association option for setting base name to use…

    jeremyevans committed Nov 28, 2011
    … for table aliases when eager graphing
    Before, the alias name was always based on the association name.
    However, if you have multiple models with the same association
    name that are you eager graphing simultaneously, it can be difficult
    to tell which association is being referred to by which alias.
    This allows the user to set the base of the alias name, which should
    make that easier.
Commits on Nov 22, 2011
  1. Correctly handle case where convert_types is set to false for a JDBC:…

    jeremyevans committed Nov 22, 2011
    Yet another case showing that || usage with boolean values is almost
    always incorrect.
Commits on Nov 10, 2011
Commits on Nov 9, 2011
  1. When starting a new dataset graph, assume existing selection is the c…

    jeremyevans committed Nov 9, 2011
    …olumns to select from the current table
    Before, you could select the columns to use in the graph for the
    table you are graphing into the current table using the :select
    option to graph.  However, there wasn't a way to specify which
    columns in the current dataset you would like to use in the graph
    (when initiating a dataset graph).  This makes it use an existing
    selection, assuming that it can guess the column aliases to use.
    If the existing selection has unqualified columns, it
    automatically qualifies them so that you don't get ambiguous
    column names in the SQL query.  This reuses the Qualifier
    ASTTransformer to do that.
  2. Ensure that ILIKE is really case insensitive on MSSQL

    John Firebaugh committed Nov 9, 2011
    On MSSQL, the LIKE operator uses the collation of the underlying
    column or database by default. In order to ensure that it operates
    in a case insensitive manner it is necessary to explicitly specify
    a case insensitive collation.