{"push_id":2776079533,"size":37,"distinct_size":11,"ref":"refs/heads/trackjdbc/REL1_5_STABLE/SQLXML","head":"5716b0a0209cb2f698cda97fa39aa8a340ac80da","before":"2d850c64d1285f161643e57543820ee1f8d143d7","commits":[{"sha":"5d9374b731ddde98c3d6a2edcb0aee102988b01e","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"Add TypeRoundTripper example class.\n\nThis class simplifies testing of PL/Java's mappings between\nPostgreSQL types and Java/JDBC types. It accepts and returns RECORD,\nso values of any type can be passed and returned.","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/5d9374b731ddde98c3d6a2edcb0aee102988b01e"},{"sha":"c4e162a7f956413e5e2729c9e307570b32319b13","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"Correct errors in Timestamp (issue #155).\n\nReview the arithmetic to make sure 'floored' / and % are always done\nto preserve the constraint that the 'nanos' component of the Java\nTimestamp class is always nonnegative, and to avoid double-counting\nthe part of the fractional second that is represented in both the\nmillis and the nanos components.\n\nAdd SQLActions in the TypeRoundTripper to test this behavior.\n\nIn passing, add conditionals for access in MSVC to the session_timezone\nGUC, for those PG versions where it has become possible, and avoid the\nwork of computing tz in coerceDatum unless it is needed.","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/c4e162a7f956413e5e2729c9e307570b32319b13"},{"sha":"e1fcce8f7836ecd1c4907ee429e23ad643c6240b","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"Improve comments.\n\nOne always pushes to a public repository first, then sees the comments\nthat need improvement.","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/e1fcce8f7836ecd1c4907ee429e23ad643c6240b"},{"sha":"3447d0e05f1e6e911df934fc72a9d1f43955c7c7","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"Merge pull request bug/REL1_5_STABLE/issue155\n\nEnables conversion of negative (before the epoch) timestamp values,\nwhich formerly threw an exception, so backward compatibility is not\nan issue for that case.\n\nAlso avoids a double-counting of the fractional second, which can change\nthe conversion result from what it formerly would have been, by a maximum\nof 1998 ms, average of 999 ms.","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/3447d0e05f1e6e911df934fc72a9d1f43955c7c7"},{"sha":"af28366a81d1f1733745e301040c361212cc8ad9","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"Adapt the Parameters example to annotation style.\n\nThis example checks many of the mappings between SQL and Java\nparameter and return types, so, as an annotation example, it\nalso exercises those mappings in the SQL generator. It is\nsufficient to expose issue #157 (indeed, with this commit only,\ncompilation will fail on the inability to map byte[] to bytea).\n\nThe former, hand-crafted deployment descriptor did not contain\na declaration for every public static method in the Parameters\nclass. Those that were not declared then have been left\nunannotated now.\n\nThe SQL generator includes parameter names in the function\ndeclarations it emits. That makes it possible to use named-\nparameter notation when calling the functions. However, it\nhas a consequence that parameter names should not be SQL\ntype keywords, as parameter names are optional in declarations\nso if the name could be a type, PostgreSQL assumes it is, then\nfails to parse the actual type that follows it. A few Java method\nparameter names, accordingly, have been changed here.","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/af28366a81d1f1733745e301040c361212cc8ad9"},{"sha":"8adc01b8293b88d30d48666690ecf2e2d9a38519","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"This fixes a problem but not the problem.\n\nThe name passed to getTypeElement is expected to be a canonical name,\nbut that isn't what Class.getName() returns (or there wouldn't be a\nClass.getCanonicalName()).\n\nHowever, the problem seems to be deeper; arrays are not listed among the\nthings TypeElements exist to represent. It may be necessary to drill down\nto the component type and then construct the TypeMirror using\ngetArrayType().","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/8adc01b8293b88d30d48666690ecf2e2d9a38519"},{"sha":"12ec013be94c3b256f2d2d184b3a2979932f83b7","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"Types.getArrayType() does the trick.","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/12ec013be94c3b256f2d2d184b3a2979932f83b7"},{"sha":"269437b15c358cd9b021439f420d5742f5a6376b","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"Remove a vestige of GCJ support.","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/269437b15c358cd9b021439f420d5742f5a6376b"},{"sha":"a156eda5d0d80f447b8ecc99bca8ea2f68481d10","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"Merge pull request bug/REL1_5_STABLE/issue157\n\nFix failure of the compile-time SQL generator to recognize bytea as the\nSQL type corresponding to Java's byte[]. Also eliminates a longstanding\nwarning message.","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/a156eda5d0d80f447b8ecc99bca8ea2f68481d10"},{"sha":"f3f7544bf442c9c5e14d138d45fc4912750094f5","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"Restore javadoc buildability with Java 8+\n\nFix a few recently-touched javadoc comments that do not prevent\ndoc building in Java 7, but do under the stricter rules introduced\nin javadoc in Java 8.","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/f3f7544bf442c9c5e14d138d45fc4912750094f5"},{"sha":"50e2e95a936f551067770c79ecec600c727f95aa","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"Don't repeat yourself with UDT mappings.\n\nIt was never satisfying to define a UDT in Java through annotations\nand still have the DDR generator give \"no mapping to an SQL type\" errors\nfor functions accepting or returning that type. It was easy enough (if\ntedious) to work around by adding explicit type= or @SQLType annotations,\nbut the DDR generator had all the necessary information to figure that out\nwithout such manual help. Now it does, eliminating the tedium\nillustrated in jcflack/pljava-udt-type-extension@bcb5734.\n\nTo accommodate mappings added from the source being compiled, the\nprotoMappings collection is now of TypeMirror instances rather than\nof Class instances.\n\nStill future work: also add implied ordering dependencies for uses of\nthe new type (such as functions that have it as parameter or return\ntypes and have to follow the type declaration, as illustrated in\njcflack/pljava-udt-type-extension@225ef5c, or that are named in it as,\nfor example, typmod in/out functions, and have to precede it).","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/50e2e95a936f551067770c79ecec600c727f95aa"},{"sha":"0510ef536c697abcc89f038828344971bdbfecbe","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"Merge pull request feature/REL1_5_STABLE/udtmap","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/0510ef536c697abcc89f038828344971bdbfecbe"},{"sha":"3b67999e1b152132f725f9a3f33c88b237fc3d1a","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"Use ALLOCSET_*_SIZES macros to create contexts.\n\nThese macros became available in 9.6 (ea268cd, with a \"back-patch\"\nappearing in 9.6.0, funnily enough). It becomes /necessary/ to use\nthem in PG 11 (9fa6f00), at least when using AllocSetContextCreate\nrather than the PG11-new AllocSetContextCreateExtended.\n\nHere, just define the macros locally for PG < 9.6, and use them\nunconditionally.","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/3b67999e1b152132f725f9a3f33c88b237fc3d1a"},{"sha":"fdd2cdd285ff5417b730ef734330990bfc10c48e","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"Drop GUC_LIST_QUOTE flag on pljava.implementors.\n\nIt becomes disallowed for extensions to define GUC_LIST_QUOTE\nvariables as of PG 11 (846b5a5).","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/fdd2cdd285ff5417b730ef734330990bfc10c48e"},{"sha":"769bb19c174fa998bb73eba5d51bba3f3483d53a","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"Merge pull request #161 from trackpg/REL1_5_STABLE/pg11","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/769bb19c174fa998bb73eba5d51bba3f3483d53a"},{"sha":"c58975fc98fbffc8d67db9d8cbc1ebbfa48a9e85","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"Back-compat: fix Backend.c for PG < 8.4.\n\nAmong nits to fix, it pleasantly turns out that GUCs had boot values\neven pre-8.4. They just had to be assigned in a different way. This\nboth tidies up the code in Backend and improves the experience of\nsetting up PL/Java in the oldest PG versions it supports.","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/c58975fc98fbffc8d67db9d8cbc1ebbfa48a9e85"},{"sha":"7b3f8746aa21355f2144f9511239ccc92ef3beec","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"Make sure InstallHelper_groundwork has a snapshot.\n\nThe check in pg_plan_query() was added for 8.4 (backpatched\nto 8.3.6.and 8.2.12), and can prevent loading in some cases\n(seen in 9.1 and earlier), at least when doing the 'guided'\nsort of load with interactive setting of GUCs.\n\nIn passing, fix a plain old typo in Type that has been there\nfor a while, but only is exposed when building for 8.2.","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/7b3f8746aa21355f2144f9511239ccc92ef3beec"},{"sha":"36b628dc3d13bc051bf7008aa83293657977d685","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"Preserve LOAD usability over supported PG versions\n\nIn PG versions where CREATE EXTENSION is available, it will surely be\nthe most common installation method, but the method using LOAD should\nnot be allowed to bitrot. It can still be preferable, whether for quick\ntesting purposes, or cases where write access isn't available to the PG\ninstallation's libdir and sharedir to install the PL/Java files there.\n\nIn both the most recent supported PG versions, 10 and later, and the\nvery earliest, 8.2, there are slight differences in the path of things\nto dereference while finding the LoadStmt to get the library name.\nIn 10 and later, there can be an extra PlannedStmt to unwrap on the way,\nand 8.2 had a list of query trees on the Portal instead of Stmts.","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/36b628dc3d13bc051bf7008aa83293657977d685"},{"sha":"2ee21e77d25668c8662bfc028fba9a8f808b67b1","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"Conditionalize examples that depend on PG version.\n\n(Also avoid yet another conditional, by replacing a use of the\nformat() function, which appeared in 9.0, with plain string\nconcatenation.)\n\nMove the setting of the several version-specific \"implementor tags\" to\none place, ConditionalDDR.java.  It gets crazy to have SELECT CASE WHEN\n... server_version_num ...  proliferating all through the examples.","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/2ee21e77d25668c8662bfc028fba9a8f808b67b1"},{"sha":"b1b19c1778cede4c969d0978ee4ac1be912285de","author":{"name":"Chapman Flack","email":"9ef833879a93e5e11879b925587aa97edc60238f@anastigmatix.net"},"message":"Emit REMOVE section of DDR in right order (#163).\n\nThe implicitly-added provides/requires relationships between implementor\ntags and the snippets that test the environment to activate or suppress\nthem need to be treated specially. Unlike other dependency\nrelationships, which have their sense reversed between the INSTALL and\nREMOVE action groups, these implicit ones need to keep the same sense.\nIt always works better to test a condition before needing to use the\nresult.\n\nThe old augmentRequires method, which created the implied dependencies\nby outright adding them to the snippet's other requires, is now gone;\nthe implied relationship is simply handled within the ordering code.\nTwo DAGs are created, one for install and one for remove, and an order\nis found independently for each.\n\nIt's also necessary to use the deployStrings of tag-testing snippets\nat undeploy time, at least in the case they don't have explicit\nundeployStrings supplied, which is the usual case, because the\nconditions to be tested are the same deploying and undeploying.","distinct":false,"url":"https://api.github.com/repos/tada/pljava/commits/b1b19c1778cede4c969d0978ee4ac1be912285de"}]}
{"actor":{"display_login":"jcflack"}}