{"push_id":1017704526,"size":536,"distinct_size":1,"ref":"refs/heads/dont_passing_value_to_case_sensitive_comparison","head":"858ee2e26262dea5bb71483e1c659c5c8372daf2","before":"194539c32d12bb85102e5df6412a390eca682be1","commits":[{"sha":"524238139025ccddfa886bcfd7a1a6434954e305","author":{"email":"d94b91c32d6adb9135fbb0432d29d42fa0b95bb9@gmail.com","name":"Yasyf Mohamedali"},"message":"Honour the order of the joining model in a `has_many :through`\nassociation when eager loading.\n\nPreviously, eager loading a `has_many :through` association with no\ndefined order would return the records in the natural order of the\ndatabase. Now, these records will be returned in the order that the\njoining record is returned, in case there is a defined order there.","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/524238139025ccddfa886bcfd7a1a6434954e305"},{"sha":"50c53340824de2a8000fd2d5551cbce2603dc34a","author":{"email":"260ac01417d6a8abcd9c4bdf822e76d1504aad09@gmail.com","name":"Sam Davies"},"message":"Correctly deallocate prepared statements if we fail inside a transaction\n\n- Addresses issue #12330\n\nOverview\n========\n\nCached postgres prepared statements become invalidated if the schema\nchanges in a way that it affects the returned result.\n\nExamples:\n- adding or removing a column then doing a 'SELECT *'\n- removing the foo column  then doing a 'SELECT bar.foo'\n\nIn normal operation this isn't a problem, we can rescue the error,\ndeallocate the prepared statement and re-issue the command.\n\nHowever in PostgreSQL transactions, once any command fails, the\ntransaction becomes 'poisoned' and any subsequent commands will raise\nInFailedSQLTransaction.\n\nThis includes DEALLOCATE statements, so the default deallocation\nstrategy instead of removing the cached prepared statement instead\nraises InFailedSQLTransaction.\n\nWhy this is bad\n===============\n\n1. InFailedSQLTransaction is a fairly cryptic error and doesn't\ncommunicate any useful information about what has actually gone wrong.\n2. In the naive implementation the prepared statement never gets\ndeallocated - it stays alive for the length of the session taking up\nmemory on the postgres server.\n3. It is unsafe to retry the transaction because the bad prepared\nstatement is still in the cache and we would see the exact same failure\nrepeated.\n\nSolution\n========\n\nIf we are outside a transaction we can continue to handle these failures\ngracefully in the usual way.\n\nInside a transaction instead of issuing a DEALLOCATE command that will\ncertainly fail, we now raise\nActiveRecord::PreparedStatementCacheExpired.\n\nThis can be handled further up the stack, notably inside\nTransactionManager#within_new_transaction. Here we can make sure to\nfirst rollback the transaction, then safely issue DEALLOCATE statements\nto invalidate the rest of the cached prepared statements.\n\nThis also allows the user (or some gem) the opportunity to catch this error and\nvoluntarily retry the transaction if a schema change causes the prepared\nstatement cache to become invalidated.\n\nBecause the outdated statement has been deallocated, we can expect the\ntransaction to succeed on the second try.","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/50c53340824de2a8000fd2d5551cbce2603dc34a"},{"sha":"9e28f415f5aa52a3179d7cbef2594a0d0c03bcce","author":{"email":"260ac01417d6a8abcd9c4bdf822e76d1504aad09@gmail.com","name":"Sam Davies"},"message":"Make tests a bit more beautiful","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/9e28f415f5aa52a3179d7cbef2594a0d0c03bcce"},{"sha":"82dc8266dddc199789f3f1e9a9f21975e1c8ee87","author":{"email":"c0de746ec4ffa814022be5a01007d84eff2105fd@gmail.com","name":"Tom Prats"},"message":"Update session to have indifferent access","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/82dc8266dddc199789f3f1e9a9f21975e1c8ee87"},{"sha":"45a75a3fcc96b22954caf69be2df4e302b134d7a","author":{"email":"c0de746ec4ffa814022be5a01007d84eff2105fd@gmail.com","name":"Tom Prats"},"message":"Update Session to utilize indiffernt access","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/45a75a3fcc96b22954caf69be2df4e302b134d7a"},{"sha":"08a748118377f22823e06315f57db16e1ce3a7c3","author":{"email":"f770c18801651bf14607fcbbf2a1307dd5c97481@mtu.edu","name":"Scott Ringwelski"},"message":"Add initial support for allowing an error on order or limit of queries being ignored in batches\n\nadd some documentation and add 4 tests regarding error vs. warning behavior\n\nfix a typo when referring to the message\n\ngo back to default in tests so that ordering is not important. use a constant instead of method. fix assert_nothing_raised call. use self.klass to allow per class configuration\n\nremove logger warn assets as that is tested elsewhere. pass error_on_ignore through find_each and find_in_batches also.\n\nadd blocks to the finds so that the code is actually executed\n\nput the setting back to default in an ensure\n\nAdd a changelog entry","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/08a748118377f22823e06315f57db16e1ce3a7c3"},{"sha":"71366209d56a62c90ef39fb00470305f7caa5a0f","author":{"email":"bca6f4261a19f75277fe4325de3272d15492eb61@gmail.com","name":"Ryuta Kamizono"},"message":"Fix `assert_in_delta` test failure\n\n`assert_in_delta` in `timestamp_test.rb` causes an intermittent test\nfailure. It looks like that caused by subseconds truncation in MySQL 5.5.\n\nExample:\n\n```\n  1) Failure:\n  TimestampTest#test_touching_many_attributes_updates_them [/home/travis/build/rails/rails/activerecord/test/cases/timestamp_test.rb:125]:\n  Expected |2016-02-06 09:22:10 +0000 - 2016-02-06 09:22:09 UTC| (1.000837185) to be <= 1.\n```","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/71366209d56a62c90ef39fb00470305f7caa5a0f"},{"sha":"2518bda97cbbcb33dc9a92e70d5b01c09e64d12d","author":{"email":"fa9bdd3a2d9982eccc7efdbb476d937166f0b5c2@gmail.com","name":"Piotr Jakubowski"},"message":"Fix logger silencing for broadcasted loggers\n\nFix #23609\n\nCommit 629efb6 introduced thread safety to logger silencing but it\ndidn't take into account the fact that the logger can be extended with\nbroadcasting to other logger.\n\nThis commit introduces local_level to broadcasting Module which enables\nbroadcasted loggers to be properly silenced.","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/2518bda97cbbcb33dc9a92e70d5b01c09e64d12d"},{"sha":"5d643d365ee656ff93517c649578545c7cc280c3","author":{"email":"46912bed2c3b56d601323fb1c76bee025b5234eb@gmail.com","name":"Prathamesh Sonpatki"},"message":"Correctly show deprecation warning for incompatible migrations","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/5d643d365ee656ff93517c649578545c7cc280c3"},{"sha":"33b0dbe40729ba130c3c83391a3d9581c2a8b034","author":{"email":"46912bed2c3b56d601323fb1c76bee025b5234eb@gmail.com","name":"Prathamesh Sonpatki"},"message":"Fix random failures of tests on Travis\n\n- Tests on Travis are randomly failing because schema_migrations table\n  does not exist in teardown block.\n- Also checked that all other places where we have used\n  `ActiveRecord::SchemaMigration.delete_all` we have rescued it, so used\n  it here also. This failure was not specifically related to the test\n  added in this PR but to overall compatibility migration tests, so\n  adding as separate commit.","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/33b0dbe40729ba130c3c83391a3d9581c2a8b034"},{"sha":"f847f342f4958fe5c81fec37d9f661164ca771d8","author":{"email":"37b8411fc533112bb69dd1aa56980922c21ae5e0@gmail.com","name":"yui-knk"},"message":"[ci skip] Update 'Testing Active Record'\n\nFollow up 8c629bf463b47643712570d4511a68b9a3da1476.\n`bundle exec rake test` in 'activerecord' runs tests for\n\n* sqlite3\n* mysql2\n* postgresql","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/f847f342f4958fe5c81fec37d9f661164ca771d8"},{"sha":"c0bbfdb48e897a166c0c59337c6c493a61b3a21f","author":{"email":"7c12594c14ab40530b8c42521ab4d449554b8c52@gmail.com","name":"Mikhail Dieterle"},"message":"[ci skip] fix typos","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/c0bbfdb48e897a166c0c59337c6c493a61b3a21f"},{"sha":"55d9a70634aa2cb7f714b53561539ad42da8c9f3","author":{"email":"0438e1b98da5a2921746571c32e7278379411572@gmail.com","name":"David Kuhta"},"message":"Create action_cable_overview.md resolves #23176 [ci skip]\n\nRails Guide for Action Cable\n\nAdded content from README\n\nPull additional information from Action Cable README and restructured Client/Server elements\n\nUpdate to list numbering\n\nSwitched from list numbers to headings in the examples\nChange AppearancesChannel to AppearanceChannel\n\nWord missing\n\nfixed missing word.\n\nRemoved Mistaken nesting of Channel class\n\nRemoved nesting of ChatChannel and AppearanceChannel from within ApplicationChannel Module. (Copy&Paste error)\n\nIncorporated first round of comments\n\n1. Capitalize \"action cable\"\n2. Separated \"Consumers require... via JavaScript\" into two sentences\n3. Minor typographical correction (remember...)\n4. Extra backtick\n5. Revised text which implied Redis was the exclusive storage adapter to reflect it's position as default.\n6. Revised reference to denote correct config file location: config/cable.yml\n7. Added adapter: redis to environment configuration blocks\n8. Capitalized \"R\" for \"Rack\"\n9. Revised syntax for routing to reflect the hash syntax. (to: NOT :to =>)\n10. Removed reference to Action Cable being separate from Rails.\n11. Began revision for adapter API [I believe this requires a reformatting of the 'Redis' portion of the configuration section to simply \"Storage Adapters\"]\n12. Celluloid -> Concurrent-ruby\n\nMoved errant grave mark [ci skip]\n\nReordered \"In App\" above \"Standalone\" [ci skip]\n\nReordered to reflect \"In App\" as preferable to \"Standalone\"\n\nAction Cable Deployment [ci skip]\n\nRemoved paragraph that alludes to Action Cable not being able to run in the same process as Rails.\n\nRemoved EM reference and updated deployment [ci skip]\n\nRemoved explicit multi-threaded server dependency reference [ci skip]\n\nRevised Configuration and fixed typos [ci skip]\n\nSwitched Lifecycle Graphic for Detailed Description [ci skip]\n\nSwitched from Lifecycle graphic to detailed description to facilitate revision and maintainability in the future.\n\nCapitalized Heading (typo) [ci skip]\n\nImplemented merged commits from README [ci skip]\n\nPulled over all (or at least I believe all) merged commits from README. (Dec 14, 2015 - Feb 11, 2016)\n\nEditorial - Capitalize WebSockets [ci skip]\n\nReformated lines to ~75 characters [ci skip]","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/55d9a70634aa2cb7f714b53561539ad42da8c9f3"},{"sha":"687109abba6a17c31845f79bffa7dbc429afb5e5","author":{"email":"7bbcc45b0f8f88a262415b9271579a59b891be2e@gmail.com","name":"Aaron Patterson"},"message":"introduce a `tree` factory method for creating the dep tree\n\nalso add an EMPTY sentinel node","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/687109abba6a17c31845f79bffa7dbc429afb5e5"},{"sha":"ec8e0bc89ab71ed41b4e8d5234b5e09ba93480e9","author":{"email":"7bbcc45b0f8f88a262415b9271579a59b891be2e@gmail.com","name":"Aaron Patterson"},"message":"pull template check up to match existing behavior\n\nalso remove the EMPTY node since we won't need it","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/ec8e0bc89ab71ed41b4e8d5234b5e09ba93480e9"},{"sha":"c9593fc77f31f72bde56e2d370c6aee99fe3e46d","author":{"email":"7bbcc45b0f8f88a262415b9271579a59b891be2e@gmail.com","name":"Aaron Patterson"},"message":"fix recursive templates","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/c9593fc77f31f72bde56e2d370c6aee99fe3e46d"},{"sha":"8fb853a283fa7411908517b32d6adc811f743b22","author":{"email":"7bbcc45b0f8f88a262415b9271579a59b891be2e@gmail.com","name":"Aaron Patterson"},"message":"clean up classes a little","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/8fb853a283fa7411908517b32d6adc811f743b22"},{"sha":"497b1350bbfb35ea3e57f5b8363d5d8605930aa6","author":{"email":"7bbcc45b0f8f88a262415b9271579a59b891be2e@gmail.com","name":"Aaron Patterson"},"message":"convert structs to a regular class","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/497b1350bbfb35ea3e57f5b8363d5d8605930aa6"},{"sha":"90997f9300eef08d380f2e0fb5874885b5d57a26","author":{"email":"7bbcc45b0f8f88a262415b9271579a59b891be2e@gmail.com","name":"Aaron Patterson"},"message":"change internal implementation to use a tree","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/90997f9300eef08d380f2e0fb5874885b5d57a26"},{"sha":"f233598d2da773c2024cbe62a199ddc70d9fd7a1","author":{"email":"7bbcc45b0f8f88a262415b9271579a59b891be2e@gmail.com","name":"Aaron Patterson"},"message":"remove dead code\n\nthis commit removes unused code and changes the monitor to a mutex.\nSince the digest doesn't recurse on itself anymore, we can just use a\nmutex","distinct":false,"url":"https://api.github.com/repos/kamipo/rails/commits/f233598d2da773c2024cbe62a199ddc70d9fd7a1"}]}