{"push_id":1051596329,"size":250,"distinct_size":245,"ref":"refs/heads/h2AutoInc","head":"7bdd8e52da4cdbe583ea3d1b33ce059f39d45979","before":"14b725e7b5bdb9d580dce61fcb490c03f6362c13","commits":[{"sha":"0cab15ed834b1aa3a58f63a6c68991120c1cf1a1","author":{"email":"bae1c57b9128467560d9172d2ad9b5d97637ccc6@novocode.com","name":"Stefan Zeiger"},"message":"Add docs about DBIO composition.\n\nThis also explains the difference between the strict and eager\ncombinators and the more flexible ones like `flatMap`. Fixes #1090.","distinct":false,"url":"https://api.github.com/repos/dangerousben/slick/commits/0cab15ed834b1aa3a58f63a6c68991120c1cf1a1"},{"sha":"c22cfdf5e14c73a81ed1e7d2a3d704ce14e5ac05","author":{"email":"bae1c57b9128467560d9172d2ad9b5d97637ccc6@novocode.com","name":"Stefan Zeiger"},"message":"Bump version numbers","distinct":false,"url":"https://api.github.com/repos/dangerousben/slick/commits/c22cfdf5e14c73a81ed1e7d2a3d704ce14e5ac05"},{"sha":"1abf7539d3efa97103c770d82fc725c134960f3c","author":{"email":"474ba67bdb289c6263b36dfd8a7bed6c85b04943@jazzy.id.au","name":"James Roper"},"message":"Allow classloader to be specified for classloading\n\nFixes #1152\n\nModifies the DatabaseConfig.forConfig and friends methods to take a\nclassloader to be used for classloading, as well as JdbcDataSource.\nUnfortunately, JdbcBackend can't be modified without breaking binary\ncompatibility, since it's a trait.\n\nBinary compatibility has been maintained, and I fixed the build so the\nmima report works and is now run by travis.","distinct":true,"url":"https://api.github.com/repos/dangerousben/slick/commits/1abf7539d3efa97103c770d82fc725c134960f3c"},{"sha":"ae7e4d8a6e49d6f9d534b980b399bb036b5c47fc","author":{"email":"bae1c57b9128467560d9172d2ad9b5d97637ccc6@novocode.com","name":"Stefan Zeiger"},"message":"Improve logging:\n\n- Upgrade to latest logback 1.1.3 and remove ending “$” from all logger\n  names. Parsing these names is currently broken in logback (see\n  http://jira.qos.ch/browse/LOGBACK-978) and might also cause problems\n  with other frameworks.\n\n- Add `mark` methods to GenericTest to put a debug ID into the MDC (and\n  also use it as the action name when marking a DBIOAction).\n\n- Update logback configs accordingly to print this debug ID.","distinct":false,"url":"https://api.github.com/repos/dangerousben/slick/commits/ae7e4d8a6e49d6f9d534b980b399bb036b5c47fc"},{"sha":"325f20022630e352668bfca170cdb1ab0d47db57","author":{"email":"bae1c57b9128467560d9172d2ad9b5d97637ccc6@novocode.com","name":"Stefan Zeiger"},"message":"Improve tree logging\n\n- A more capable TreePrinter (formerly TreeDump) can mark nodes in the\n  AST and trim it down to the smallest subtree that contains all marked\n  nodes.\n\n- Add SlickTreeException which can log an AST (or other tree) as part of\n  the exception message.","distinct":false,"url":"https://api.github.com/repos/dangerousben/slick/commits/325f20022630e352668bfca170cdb1ab0d47db57"},{"sha":"1d55c69d5b139472e3903a7d439e8320bb945480","author":{"email":"b7d5d64e300969b8c1585a77a0e73c85644faacd@cvogt.org","name":"Jan Christopher Vogt"},"message":"Fix view source for scaladoc and edit this file on github for docs","distinct":false,"url":"https://api.github.com/repos/dangerousben/slick/commits/1d55c69d5b139472e3903a7d439e8320bb945480"},{"sha":"dd2ab5f8f9b29dfa78f2a431f31fda8765d3ad3a","author":{"email":"bae1c57b9128467560d9172d2ad9b5d97637ccc6@novocode.com","name":"Stefan Zeiger"},"message":"Merge pull request #1163 from slick/tmp/logging-mdc\n\nImprove logging","distinct":true,"url":"https://api.github.com/repos/dangerousben/slick/commits/dd2ab5f8f9b29dfa78f2a431f31fda8765d3ad3a"},{"sha":"f53f06e6a39917f91f9ab2426ebc11ad4cbe53ae","author":{"email":"bae1c57b9128467560d9172d2ad9b5d97637ccc6@novocode.com","name":"Stefan Zeiger"},"message":"Move createResultSetMapping down after forceOuterBinds","distinct":true,"url":"https://api.github.com/repos/dangerousben/slick/commits/f53f06e6a39917f91f9ab2426ebc11ad4cbe53ae"},{"sha":"2b141390f3a4ff13e56e7403fc7a71251264ed55","author":{"email":"bae1c57b9128467560d9172d2ad9b5d97637ccc6@novocode.com","name":"Stefan Zeiger"},"message":"Early transformation of monadic joins into applicative joins.\n\n- A new compiler phase `rewriteJoins`, which runs directly after\n  `flattenProjections`, converts all monadic joins into applicative\n  joins. In its current state it is good enough to pass all tests.\n  The implementation is much simpler than the old one in\n  `fuseComprehensions` (the AST is still purely functional at this\n  point) and should be easy to extend to cover more cases.\n\n- A new compiler phase `verifySymbols` runs after `rewriteJoins` to\n  check that all joins have been properly rewritten and that all\n  references are reachable. When a join could not be transformed, this\n  will fail with a useful error message instead of producing invalid\n  SQL code.\n\n- `createResultSetMapping` is now run at the end of the standard phases.\n  It uses the original result type stored by the new `removeMappedTypes`\n  phase, thus keeping the AST free of the client-side parts until the\n  point where they actually match the server side.\n\n- `fuseComprehensions` requires a small change to translate aggregations\n  arising from `rewriteJoins`. This is only to make it work for now. The\n  whole phase needs to be rewritten from scratch.\n\n- Better code generator for explicit join syntax. The default in\n  JdbcStatementBuilderComponent implements the standard SQL syntax.\n  MySQL, SQLite and Hsqldb require special handling (in particular\n  Hsqldb, which does not support arbitrary nesting on the RHS of a\n  join).","distinct":true,"url":"https://api.github.com/repos/dangerousben/slick/commits/2b141390f3a4ff13e56e7403fc7a71251264ed55"},{"sha":"8baa07963a96cb7378426ed18d362bfadc37d5e7","author":{"email":"bae1c57b9128467560d9172d2ad9b5d97637ccc6@novocode.com","name":"Stefan Zeiger"},"message":"New Query Compiler Back-End\n\n- Simplify `Comprehension` and add support for “having” clauses\n\n- Add `TermSymbol` as a supertype for all non-TypeSymbols\n\n- Add a new `Aggregate` node class to represent aggregations in a\n  way that is closer to the target language and can perform multiple\n  independent aggregations from the same source. The new\n  `createAggregates` phase transforms all aggregations into this form.\n\n- The phases `convertToComprehensions` and `fuseComprehensions` are\n  replaced by the completely new `mergeToComprehensions` which relies\n  on correct applicative joins (as established by `rewriteJoins`) and\n  performs aggressive fusion of operations into `Comprehension` nodes\n  but no reordering.\n\n- A new phase `removeFieldNames` is spun off from `pruneProjections`\n  (formerly `pruneFields). Pruning is done before\n  `mergeToComprehensions` in order to remove unreferenced outer join\n  discriminator columns (which would otherwise lead to unnecessary\n  subqueries) but the translation from StructNodes to ProductNodes is\n  delayed until the very end so that all phases after\n  `flattenProjections` can rely on dealing exclusively with StructNodes\n  in all projections.\n\n- Eliminate unnecessary monadic joins involving `Pure` values in\n  `rewriteJoins` instead of translating them into applicative joins.\n\n- The decision to create implicit or explicit join syntax is deferred\n  until `codeGen`. All `Comprehension` nodes contain a single “from”\n  node which may be a (applicative) `Join`. The code generator optimizes\n  purely inner/cross joins to implicit syntax.","distinct":true,"url":"https://api.github.com/repos/dangerousben/slick/commits/8baa07963a96cb7378426ed18d362bfadc37d5e7"},{"sha":"3470fa0191a3915aba56b6cadda2b231630b7a1b","author":{"email":"bae1c57b9128467560d9172d2ad9b5d97637ccc6@novocode.com","name":"Stefan Zeiger"},"message":"Compiler improvements:\n\n- Move structural type reconstruction down from inferTypes into\n  expandTables where a full tree transformation has to be done anyway.\n\n- Remove the assignTypes phase. Types are now preserved everywhere.\n\n- Some simplifications.","distinct":true,"url":"https://api.github.com/repos/dangerousben/slick/commits/3470fa0191a3915aba56b6cadda2b231630b7a1b"},{"sha":"1c2d5db000945f8a42b0c784f34eb8c78e3d2635","author":{"email":"bae1c57b9128467560d9172d2ad9b5d97637ccc6@novocode.com","name":"Stefan Zeiger"},"message":"AST simplifications\n\n- Rename `Node` methods\n\n- Clearer separation of `TermSymbol` and `TypeSymbol`\n\n- Remove `Typed`\n\n- Remove unnecessary `Node` methods","distinct":true,"url":"https://api.github.com/repos/dangerousben/slick/commits/1c2d5db000945f8a42b0c784f34eb8c78e3d2635"},{"sha":"e26a7d052af71d817b938717b07222be307d018c","author":{"email":"bae1c57b9128467560d9172d2ad9b5d97637ccc6@novocode.com","name":"Stefan Zeiger"},"message":"Remove TypedNode:\n\nTypedNodes always carried a type and didn’t lose it, even when\nperforming untyped transformations. Now that we have fully typed\ntransformations throughout the query compiler, this is not needed\nanymore and `TypedNode` can be subsumed into `SimplyTypedNode`. A\nTypedNode is now a SimplyTypedNode that infers a fixed type (specified\nat construction time). This type is intrinsic to the node and will not\nbe lost when copying the node (just like any other constructor\nparameter) but the real node type can be lost or reassigned normally.\n\n- Add some extra `infer()` calls to instantiations of former TypedNodes\n  throughout the query compiler.\n\n- Add a special case for `NullaryNode` to `Node.mapChildren` to make\n  `infer()` (and other calls) more efficient for `LiteralNode` (and\n  other, less common NullaryNodes).","distinct":true,"url":"https://api.github.com/repos/dangerousben/slick/commits/e26a7d052af71d817b938717b07222be307d018c"},{"sha":"4fd654f314e180528792d27fca55b8db61068afc","author":{"email":"bae1c57b9128467560d9172d2ad9b5d97637ccc6@novocode.com","name":"Stefan Zeiger"},"message":"Add Gitter badge","distinct":true,"url":"https://api.github.com/repos/dangerousben/slick/commits/4fd654f314e180528792d27fca55b8db61068afc"},{"sha":"c4ee6f6cdb24cf0b9299984334a6b4b4bc4577cd","author":{"email":"bae1c57b9128467560d9172d2ad9b5d97637ccc6@novocode.com","name":"Stefan Zeiger"},"message":"Merge pull request #1180 from slick/tmp/add-gitter-badget\n\nAdd Gitter badge","distinct":true,"url":"https://api.github.com/repos/dangerousben/slick/commits/c4ee6f6cdb24cf0b9299984334a6b4b4bc4577cd"},{"sha":"85df538db0ab6d6ff4b5598026396d0de0ff74d2","author":{"email":"0722e0bd3ea0efc77925ea4d49fdfdead4dd9370@envisia.de","name":"Christian Schmitt"},"message":"Codegen: Suppress output of schema.create if ddlEnabled is false\nCurrently the Codegenerator couldn't be configured to disable ddl generation.\nI introduced a new val called ddlEnabled which could be set to false to suppress ddl generation on customized SourceCodeGenerators","distinct":true,"url":"https://api.github.com/repos/dangerousben/slick/commits/85df538db0ab6d6ff4b5598026396d0de0ff74d2"},{"sha":"5da1c5db4db90205bdd61d6b9a5f4879930b838c","author":{"email":"b7d5d64e300969b8c1585a77a0e73c85644faacd@cvogt.org","name":"Jan Christopher Vogt"},"message":"Merge pull request #1185 from schmitch/master\n\nCodegen: Suppress output of schema.create if ddlEnabled is false","distinct":true,"url":"https://api.github.com/repos/dangerousben/slick/commits/5da1c5db4db90205bdd61d6b9a5f4879930b838c"},{"sha":"f170783d830c97479ada2de00b34dde9593f737b","author":{"email":"bae1c57b9128467560d9172d2ad9b5d97637ccc6@novocode.com","name":"Stefan Zeiger"},"message":"Fix type bugs and enforce correct types in the query compiler:\n\n- `Select` was still a special case for type-checking, keeping its\n  node type when rebuilding. It now loses the type as it should, which\n  is important when re-typing a tree after performing a change somewhere\n  inside it. Only a single change in `assignUniqueSymbols` (where we\n  have to preserve all field types because the table types are not yet\n  known) is required to support this change.\n\n- Add `NodeOps.replaceFold` for performing stateful bottom-up\n  transformations of ASTs. It is used by `NodeOps.replaceInvalidate` for\n  a transformation that collects TypeSymbols to invalidate and unassigns\n  types from references containing these symbols.\n\n- Remove the recently added `retype` flag from `NodeOps.replace`. Now\n  that all nodes will drop their type when rebuilding a subtree, it is\n  not needed anymore. We can `infer()` the type after transforming.\n\n- Fix lots of small typing bugs in many compiler phases.\n\n- Add a new `WellTyped` parameter to the `CompilerState` to indicate\n  which part of the AST is supposed to be well-typed after running a\n  phase.\n\n- Add a new optional phase `verifyTypes` to check well-typedness of the\n  AST. It can be run automatically after every regular phase by setting\n  `slick.verifyTypes = true` in the application config.\n\n- Hardcode config defaults in `GlobalConfig` for cases where\n  `reference.conf` cannot be resolved (e.g. in macros).","distinct":true,"url":"https://api.github.com/repos/dangerousben/slick/commits/f170783d830c97479ada2de00b34dde9593f737b"},{"sha":"5925734f3ec90ebc83d6783321cb41799e3dd2e1","author":{"email":"b7d5d64e300969b8c1585a77a0e73c85644faacd@cvogt.org","name":"Jan Christopher Vogt"},"message":"Merge pull request #1165 from slick/tmp/fix-doc-links\n\nFix view source for scaladoc and edit this file on github for docs","distinct":true,"url":"https://api.github.com/repos/dangerousben/slick/commits/5925734f3ec90ebc83d6783321cb41799e3dd2e1"},{"sha":"36d5552a9992a1e1aeea73235c641eda87d8f44f","author":{"email":"bae1c57b9128467560d9172d2ad9b5d97637ccc6@novocode.com","name":"Stefan Zeiger"},"message":"Improve Take, Drop and zip join translation\n\n- Add a new optional phase `removeTakeDrop` which can translate all\n  `Take` and `Drop` nodes to `zipWithIndex` operations.\n\n- Change `resolveZipJoins` to translate zip joins of two queries into\n  inner joins on top of `zipWithIndex` operations. Only `zipWithIndex`\n  remains as a primitive operation.\n\n- Add a `Subquery` node which prevents merging into an existing\n  Comprehension in `mergeToComprehensions`, thus forcing a subquery to\n  be created (unless it occurs at the top level). It is used by\n  `resolveZipJoins` to isolate the `RowNum` generators.\n\n- Upgrade to H2 1.4.187 because of an operation reordering bug with\n  advanced usages of ROWNUM in 1.3.170.\n\n- Fix a typing bug in `rewriteJoins`\n\n- Remove the `OracleStyleRowNum` mix-in for QueryBuilder. It is no\n  longer needed with the early translation of zipWithIndex operations.\n\n- Implement a custom `resolveZipJoins` for MySQL to replace the\n  translations for supporting RowNumber in the code generator.\n\nSubquery conditions are not yet supported in this version. They are\nalways treated as `Subquery.All` which is the conservative choice but\nwill lead to unnecessary subqueries in some cases.","distinct":true,"url":"https://api.github.com/repos/dangerousben/slick/commits/36d5552a9992a1e1aeea73235c641eda87d8f44f"}]}