Return-Path: X-Original-To: apmail-incubator-empire-db-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-empire-db-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 29C117A68 for ; Fri, 2 Sep 2011 14:45:25 +0000 (UTC) Received: (qmail 46888 invoked by uid 500); 2 Sep 2011 14:45:25 -0000 Delivered-To: apmail-incubator-empire-db-dev-archive@incubator.apache.org Received: (qmail 46842 invoked by uid 500); 2 Sep 2011 14:45:24 -0000 Mailing-List: contact empire-db-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: empire-db-dev@incubator.apache.org Delivered-To: mailing list empire-db-dev@incubator.apache.org Received: (qmail 46834 invoked by uid 99); 2 Sep 2011 14:45:23 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Sep 2011 14:45:23 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of mdehoust@gmail.com designates 209.85.212.47 as permitted sender) Received: from [209.85.212.47] (HELO mail-vw0-f47.google.com) (209.85.212.47) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Sep 2011 14:45:15 +0000 Received: by vwe42 with SMTP id 42so2410778vwe.6 for ; Fri, 02 Sep 2011 07:44:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; bh=8OB6NLJ2ZSFMhIPrZNETx5Umw9XmTwvcV4lTu9mW1Vk=; b=rp0OdCzMlFs4T7ThP6HCqEmM+mDwRAMtZ+lxWMJ70a4q/CltLjla6eGKrI4kvv+hYj 4INfdBoSuDaXx3X76sncPJyh/TaABvsH5DBzaFioTJ/vaO3lQ9X9O8UzLgDwzLAvNAft /U1CXQg3wx9BzsFeVLPaJd5oQijSoTXKE/QDE= MIME-Version: 1.0 Received: by 10.52.99.42 with SMTP id en10mr1153594vdb.220.1314974694688; Fri, 02 Sep 2011 07:44:54 -0700 (PDT) Received: by 10.52.164.100 with HTTP; Fri, 2 Sep 2011 07:44:54 -0700 (PDT) Date: Fri, 2 Sep 2011 10:44:54 -0400 Message-ID: Subject: Patch for consideration From: Matt DeHoust To: empire-db-dev@incubator.apache.org Content-Type: multipart/mixed; boundary=20cf307f3b0a90c7e604abf66792 X-Virus-Checked: Checked by ClamAV on apache.org --20cf307f3b0a90c7e604abf66792 Content-Type: multipart/alternative; boundary=20cf307f3b0a90c7e104abf66790 --20cf307f3b0a90c7e104abf66790 Content-Type: text/plain; charset=ISO-8859-1 Hello Empire Devs, I have been using empire with some success lately and will share my findings as soon as I get past my deadline. Still much to do! In the meantime, I have a patch to offer for consideration. The patch is against the 2.1.0-incubating release version, but should work against the current code base too. The problem is that the codegen parser does not set the decimal digits for the size of DECIMAL columns. This leads to problems if you use empire-db to generate your schema. You expect DECIMAL(10,2) but get DECIMAL(10,0). The patch includes a test case to show the problem, as well as a proposed solution. Thanks for your consideration. Matt DeHoust P.S. While I'm on the subject, modelling the column size as a double has inherent limitations. For example, how do you represent a DECIMAL value with 20 decimal digits? Are there any plans to address this going forward? P.P.S. I also have a use case where it would be helpful for DBViewColumn to include column size information. Column size it is not available in the current DBViewColumn model. It's not urgent, but thought I'd mention it in case someone wants to take a look. --20cf307f3b0a90c7e104abf66790 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hello Empire Devs,

I have been using empire with some su= ccess lately and will share my findings as soon as I get past my deadline. = Still much to do!

In the meantime, I have a patch = to offer for consideration. The patch is against the 2.1.0-incubating relea= se version, but should work against the current code base too.

The problem is that the codegen parser does not set the= decimal digits for the size of DECIMAL columns. This leads to problems if = you use empire-db to generate your schema. You expect DECIMAL(10,2) but get= DECIMAL(10,0).

The patch includes a test case to show the problem, as = well as a proposed solution.

Thanks for your consi= deration.

Matt DeHoust

P.S. While I'm on the subject, modelling the column size as a double ha= s inherent limitations. For example, how do you represent a DECIMAL value w= ith 20 decimal digits? Are there any plans to address this going forward?

