Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 6147F2004F1 for ; Wed, 30 Aug 2017 09:40:50 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 5FA9A168910; Wed, 30 Aug 2017 07:40:50 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id A3C5416890B for ; Wed, 30 Aug 2017 09:40:49 +0200 (CEST) Received: (qmail 78909 invoked by uid 500); 30 Aug 2017 07:40:48 -0000 Mailing-List: contact commits-help@calcite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@calcite.apache.org Delivered-To: mailing list commits@calcite.apache.org Received: (qmail 78886 invoked by uid 99); 30 Aug 2017 07:40:48 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 30 Aug 2017 07:40:48 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 9E479E061C; Wed, 30 Aug 2017 07:40:48 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: jhyde@apache.org To: commits@calcite.apache.org Date: Wed, 30 Aug 2017 07:40:48 -0000 Message-Id: <698d81aec0da49d7aee38070bd03ddd5@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [1/4] calcite git commit: Fix data race in RexCall.toString() (Christian Beikov) archived-at: Wed, 30 Aug 2017 07:40:50 -0000 Repository: calcite Updated Branches: refs/heads/master cc20ca13d -> 1e7ae1c30 Fix data race in RexCall.toString() (Christian Beikov) Close apache/calcite#531 Project: http://git-wip-us.apache.org/repos/asf/calcite/repo Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/ddae8411 Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/ddae8411 Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/ddae8411 Branch: refs/heads/master Commit: ddae8411cf3fc92360da7e856dce9d3c6b1f7524 Parents: cc20ca1 Author: Christian Beikov Authored: Mon Aug 28 16:20:43 2017 +0200 Committer: Julian Hyde Committed: Tue Aug 29 17:13:32 2017 -0700 ---------------------------------------------------------------------- core/src/main/java/org/apache/calcite/rex/RexCall.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/calcite/blob/ddae8411/core/src/main/java/org/apache/calcite/rex/RexCall.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/rex/RexCall.java b/core/src/main/java/org/apache/calcite/rex/RexCall.java index 5a1f112..ac9e09e 100644 --- a/core/src/main/java/org/apache/calcite/rex/RexCall.java +++ b/core/src/main/java/org/apache/calcite/rex/RexCall.java @@ -93,11 +93,14 @@ public class RexCall extends RexNode { } public String toString() { - if (digest == null) { - digest = computeDigest( + // This data race is intentional + String localDigest = digest; + if (localDigest == null) { + localDigest = computeDigest( isA(SqlKind.CAST) || isA(SqlKind.NEW_SPECIFICATION)); + digest = localDigest; } - return digest; + return localDigest; } public R accept(RexVisitor visitor) {