Return-Path: X-Original-To: apmail-drill-dev-archive@www.apache.org Delivered-To: apmail-drill-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 55472187F2 for ; Tue, 22 Mar 2016 03:43:37 +0000 (UTC) Received: (qmail 57032 invoked by uid 500); 22 Mar 2016 03:43:37 -0000 Delivered-To: apmail-drill-dev-archive@drill.apache.org Received: (qmail 56946 invoked by uid 500); 22 Mar 2016 03:43:37 -0000 Mailing-List: contact dev-help@drill.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@drill.apache.org Delivered-To: mailing list dev@drill.apache.org Received: (qmail 56934 invoked by uid 99); 22 Mar 2016 03:43:36 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Mar 2016 03:43:36 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 17CD0C059B for ; Tue, 22 Mar 2016 03:43:36 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.28 X-Spam-Level: * X-Spam-Status: No, score=1.28 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=dremio-com.20150623.gappssmtp.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id twZ2KgfFsEUg for ; Tue, 22 Mar 2016 03:43:34 +0000 (UTC) Received: from mail-lb0-f182.google.com (mail-lb0-f182.google.com [209.85.217.182]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 5805E5F2C4 for ; Tue, 22 Mar 2016 03:43:34 +0000 (UTC) Received: by mail-lb0-f182.google.com with SMTP id k12so144276776lbb.1 for ; Mon, 21 Mar 2016 20:43:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dremio-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to; bh=eFsyou8ver26KyPapMID+8BY2hs3IHnfhGN/PPqem8Y=; b=I3+oAcLSzo3H2KZoXaQYW6XzxiD3Fw6yxLHR4txybWESN60L3MY1WoaKFmj5rE6YdX UadLoQqS7kvkU5e+GPLHu6EB/bA7d5cDg8QDG6dZ92yyyy5JMiSVA1dVt0fyXOncYBU4 KKNfVCOmzFyzqb2tW4xIhLBU28Tl0HLBYARxTxB4PGFd334NZtv8ItspgSB4wjRD7ZOg AtEDU7sRJqD7BqKpGPa4TZdIMP7ac1gAjqZLr6q50/tDSRYPOiAPYTrJbESYC9JW/K17 AoRiTv58nQ/Ofp4+AHBQYL5/LB6jHe4RZ0W+qCkiJ61sYPcK9UA6Yc1K/l0msbIPfxNL o9lQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to; bh=eFsyou8ver26KyPapMID+8BY2hs3IHnfhGN/PPqem8Y=; b=CzFm7mHy0uypwEarE1mQOyJnLNsu5mLK9v+Qo7E2DbeJDtqHFa8y8osa0/oM1PfNC7 CizZaHolJExXLGocgndBT/2SgwMUgoUhSrXU20lQOj0PmAQ06y0J2Z4TLLJS6jt3bYe6 CbeYfip+ICGAggV9e450bDXqPn5VZEvMyNv9MR3L0vYXq+FrDlXElk8qeaoxSc6DIr1b e+rZOQAnuqVj0tSISaISY8i/M1Q3bF/e4exVl/AwEexwt7RItebdlEjkJ1AJDClhZwmp N3ed4JVc6IDDfiEDGBG7BghHsQcsTHbyQdpKyx7WjZOF4TIaFxUE7QUUv9lKLIJ1iGLf dCSA== X-Gm-Message-State: AD7BkJKk1R+Lli9O5LgQWfD+DAT83lBhj1f5H/nCBiN60Yroj3grdYt6d9GkbssN16Vnyv693JS9lXxsojjzBA== MIME-Version: 1.0 X-Received: by 10.112.55.200 with SMTP id u8mr11295200lbp.51.1458618206896; Mon, 21 Mar 2016 20:43:26 -0700 (PDT) Received: by 10.25.216.8 with HTTP; Mon, 21 Mar 2016 20:43:26 -0700 (PDT) Received: by 10.25.216.8 with HTTP; Mon, 21 Mar 2016 20:43:26 -0700 (PDT) In-Reply-To: References: Date: Mon, 21 Mar 2016 20:43:26 -0700 Message-ID: Subject: Re: [DISCUSS] Remove required type From: Jacques Nadeau To: dev Content-Type: multipart/alternative; boundary=001a1133bad015d90e052e9b0456 --001a1133bad015d90e052e9b0456 Content-Type: text/plain; charset=UTF-8 Definitely in support of this. The required type is a huge maintenance and code complexity nightmare that provides little to no benefit. As you point out, we can do better performance optimizations though null count observation since most sources are nullable anyway. On Mar 21, 2016 7:41 PM, "Steven Phillips" wrote: > I have been thinking about this for a while now, and I feel it would be a > good idea to remove the Required vector types from Drill, and only use the > Nullable version of vectors. I think this will greatly simplify the code. > It will also simplify the creation of UDFs. As is, if a function has custom > null handling (i.e. INTERNAL), the function has to be separately > implemented for each permutation of nullability of the inputs. But if drill > data types are always nullable, this wouldn't be a problem. > > I don't think there would be much impact on performance. In practice, I > think the required type is used very rarely. And there are other ways we > can optimize for when a column is known to have no nulls. > > Thoughts? > --001a1133bad015d90e052e9b0456--