From dev-return-1640-apmail-calcite-dev-archive=calcite.apache.org@calcite.incubator.apache.org Tue Aug 11 04:52:55 2015 Return-Path: X-Original-To: apmail-calcite-dev-archive@www.apache.org Delivered-To: apmail-calcite-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 640FE18065 for ; Tue, 11 Aug 2015 04:52:55 +0000 (UTC) Received: (qmail 91006 invoked by uid 500); 11 Aug 2015 04:52:55 -0000 Delivered-To: apmail-calcite-dev-archive@calcite.apache.org Received: (qmail 90946 invoked by uid 500); 11 Aug 2015 04:52:55 -0000 Mailing-List: contact dev-help@calcite.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@calcite.incubator.apache.org Delivered-To: mailing list dev@calcite.incubator.apache.org Received: (qmail 90929 invoked by uid 99); 11 Aug 2015 04:52:54 -0000 Received: from Unknown (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 11 Aug 2015 04:52:54 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 6F1181A9C84 for ; Tue, 11 Aug 2015 04:52:54 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -1.209 X-Spam-Level: X-Spam-Status: No, score=-1.209 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_MSPIKE_H2=-1.108, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd2-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-eu-west.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id UCEb0YAZqWaS for ; Tue, 11 Aug 2015 04:52:53 +0000 (UTC) Received: from mail-qg0-f41.google.com (mail-qg0-f41.google.com [209.85.192.41]) by mx1-eu-west.apache.org (ASF Mail Server at mx1-eu-west.apache.org) with ESMTPS id EAC3E27737 for ; Tue, 11 Aug 2015 04:52:52 +0000 (UTC) Received: by qgj62 with SMTP id 62so107439970qgj.2 for ; Mon, 10 Aug 2015 21:52:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=Ky/RrzekOx59vF/uihKMVIZNU6A/oGI3S3zGGDkOtKw=; b=ANRxmtsGhqBimBta34E+i5N3yt5SjuFJnFu22O2U8iw1fazFeId36xmSLUxLNr8TbU Zp3LK+rRTsaLb1URwXBs67iiRmTA10aoxAD+FdIVKn8nZA6zFq9TLkzp45rQTkdk34E2 luAdbIz/QbwSxi1UEVjrL/zPdIFWTMIGf96M+fR3Y9GUVC9U3s4tCQ1sB3wVQnPyce1t azcu0AkMdMsB79DNSawXXwhaAqK9qCpO1A38dzKcUIZlpSwtUeEKLpvlNjSv04RXUyqb KnCmhqKm3MUinSORo/lzh1W+JwuV14Z1Vu69htzV3KZ9X/8CSJbl57qkJiooDhyK909Z n4gQ== X-Received: by 10.140.196.10 with SMTP id r10mr159805qha.29.1439268772026; Mon, 10 Aug 2015 21:52:52 -0700 (PDT) Received: from hw10447.local (pool-68-134-10-53.bltmmd.fios.verizon.net. [68.134.10.53]) by smtp.googlemail.com with ESMTPSA id n191sm495094qhb.29.2015.08.10.21.52.51 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 10 Aug 2015 21:52:51 -0700 (PDT) Message-ID: <55C97FA1.5010503@gmail.com> Date: Tue, 11 Aug 2015 00:52:49 -0400 From: Josh Elser User-Agent: Postbox 3.0.11 (Macintosh/20140602) MIME-Version: 1.0 To: dev@calcite.incubator.apache.org Subject: Re: [Avatica] Separating wire message from service implementation References: <55C3DB5F.2050906@gmail.com> <55C3E640.2090608@gmail.com> <55C4DB8C.4070700@gmail.com> <55C54FEA.2020603@gmail.com> <9E7BE6BF-2B1C-40DA-8EDE-5D47FF577FC4@apache.org> <55C96B89.1040706@gmail.com> <01F04161-7ED0-4744-ACCB-8EB75D28A473@apache.org> In-Reply-To: <01F04161-7ED0-4744-ACCB-8EB75D28A473@apache.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Thanks, Julian! I meant to make one, just hadn't gotten around to it. Julian Hyde wrote: > I have logged https://issues.apache.org/jira/browse/CALCITE-839 for this task. > >> On Aug 10, 2015, at 8:27 PM, Josh Elser wrote: >> >> Julian Hyde wrote: >>> If my understand is correct, this decision is an easy one to make, because whatever we choose, we still comply with the specification. >>> >>> Avatica specifies its API at two levels: (1) the Java API (Meta), (2) the JSON requests/responses going over the wire. >>> >>> I would accept any transport that complies with both of those levels. In principle we could write a JSON-over-HTTP-marshalled-via-Jackson transport, specifying the mappings elsewhere than in the Meta classes, and someone else could use another transport. >> Assuming by "specifying the mappings elsewhere" you mean "by a means other than POJOs", yes, I'd agree. I feel like the POJOs are bound to eventually cause troubles across versions (as it's very easy to accidentally make some change that breaks something you forgot you did before). >> >> Any serialization library isn't foolproof obviously, but they are certainly much easier to work around than doing it all by hand. >> >>> Is it feasible to achieve this? >>> >>> Julian >>> > >