{"shas":[["8b1f79f44ae49e7bf3ba75957e1ec94534ee47ed","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Fix bug in default connection pool if a disconnect error is raised and the disconnection_proc also raises an error","Jeremy Evans"],["749f0ba683821c78b610f501d254c0019ad5048e","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Allow :pool_class option to take a :symbol\n\nThis allows you to load connection_pool classes via\n:pool_class=>:foo, as long as inside the\nsequel/connection_pool/foo.rb file, you set\nCONNECTION_POOL_MAP[:foo] = self.\n\nNo connection pool class currently uses this, but it's possible\nnondefault connection pool classes will be added in the future,\nand if so, they will need this.","Jeremy Evans"],["acf3eef7a315a1a7d4c86d97f08f27f7e82afe1d","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Fix connection in mysql adapter with :port=>\"1234\"\n\nThis can happen if the connection information is stored in yaml.\nWhen a connection string is used, the URI library turns the port\ninto an integer, but that does not happen if an options hash is\nused directly, and parsing yaml to get an options hash will\ngenerally result in string values.","Jeremy Evans"],["7b48d45099ac3a4fd67e156145b836619d89d084","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Bump version to 3.26.0","Jeremy Evans"],["a3b238b7bf219626e21279cbc727161ca311d7e0","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Add a mass assignment guide to Sequel","Jeremy Evans"],["390776b5462474fbedd8eccfbabba4fe30abc48b","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Add a doc page with examples of integrating Sequel with popular testing libraries","Jeremy Evans"],["5445f08ddb63c05377dbd5e888e0474b31229b99","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Model#exists? now returns false without issuing a query for new model objects\n\nPreviously, it could return true if you set the primary key field\nin advance and the value already existed in the database.  However,\nattempting to insert the object would cause an error due to the\nduplicate primary key.\n\nThis does break backwards compatibility, but nobody should have\nbeen relying on the old behavior.","Jeremy Evans"],["fec7c6170ce1663c333bc4caf973cfb24dec0eef","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Fix Model#hash to work correctly with composite primary keys and with no primary key\n\nPreviously Model#hash only handled the single primary key case\ncorrectly.  With no primary key, it raised an error, and with\ncomposite primary keys, it didn't correctly handle the case\nwhere one or more of the primary key fields is NULL.","Jeremy Evans"],["967659a74a2837a80ab2e956a489ad692ac2c577","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Handle allowed mass assignment methods correctly when including modules in classes or extending instances with modules\n\nBefore, including a module in a class would not clear the setter\ncache, so if the module included a setter method you wanted to\nallow, it may have been ignored.  Likewise, if you extended the\nobject with a module containing a setter method, that didn't set\nthe flag to ignore the model class's cache.\n\nIn both cases, the handling is unconditional, it doesn't check\nthat the module includes a setter method.  That may change in the\nfuture, but shouldn't cause any problems now.","Jeremy Evans"],["7fae243155774bcff35e7d6b457b5a546858dfeb","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Make Dataset#hash work correctly when referencing SQL::Expression instances\n\nThanks to Aaron Pfeifer for the bug report.","Jeremy Evans"],["468821a632ddec1a639e2ee27e374c7343aeb799","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Make prepared_statements_safe plugin work on classes without datasets\n\nAmong other things, this makes it simple to enable this plugin for\nall of your models:\n\n  Sequel::Model.plugin :prepared_statements_safe\n\nThis also fixes the case where set_dataset is used after the plugin\nhas been added.","Jeremy Evans"],["71fe6dff900630f5d97ab50b233eeb4928c50273","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Add Model.dataset_module for simplifying many def_dataset_method calls\n\nThis can be used to clean up a bunch of def_dataset_method calls:\n\n  Artist.def_dataset_method(:foo) do\n    :bar\n  end\n  Artist.def_dataset_method(:baz) do |x|\n    x + 2\n  end\n\nbecomes:\n\n  Artist.dataset_module do\n    def foo\n      :bar\n    end\n    def baz(x)\n      x + 2\n    end\n  end\n\nThis also makes the dataset methods significantly faster as\nthe methods are no longer closures.  So even for only a single\ndataset method, it makes sense in performance sensitive situations.\nAnother benefit is that since the methods are defined normally\ninstead of using define_method with a block, argument handling\nis stricter.","Jeremy Evans"],["baa5ba59a6f2ffc405065d1d2c708c57263f6e27","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Fix some small issues with timezone handling, and add typecast specs\n\nThis makes  Sequel.*_to_*_timestamp accept a hash of values, moving\nsimilar handling from the typecasting code, but also handling things\ncorrectly in regards to Sequel's timezone settings.\n\nIt also changes the way Date objects are handled, by always assuming\nthey are in the application timezone.  So if you provide a Date\nobject, the resulting object will always have 0 hour, 0 minutes,\nand 0 seconds.  Before, if application_timezone was different\nthan dateabase_timezone, the result may have had a fractional\nday values.\n\nIt also fixes an issue where typecasting a DateTime object to\nDate would return the DateTime object.  Now it returns a Date\nobject.\n\nNo specs added for typecasting to time values, since that is changing\nsoon.","Jeremy Evans"],["f47bd9bd2170a12e8d84a99d95ab6b5df5c580cb","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Add Sequel::SQLTime class for handling SQL time columns\n\nSQL time columns store only a time component without a date\ncomponent.  The ruby stdlib doesn't have an appropriate class to\nrepresent such values, as both Time and DateTime store both date\nand time parts.  When given a Time value, Sequel assumes you\nwant it formatted as a timestamp (including both the date and time\nparts), since that's much more common and a Time value includes\nboth date and time parts.\n\nThis adds Sequel::SQLTime, a subclass of Time, that when literalized\nonly uses the time component.  It changes the database adapters when\npossible to return time columns as Sequel::SQLTime instances, so that\nyou can successfully roundtrip such values.  It changes the\ntypecasting to convert input values for time columns to SQLTime\ninstances.","Jeremy Evans"],["253f4a153ceed006e8e0a80de4a6a622276117bb","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Support dropping primary key, foreign key, and unique constraints on MySQL via the drop_constraint :type option\n\nMySQL doesn't support the SQL standard DROP CONSTRAINT syntax. It\nrequires you specify the type of constraint you want to drop. So\npreviously Sequel's drop_constraint method did not work at all\non MySQL.  With this commit, you can add a :type => :foreign_key,\n:primary_key, or :unique option to drop that type of constraint.\nNote that there is no way to drop a check constraint, as they don't\nexist on MySQL (they are parsed and accepted but ignored).","Jeremy Evans"],["736837c6fa9568c3bf40aaec49b0a690ece4923f","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Split the Migrations and Schema Modification document into separate documents","Jeremy Evans"],["7c7a516edc81884085c90e4df733c90ce2836347","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Use RUBY in the Rakefile to reference the current ruby executable","Jeremy Evans"],["f997d4bbbe80a614e28ad1ddc31d83821dc60b71","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Add specs for Model#pk_or_nil\n\nThis used to be used internally by the eager graphing code, before\nit was refactored last month.  As it is a public method, it can't\njust be removed, so make sure it is specced, even though it's now\ndeprecated and shouldn't be used.","Jeremy Evans"],["abc2413012263b7ca358045e25035605ba75dd68","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Add support for native prepared statements and stored procedures to the mysql2 adapter\n\nThe mysql and mysql2 adapters are very similar, so this extracts\nthe existing support from the mysql adapter into a shared adapter\nthat both the mysql and mysql2 adapter can use.\n\nmysql2 doesn't appear to support stored procedures that return\nresults, but it does support other types of prepared statements.\nI think this could be fixed by setting flags when connecting,\nbut I'm not sure that Mysql2 supports the same flags that\nMysql does (it has CLIENT_PS_MULTI_RESULTS but not\nCLIENT_MULTI_RESULTS).","Jeremy Evans"],["7a58f56cfcbc20022da530a4054a1cd05c458036","e6fb06210fafc02fd7479ddbed2d042cc3a5155e@jeremyevans.net","Remove debugging code that snuck into a spec","Jeremy Evans"]],"ref":"refs/heads/master","size":103,"head":"637fc24035e204c79adcc8bb65926187fc980bfe","push_id":42806064}