P.P.S. I also have a use case where it would be helpful= for DBViewColumn to include column size information. Column size it is not= available in the current DBViewColumn model. It's not urgent, but thou= ght I'd mention it in case someone wants to take a look.
--20cf307f3b0a90c7e104abf66790-- --20cf307f3b0a90c7e604abf66792 Content-Type: text/plain; charset=US-ASCII; name="empire-db-codegen.patch.txt" Content-Disposition: attachment; filename="empire-db-codegen.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gs39spt70 IyMjIEVjbGlwc2UgV29ya3NwYWNlIFBhdGNoIDEuMA0KI1AgZW1waXJlLWRiLWNvZGVnZW4NCklu ZGV4OiBzcmMvdGVzdC9qYXZhL29yZy9hcGFjaGUvZW1waXJlL2RiL2NvZGVnZW4vQ29kZUdlblBh cnNlclRlc3QuamF2YQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIHNyYy90ZXN0L2phdmEvb3JnL2FwYWNoZS9l bXBpcmUvZGIvY29kZWdlbi9Db2RlR2VuUGFyc2VyVGVzdC5qYXZhCShyZXZpc2lvbiAwKQ0KKysr IHNyYy90ZXN0L2phdmEvb3JnL2FwYWNoZS9lbXBpcmUvZGIvY29kZWdlbi9Db2RlR2VuUGFyc2Vy VGVzdC5qYXZhCShyZXZpc2lvbiAwKQ0KQEAgLTAsMCArMSwzOSBAQA0KK3BhY2thZ2Ugb3JnLmFw YWNoZS5lbXBpcmUuZGIuY29kZWdlbjsNCisNCitpbXBvcnQgc3RhdGljIG9yZy5hcGFjaGUuZW1w aXJlLmRhdGEuRGF0YVR5cGUuREVDSU1BTDsNCitpbXBvcnQgc3RhdGljIG9yZy5oYW1jcmVzdC5j b3JlLklzLmlzOw0KK2ltcG9ydCBzdGF0aWMgb3JnLmp1bml0LkFzc2VydC5hc3NlcnRUaGF0Ow0K Kw0KK2ltcG9ydCBvcmcuYXBhY2hlLmVtcGlyZS5kYi5EQkNvbHVtbjsNCitpbXBvcnQgb3JnLmFw YWNoZS5lbXBpcmUuZGIuREJEYXRhYmFzZTsNCitpbXBvcnQgb3JnLmFwYWNoZS5lbXBpcmUuZGIu REJUYWJsZTsNCitpbXBvcnQgb3JnLmp1bml0LkJlZm9yZTsNCitpbXBvcnQgb3JnLmp1bml0LlRl c3Q7DQorDQorDQorcHVibGljIGNsYXNzIENvZGVHZW5QYXJzZXJUZXN0IHsNCisgICAgcHJpdmF0 ZSBDb2RlR2VuUGFyc2VyIHBhcnNlcjsNCisgICAgcHJpdmF0ZSBEQkRhdGFiYXNlIGRiOw0KKw0K KyAgICBAQmVmb3JlDQorICAgIHB1YmxpYyB2b2lkIGxvYWREYk1vZGVsKCkgew0KKyAgICAgICAg ZmluYWwgQ29kZUdlbkNvbmZpZyBjb25maWcgPSBuZXcgQ29kZUdlbkNvbmZpZygpOw0KKyAgICAg ICAgY29uZmlnLnNldEpkYmNDbGFzcygib3JnLmhzcWxkYi5qZGJjRHJpdmVyIik7DQorICAgICAg ICBjb25maWcuc2V0SmRiY1VSTCgiamRiYzpoc3FsZGI6ZmlsZTpzcmMvdGVzdC9yZXNvdXJjZXMv aHNxbGRiL3NhbXBsZTtzaHV0ZG93bj10cnVlIik7DQorICAgICAgICBjb25maWcuc2V0SmRiY1Vz ZXIoInNhIik7DQorICAgICAgICBjb25maWcuc2V0SmRiY1B3ZCgiIik7DQorICAgICAgICBjb25m aWcuc2V0RGJTY2hlbWEoIlBVQkxJQyIpOw0KKw0KKyAgICAgICAgcGFyc2VyID0gbmV3IENvZGVH ZW5QYXJzZXIoY29uZmlnKTsNCisgICAgICAgIGRiID0gcGFyc2VyLmxvYWREYk1vZGVsKCk7DQor ICAgIH0NCisNCisgICAgQFRlc3QNCisgICAgcHVibGljIHZvaWQgc2hvdWxkU2l6ZURlY2ltYWxD b2x1bW4oKSB7DQorICAgICAgICBmaW5hbCBEQlRhYmxlIGVtcGxveWVlcyA9IGRiLmdldFRhYmxl KCJFTVBMT1lFRVMiKTsNCisgICAgICAgIGZpbmFsIERCQ29sdW1uIHNhbGFyeSA9IGVtcGxveWVl cy5nZXRDb2x1bW4oIlNBTEFSWSIpOw0KKw0KKyAgICAgICAgYXNzZXJ0VGhhdChzYWxhcnkuZ2V0 RGF0YVR5cGUoKSwgaXMoREVDSU1BTCkpOw0KKyAgICAgICAgYXNzZXJ0VGhhdChzYWxhcnkuZ2V0 U2l6ZSgpLCBpcygxMC4yKSk7DQorICAgIH0NCit9DQpJbmRleDogc3JjL21haW4vamF2YS9vcmcv YXBhY2hlL2VtcGlyZS9kYi9jb2RlZ2VuL0NvZGVHZW5QYXJzZXIuamF2YQ0KPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K LS0tIHNyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9lbXBpcmUvZGIvY29kZWdlbi9Db2RlR2VuUGFy c2VyLmphdmEJKHJldmlzaW9uIDExNjQ1MjIpDQorKysgc3JjL21haW4vamF2YS9vcmcvYXBhY2hl L2VtcGlyZS9kYi9jb2RlZ2VuL0NvZGVHZW5QYXJzZXIuamF2YQkod29ya2luZyBjb3B5KQ0KQEAg LTI2NCw2ICsyNjQsNyBAQA0KIAkJU3RyaW5nIG5hbWUgPSBycy5nZXRTdHJpbmcoIkNPTFVNTl9O QU1FIik7DQogCQlEYXRhVHlwZSBlbXBpcmVUeXBlID0gZ2V0RW1waXJlRGF0YVR5cGUocnMuZ2V0 SW50KCJEQVRBX1RZUEUiKSk7DQogCQlpbnQgY29sU2l6ZSA9IHJzLmdldEludCgiQ09MVU1OX1NJ WkUiKTsNCisJCWludCBkZWNpbWFsRGlnaXRzID0gcnMuZ2V0SW50KCJERUNJTUFMX0RJR0lUUyIp Ow0KIAkJYm9vbGVhbiByZXF1aXJlZCA9IGZhbHNlOw0KIAkJU3RyaW5nIGRlZmF1bHRWYWx1ZSA9 IHJzLmdldFN0cmluZygiQ09MVU1OX0RFRiIpOw0KIAkJaWYgKHJzLmdldFN0cmluZygiSVNfTlVM TEFCTEUiKS5lcXVhbHNJZ25vcmVDYXNlKCJOTyIpKQ0KQEAgLTI5NCwxMyArMjk1LDE0IEBADQog CQkJCQ0KIAkJCX0NCiAJCX0NCi0JCQ0KKw0KIAkJLy8gTW92ZSBmcm9tIHRoZSByZXR1cm4gc3Rh dGVtZW50IGJlbG93IHNvIHdlIGNhbiBhZGQNCiAJCS8vIHNvbWUgQVVUT0lOQyBtZXRhIGRhdGEg dG8gdGhlIGNvbHVtbiB0byBiZSB1c2VkIGJ5DQogCQkvLyB0aGUgUGFyc2VyVXRpbCBhbmQgdWx0 aW1hdGVseSB0aGUgdGVtcGxhdGUuDQogCQlsb2cuaW5mbygiXHRDT0xVTU46XHQiICsgbmFtZSAr ICIgKCIrZW1waXJlVHlwZSsiKSIpOw0KLQkJREJUYWJsZUNvbHVtbiBjb2wgPSB0LmFkZENvbHVt bihuYW1lLCBlbXBpcmVUeXBlLCBjb2xTaXplLCByZXF1aXJlZCwgZGVmYXVsdFZhbHVlKTsNCi0J CQ0KKwkJZmluYWwgZG91YmxlIHNpemUgPSBjb2xTaXplICsgKGRlY2ltYWxEaWdpdHMgLyAxMC4w KTsNCisJCURCVGFibGVDb2x1bW4gY29sID0gdC5hZGRDb2x1bW4obmFtZSwgZW1waXJlVHlwZSwg c2l6ZSwgcmVxdWlyZWQsIGRlZmF1bHRWYWx1ZSk7DQorDQogCQkvLyBXZSBzdGlsbCBuZWVkIHRv IGtub3cgdGhlIGJhc2UgZGF0YSB0eXBlIGZvciB0aGlzIEFVVE9JTkMNCiAJCS8vIGJlY2F1c2Ug dGhlIFJlY29yZCBnL3NldHRlcnMgbmVlZCB0byBrbm93IHRoaXMsIHJpZ2h0Pw0KIAkJLy8gU28s IGxldCdzIGFkZCBpdCBhcyBtZXRhIGRhdGEgZXZlcnkgdGltZSB0aGUgY29sdW1uIGlzIEFVVE9J TkMNCg== --20cf307f3b0a90c7e604abf66792--