1. 03 Jan, 2020 11 commits
    • craig[bot]'s avatar
      Merge #43701 #43709 #43710 #43711 #43713 · 7906cbe3
      craig[bot] authored
      43701: sqlsmith: add support for interleaved tables r=mjibson a=mjibson
      
      This commit adds interleaved table support to sqlsmith. When running
      with the rand-tables configuration, there's a 50% chance of all tables
      but the first one to get interleaved into a random other table.
      
      Release note: None
      
      43709: pgwire: use datadriven-based testing for HBA configs r=knz a=knz
      
      (I'm currently working on #31113 and updating this test makes my life easier.)
      
      This patch introduces a datadriven test runner for HBA config tests.
      It also replaces the previous `TestHBA` by more exhaustive datadriven
      input files, with comments that better explain the narrative of the
      test.
      
      Release note: None
      
      43710: pgwire: improve some HBA error messages r=knz a=knz
      
      First commit from #43709.
      
      Before:
      
      ```
      > set cluster setting server.host_based_authentication.configuration = 'host db all 0.0.0.0/32 cert';
      ERROR: database must be specified as all
      ```
      
      ```
      > set cluster setting server.host_based_authentication.configuration = 'host all all myhost cert';
      ERROR: host addresses not supported
      ```
      
      ```
      > set cluster setting server.host_based_authentication.configuration = 'host all all 0.0.0.0/32 sdfsf';
      ERROR: unknown auth method "sdfsdf"
      ```
      
      After:
      ```
      > set cluster setting server.host_based_authentication.configuration = 'host db all 0.0.0.0/32 cert';
      ERROR: unimplemented: per-database HBA rules are not supported
      SQLSTATE: 0A000
      HINT: You have attempted to use a feature that is not yet implemented.
      --
      Use the special value 'all' (without quotes) to match all databases.
      ```
      
      ```
      > set cluster setting server.host_based_authentication.configuration = 'host all all myhost cert';
      ERROR: unimplemented: hostname-based HBA rules are not supported
      SQLSTATE: 0A000
      HINT: You have attempted to use a feature that is not yet implemented.
      --
      List the numeric CIDR notation instead, for example: 127.0.0.1/8.
      ```
      
      ```
      > set cluster setting server.host_based_authentication.configuration = 'host all all 0.0.0.0/32 sdfsdf'
      ERROR: unimplemented: unknown auth method "sdfsdf"
      SQLSTATE: 0A000
      HINT: You have attempted to use a feature that is not yet implemented.
      --
      Supported methods: cert, cert-password, password
      ```
      
      Release note (sql change): CockroachDB will now provide more
      descriptive error messages and a error hint when an unsupported rule
      is provided via `server.host_based_authentication.configuration`.
      
      43711: pgwire: split the authentication code in its own files r=knz a=knz
      
      First two commits from #43709 and #43710.
      
      This patch splits the pgwire authentication in its own files
      and adds missing explanatory comments.
      
      No functional changes.
      
      43713: pgwire/hba: fix a bug in the parsing logic r=knz a=knz
      
      Release note (bug fix): There was a bug in the parsing logic for
      server.host_based_authentication.configuration, where both
      single-character strings, and quoted strings containing spaces and
      separated by commas were not properly parsed. This would cause
      e.g. rules for usernames consisting of a single characters, or
      usernames containing spaces, to apply improperly.
      Co-authored-by: default avatarJordan Lewis <[email protected]>
      Co-authored-by: default avatarRaphael 'kena' Poss <[email protected]>
      7906cbe3
    • craig[bot]'s avatar
      Merge #43708 · e05f4a45
      craig[bot] authored
      43708: acceptance: remove TestDockerStartFlags r=knz a=knz
      
      This test has long been made obsolete by the other CLI tests,
      especially the TCL tests.
      
      Release note: None
      Co-authored-by: default avatarRaphael 'kena' Poss <[email protected]>
      e05f4a45
    • Jordan Lewis's avatar
      sqlsmith: add support for interleaved tables · 5d69f5d7
      Jordan Lewis authored
      This commit adds interleaved table support to sqlsmith. When running
      with the rand-tables configuration, there's a 50% chance of all tables
      but the first one to get interleaved into a random other table.
      
      Release note: None
      5d69f5d7
    • craig[bot]'s avatar
      Merge #43712 · 30fc4a83
      craig[bot] authored
      43712: pkg/security: fix misleading comment r=knz a=aybabtme
      
      Forgive me if I'm wrong, but the current comment appears to be wrong. To be honest, I don't know a ton about TLS and my change might be mislead, but I figured I'd at least raise this via a PR or something.
      
      It seems that when this was changed 5y ago (https://github.com/cockroachdb/cockroach/pull/4957) by @mberhault, the comment wasn't updated.
      
      > One notable difference is that we now have a single certificate for
      nodes with double role as server and client authentication.
      
      Sorry for this perhaps pedantic PR.
      Co-authored-by: default avatarAntoine Grondin <[email protected]>
      30fc4a83
    • craig[bot]'s avatar
      Merge #42890 · 5627f32a
      craig[bot] authored
      42890: storage,roachpb: protected timestamp plumbing into storage r=ajwerner a=ajwerner
      
      This PR comes as two commits.
      
      1) Plumb the interfaces into the `storage.Replica` and GC process
      2) Introduce the AdminVerifyProtectedTimestamp to the roachpb API
      Co-authored-by: default avatarAndrew Werner <[email protected]>
      5627f32a
    • Raphael 'kena' Poss's avatar
      pgwire/hba: fix a bug in the parsing logic · bb19ef30
      Raphael 'kena' Poss authored
      Release note (bug fix): There was a bug in the parsing logic for
      server.host_based_authentication.configuration, where both
      single-character strings, and quoted strings containing spaces and
      separated by commas were not properly parsed. This would cause
      e.g. rules for usernames consisting of a single characters, or
      usernames containing spaces, to apply improperly.
      bb19ef30
    • Raphael 'kena' Poss's avatar
      pgwire/hba: detail the result of parsing HBA configuration · 8e9be2d5
      Raphael 'kena' Poss authored
      There is a bug in the code, however the HBA parsing test was unable to
      see it. This patch changes the test to outline the bug ahead of fixing
      it.
      
      Release note: None
      8e9be2d5
    • Raphael 'kena' Poss's avatar
      pgwire: split the authentication code in its own files · 36baefcd
      Raphael 'kena' Poss authored
      This patch splits the pgwire authentication in its own files
      and adds missing explanatory comments.
      
      Release note: None
      36baefcd
    • Antoine Grondin's avatar
      pkg/security: fix misleading comment · b79bb043
      Antoine Grondin authored
      Forgive me if I'm wrong, but the current comment appears to be wrong. To be honest, I don't know a ton about TLS but I figured I'd at least raise this.
      b79bb043
    • Raphael 'kena' Poss's avatar
      pgwire: improve some HBA error messages · 41084b74
      Raphael 'kena' Poss authored
      Before:
      
      ```
      > set cluster setting server.host_based_authentication.configuration = 'host db all 0.0.0.0/32 cert';
      ERROR: database must be specified as all
      ```
      
      ```
      > set cluster setting server.host_based_authentication.configuration = 'host all all myhost cert';
      ERROR: host addresses not supported
      ```
      
      ```
      > set cluster setting server.host_based_authentication.configuration = 'host all all 0.0.0.0/32 sdfsf';
      ERROR: unknown auth method "sdfsdf"
      ```
      
      After:
      ```
      > set cluster setting server.host_based_authentication.configuration = 'host db all 0.0.0.0/32 cert';
      ERROR: unimplemented: per-database HBA rules are not supported
      SQLSTATE: 0A000
      HINT: You have attempted to use a feature that is not yet implemented.
      --
      Use the special value 'all' (without quotes) to match all databases.
      ```
      
      ```
      > set cluster setting server.host_based_authentication.configuration = 'host all all myhost cert';
      ERROR: unimplemented: hostname-based HBA rules are not supported
      SQLSTATE: 0A000
      HINT: You have attempted to use a feature that is not yet implemented.
      --
      List the numeric CIDR notation instead, for example: 127.0.0.1/8.
      ```
      
      ```
      > set cluster setting server.host_based_authentication.configuration = 'host all all 0.0.0.0/32 sdfsdf'
      ERROR: unimplemented: unknown auth method "sdfsdf"
      SQLSTATE: 0A000
      HINT: You have attempted to use a feature that is not yet implemented.
      --
      Supported methods: cert, cert-password, password
      ```
      
      Release note (sql change): CockroachDB will now provide more
      descriptive error messages and a error hint when an unsupported rule
      is provided via `server.host_based_authentication.configuration`.
      41084b74
    • Raphael 'kena' Poss's avatar
      pgwire: use datadriven-based testing for HBA configs · af7facf3
      Raphael 'kena' Poss authored
      This patch introduces a datadriven test runner for HBA config tests.
      It also replaces the previous `TestHBA` by more exhaustive datadriven
      input files, with comments that better explain the narrative of the
      test.
      
      Release note: None
      af7facf3
  2. 02 Jan, 2020 26 commits
    • craig[bot]'s avatar
      Merge #43495 #43704 · 8facb469
      craig[bot] authored
      43495: lint: rename roachlint to roachvet, fold std vet into it, run roachvet on every PR r=knz a=ajwerner
      
      In #42595 we disabled the `roachlint` lint test from running on every commit.
      This was done due to its outsized memory usage. This PR identifies that the root cause of
      this memory usage was the decision to use [multichecker](https://godoc.org/golang.org/x/tools/go/analysis/multichecker) rather than [unitchecker](https://godoc.org/golang.org/x/tools/go/analysis/unitchecker) in the roachlint binary. Multichecker analyses all compilation units in a single phase whereas unitchecker analyzes each compilation unit separately. When run using the unitchecker frontend, roachlint does not seem to use more RAM than normal compilation. After making this observation I noticed that go vet is defined as a set of analysis passes. This change then rolls all of the go vet passes into our one vet binary.
      
      The last second commit fixes a vet problem which was uncovered. 
      The third commit enables vet for test files and fixes issues found in test files.
      
      Release note: None
      
      43704: colexec/typeconv: remove orphaned Int1 case r=yuzefovich a=yuzefovich
      
      At some point we had support for Int1 (8 bit integer) in the vectorized
      engine, but it has been removed. This commit removes one of the leftover
      pieces.
      
      Release note: None
      Co-authored-by: default avatarAndrew Werner <[email protected]>
      Co-authored-by: default avatarYahor Yuzefovich <[email protected]>
      8facb469
    • craig[bot]'s avatar
      Merge #43427 · ad78aa30
      craig[bot] authored
      43427: roachtest: add a tpcc+alter for sqlsmith r=mjibson a=mjibson
      
      This will test a large set of existing tables with schema changes.
      
      Also rejigger the alter statement frequency. Drops are 1, renames 5, and
      creates 10. This should prevent the problem of drops happening too often.
      
      Release note: None
      Co-authored-by: default avatarMatt Jibson <[email protected]>
      ad78aa30
    • Yahor Yuzefovich's avatar
      colexec/typeconv: remove orphaned Int1 case · 1abdb159
      Yahor Yuzefovich authored
      At some point we had support for Int1 (8 bit integer) in the vectorized
      engine, but it has been removed. This commit removes one of the leftover
      pieces.
      
      Release note: None
      1abdb159
    • craig[bot]'s avatar
      Merge #41482 #41989 #43655 · 9b3ebc92
      craig[bot] authored
      41482: rfc: temporary tables support r=solongordon a=arulajmani
      
      This RFC proposes to add support for temporary tables.
      
      RFC text: https://github.com/arulajmani/cockroach/blob/temp-tables-rfc/docs/RFCS/20191009_temp_tables.md
      
      Release note: None
      
      41989: rfcs: resurrect RFC for altering primary key r=solongordon a=solongordon
      
      A year-and-a-half ago, David Taylor wrote an RFC for how to support
      primary key changes, but that work was deprioritized while the RFC was
      still a draft. Now we are ready to perform that work, so Rohan and I are
      bringing that RFC back from the dead. The core approach remains the
      same, but we've filled in a few TODOs and added more implementation
      details, syntax examples, and follow-up work ideas.
      
      The original RFC got a few comments before it was shelved (see #25208),
      but we intend to go through a more thorough review process this time
      around.
      
      Release note: None
      
      43655: protectedts/ptcache: implement the Cache to watch protectedts state r=nvanbenschoten a=ajwerner
      
      The Cache periodically polls the protectedts state. The Cache polls
      the meta row from each node at a period defined by a cluster setting.
      Clients can toggle a manual refresh.
      
      Release note: None.
      Co-authored-by: default avatarArul Ajmani <[email protected]>
      Co-authored-by: default avatarSolon Gordon <[email protected]>
      Co-authored-by: default avatarAndrew Werner <[email protected]>
      9b3ebc92
    • Matt Jibson's avatar
      roachtest: add a tpcc+alter for sqlsmith · ec0499ec
      Matt Jibson authored
      This will test a large set of existing tables with schema changes.
      
      Also rejigger the alter statement frequency. Drops are 1, renames 5, and
      creates 10. This should prevent the problem of drops happening too often.
      
      Release note: None
      ec0499ec
    • Andrew Werner's avatar
      roachpb,storage: add AdminVerifyProtectedTimestampRequest · 1fc06fd5
      Andrew Werner authored
      This commits add a request to be used to verify that a protected timestamp
      will apply. This commit does not yet add the client code which utilizes the
      request.
      
      Release note: None.
      1fc06fd5
    • Andrew Werner's avatar
      storage: initial plumbing of the protected timestamp subsystem · ee2178bd
      Andrew Werner authored
      This commit precedes plumbing the actual implementation into the storage
      layer. Instead it creates uses the dummy `ClockTracker` as a basis for
      the business logic in the storage package and tests that logic at a low-level
      using injected data.
      
      Release note: None.
      ee2178bd
    • craig[bot]'s avatar
      Merge #42765 #43383 · e5a1103d
      craig[bot] authored
      42765: storage: write to AbortSpan less, clean up AbortSpan more r=nvanbenschoten a=nvanbenschoten
      
      This PR introduces two improvements to our handling of the AbortSpan. It also introduces the first set of comprehensive testing around AbortSpan entry state transitions, which was sorely missing. 
      
      This comes after a few different customer issues that at least at first glance appeared to be AbortSpan leaks. There's still more to do to resolve those, mostly by improving GC, but anything we can do here on the frontend to reduce the number of AbortSpan entries that need to be GCed in the first place helps.
      
      ### Clean up span on non-poisoning, aborting EndTransaction request
      
      Fixes #29128.
      
      Before this change, an EndTransaction request sent to rollback a transaction record would not remove any AbortSpan entries, even if its own Poison flag was set to false. This allowed AbortSpan entries to leak. This commit fixes this behavior by removing the AbortSpan entry in this case.
      
      There were concerns raised in #29128 about this being safe. It turns out that we already do this on every Range except the transaction record's Range during normal intent resolution, so this isn't introducing any new concerns.
      
      ### Only write AbortSpan entries if intents are removed
      
      This reduces the frequency of AbortSpan entries that can be abandoned even without a transaction coordinator failure. Specifically, it protects against the case where intent resolution races with a transaction coordinator cleaning up its own transaction record and intents. This can happen for both aborted and committed transactions.
      
      In the first case, a pusher might find a transaction's intent and then find its record to be aborted after that transaction had cleanly rolled back its own intents. Even though the transaction's coordinator had already cleaned up and potentially "unpoisoned" AbortSpans, the pusher would happily re-introduce AbortSpan records when it goes to resolve the intents that were already cleaned up. These AbortSpan entries would be fully abandoned and have to wait out the GC.
      
      Similarly, in the second case, the transaction might have committed. Here, the pushee might hit an intent and the txn coordinator might clean up and auto-GC its txn record before the pushee arrives at the txn record. Once the pushee gets there, it would mistake the txn for aborted (by design) and proceed to write an AbortSpan record where the intent it had once observed had been (not by design).
      
      We can tell both of these cases by simply recognizing whether intent resolution actually succeeds. If intent resolution doesn't find an intent, then we might be in either case. That's fine, because we only need to ever poison the abort span if we actually remove an intent that could confuse a zombie transaction.
      
      43383: storage: stop modifying requests and returning responses from TxnWaitQueue r=nvanbenschoten a=nvanbenschoten
      
      This PR contains three pieces of cleanup that pave the way for pulling the TxnWaitQueue underneath the upcoming `pkg/storage/concurrency` package. It removes all cases where the queue mandates an update to the PushTxnRequest that entered it. It also removes all cases where the queue could field requests directly and return results for them. This restricts the TxnWaitQueue's interface and allows it to be pushed into the concurrency manager abstraction without bloating this new abstraction.
      Co-authored-by: default avatarNathan VanBenschoten <[email protected]>
      e5a1103d
    • Andrew Werner's avatar
      protectedts/ptcache: implement the Cache to watch protectedts state · 1d03a955
      Andrew Werner authored
      The Cache periodically polls the protectedts state. The Cache polls
      the meta row from each node at a period defined by a cluster setting.
      Clients can toggle a manual refresh.
      
      Release note: None.
      1d03a955
    • Nathan VanBenschoten's avatar
      c7bbc4fa
    • Nathan VanBenschoten's avatar
      storage/batcheval: rename SetAbortSpan to UpdateAbortSpan · 663eff0b
      Nathan VanBenschoten authored
      Purely a rename.
      
      Release note: None
      663eff0b
    • Nathan VanBenschoten's avatar
      storage: assert that Poison=false for EndTxn(Commit=true) reqs · fce02e7b
      Nathan VanBenschoten authored
      Return an error if not.
      
      Release note: None
      fce02e7b
    • Nathan VanBenschoten's avatar
      storage: only write AbortSpan entries if intents are removed · 2e8ad39b
      Nathan VanBenschoten authored
      This reduces the frequency of AbortSpan entries that can be abandoned even
      without a transaction coordinator failure. Specifically, it protects against
      the case where intent resolution races with a transaction coordinator cleaning
      up its own transaction record and intents. This can happen for both aborted and
      committed transactions.
      
      In the first case, a pusher might find a transaction's intent and then find its
      record to be aborted after that transaction had cleanly rolled back its own intents.
      Even though the transaction's coordinator had already cleaned up and potentially
      "unpoisoned" AbortSpans, the pusher would happily re-introduce AbortSpan records when
      it goes to resolve the intents that were already cleaned up. These AbortSpan entries
      would be fully abandoned and have to wait out the GC.
      
      Similarly, in the second case, the transaction might have committed. Here, the
      pushee might hit an intent and the txn coordinator might clean up and auto-GC its
      txn record before the pushee arrives at the txn record. Once the pushee gets there,
      it would mistake the txn for aborted (by design) and proceed to write an AbortSpan
      record where the intent it had once observed had been (not by design).
      
      We can tell both of these cases by simply recognizing whether intent resolution actually
      succeeds. If intent resolution doesn't find an intent, then we might be in either
      case. That's fine, because we only need to ever poison the abort span if we actually
      remove an intent that could confuse a zombie transaction.
      
      Release note: None
      2e8ad39b
    • Nathan VanBenschoten's avatar
      storage/batcheval: clean up span on non-poisoning, aborting EndTransaction request · 13287876
      Nathan VanBenschoten authored
      Fixes #29128.
      
      Before this change, an EndTransaction request sent to rollback a transaction record
      would not remove any AbortSpan entries, even if its own Poison flag was set to false.
      This allowed AbortSpan entries to leak. This commit fixes this behavior by removing
      the AbortSpan entry in this case.
      
      There were concerns raised in #29128 about this being safe. It turns out that we already
      do this on every Range except the transaction record's Range, so this isn't introducing
      any new concerns.
      
      Release note (bug fix): AbortSpan records are now cleaned up more
      aggresively when doing so is known to be safe.
      13287876
    • Nathan VanBenschoten's avatar
      storage/batcheval: test requests that modify the AbortSpan · 853d0871
      Nathan VanBenschoten authored
      Up until this point, we had no testing around this. For instance, not a single
      test would catch it if we removed the deletion path from SetAbortSpan.
      853d0871
    • Nathan VanBenschoten's avatar
      storage/batcheval: rename truncate_log_test.go to cmd_truncate_log_test.go · 0958a6ef
      Nathan VanBenschoten authored
      This mirrors `cmd_truncate_log.go`.
      0958a6ef
    • Nathan VanBenschoten's avatar
      storage: send force abort PushTxn req directly from TxnWaitQueue · a3119780
      Nathan VanBenschoten authored
      This commit removes the interaction between the TxnWaitQueue and the
      Replica-level retry loop when transaction deadlocks are detected. Instead
      of instructing a waiting PushTxnRequest to change to a force push request,
      the queue now launches push abort directly. This is cleaner and avoids
      the need to mutate the input batch in Replica.maybeWaitForPushee.
      
      Release note: None
      a3119780
    • craig[bot]'s avatar
      Merge #43690 · 23226c6a
      craig[bot] authored
      43690: sql: minor error handling improvements r=andreimatei a=andreimatei
      
      See individual commits.
      Co-authored-by: default avatarAndrei Matei <[email protected]>
      23226c6a
    • craig[bot]'s avatar
      Merge #43405 #43424 · e643312c
      craig[bot] authored
      43405: opt: fix optsteps crash caused by constraint expressions r=RaduBerinde a=RaduBerinde
      
      #### opt: make FormatExpr easier to use
      
      During debugging, it's sometimes useful to add a statement to print an
      expression. This is fairly hard and can crash easily because the memo
      or the catalog isn't set in the formatting context. In particular, it
      is impossible to print a scalar expression that contains a relational
      expression because `FormatExpr` only sets the memo when we print
      relational expressions.
      
      This change improves the situation by allowing the caller of
      `FormatExpr` to pass the `*Memo` and by adding a convenience wrapper
      method on the `Optimizer`. We also automatically unset the "fully
      qualify" flag if there is no catalog (which would otherwise crash).
      
      Release note: None
      
      #### opt: fix optsteps crash caused by TableMeta expressions
      
      The optbuilder creates scalar constraint and computed column
      expressions and hangs them off the `TableMeta`. If a normalization
      rule fires for one of these expressions, `optsteps` panics because it
      can't find a path to the expression in the memo.
      
      This change fixes the problem by adding special code in opt_steps
      which effectively treats these expressions as children of Scan
      expressions.
      
      Release note: None
      
      #### opt: show TableMeta expressions when formatting expressions
      
      We build check constraint and computed column expressions and attach
      them to `TableMeta`, to be used later by exploration rules. These are
      currently invisible. This change adds them under "canonical" scans
      (the normalized scan expression before any exploration rules).
      
      Release note: None
      
      
      43424: reducesql: also attempt to remove columns from PKs r=mjibson a=mjibson
      
      Release note: None
      Co-authored-by: default avatarRadu Berinde <[email protected]>
      Co-authored-by: default avatarMatt Jibson <[email protected]>
      e643312c
    • craig[bot]'s avatar
      Merge #43580 #43606 · d0378458
      craig[bot] authored
      43580: storage: improve the error for aborted txns after lease transfer r=andreimatei a=andreimatei
      
      Lease transfers wipe the timestamp cache, and so a txn that straddles a
      lease transfer will not be allowed to create its txn record. This commit
      introduces a specific reason for the TransactionAbortedError
      highlighting that there's a new lease.
      
      Release note: None
      
      43606: kv: don't close TCS interceptors on errors r=andreimatei a=andreimatei
      
      Before this patch, the TxnCoordSender was closing all the interceptors
      when on non-retriable errors. This was a useless optimization serving to
      stop the heartbeat loop early; the client was required to send a
      rollback to clean up the intents.
      This patch gets rid of the optimization in anticipation of the
      savepoints API, which will serve for error recovery.
      
      Release note: None
      Co-authored-by: default avatarAndrei Matei <[email protected]>
      d0378458
    • craig[bot]'s avatar
      Merge #43617 · b7204297
      craig[bot] authored
      43617: sql: move Arul's TODOs to Solon r=andreimatei a=andreimatei
      
      There are a bunch of TODO(whomever) left over. As per the Google style
      guide, a TODO is addressed to the person others can ask about the TODO.
      Asking whomever is not a thing. Solon, I guess you're the closest thing.
      
      Instead or after this patch, please do me a favor if you don't mind and
      improve these TODOs. A bunch of them seem to be about code gated on a
      cluster version being ok to remove in the next version. That doesn't
      need a TODO.  Others seem to be about not using a DeprecatedDatabaseKey
      thing. I think they can all be centralized on the struct definition,
      which struct also cries for an explanation.
      
      Release note: None
      Co-authored-by: default avatarAndrei Matei <[email protected]>
      b7204297
    • Andrei Matei's avatar
      storage: improve the error for aborted txns after lease transfer · 58d61889
      Andrei Matei authored
      Lease transfers wipe the timestamp cache, and so a txn that straddles a
      lease transfer will not be allowed to create its txn record. This commit
      introduces a specific reason for the TransactionAbortedError
      highlighting that there's a new lease.
      
      Release note: None
      58d61889
    • Andrei Matei's avatar
      sql: add a note about some special statements · dbb01342
      Andrei Matei authored
      The behavior of statements like SHOW TRANSACTION STATE is special with
      regards to transactions and errors. This patch notes that a surprising
      lack of error handling is intentional.
      
      Release note: None
      dbb01342
    • Andrei Matei's avatar
      sql: simplify a callback · 6dd5e88b
      Andrei Matei authored
      Remove an unused error.
      
      Release note: None
      6dd5e88b
    • Raphael 'kena' Poss's avatar
      acceptance: remove TestDockerStartFlags · 246ed05d
      Raphael 'kena' Poss authored
      This test has long been made obsolete by the other CLI tests,
      especially the TCL tests.
      
      Release note: None
      246ed05d
    • craig[bot]'s avatar
      Merge #43558 · a99740bb
      craig[bot] authored
      43558: importccl: improve handling of transient errors when importing over http r=miretskiy a=miretskiy
      
      Make importing data into cockroach from external http servers
      resilient to connection interruption due to connection reset by peer errors.
      Add backoff when retrying.
      
      Release note (enterprise change): more resilient http import
      
      Fixes: #43070
      Co-authored-by: default avatarYevgeniy Miretskiy <[email protected]>
      a99740bb
  3. 01 Jan, 2020 1 commit
  4. 31 Dec, 2019 2 commits
    • craig[bot]'s avatar
      Merge #43514 · 0d1ae9cb
      craig[bot] authored
      43514: colexec: support TIMESTAMPTZ type r=yuzefovich a=yuzefovich
      
      **colexec: support TIMESTAMPTZ type**
      
      This commit adds the support for TimestampTZ data type which is
      represented in the same way as Timestamp (as 'time.Time'). We already
      had everything in place, so only the type-conversion was needed.
      
      Addresses: #42043.
      
      Release note (sql change): vectorized engine now supports TIMESTAMPTZ
      data type.
      
      **sqlsmith: add several types to vecSeedTable**
      
      This commit adds previously supported INT2 and INT4 types to
      vecSeedTable as well as newly supported TIMESTAMPTZ.
      
      Release note: None
      Co-authored-by: default avatarYahor Yuzefovich <[email protected]>
      0d1ae9cb
    • craig[bot]'s avatar
      Merge #43632 · f1f15250
      craig[bot] authored
      43632: roachtest: add a mixed cluster version test for secondary indexes r=yuzefovich a=rohany
      
      In 20.1, secondary indexes that store columns were extended to
      respect column families. However, this changed the disk encoding
      of these indexes. This roachtest adds a true mixed version cluster
      with existing data before an upgrade, and ensures that the new index
      encoding/decoding paths are indeed backwards compatible with previous
      cockroach versions.
      
      Release note: None
      Co-authored-by: default avatarRohan Yadav <[email protected]>
      f1f15250