Return-Path: X-Original-To: apmail-phoenix-dev-archive@minotaur.apache.org Delivered-To: apmail-phoenix-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 E066E18FC8 for ; Fri, 8 Apr 2016 09:20:30 +0000 (UTC) Received: (qmail 90127 invoked by uid 500); 8 Apr 2016 09:20:30 -0000 Delivered-To: apmail-phoenix-dev-archive@phoenix.apache.org Received: (qmail 90072 invoked by uid 500); 8 Apr 2016 09:20:30 -0000 Mailing-List: contact dev-help@phoenix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@phoenix.apache.org Delivered-To: mailing list dev@phoenix.apache.org Received: (qmail 90061 invoked by uid 99); 8 Apr 2016 09:20:30 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 08 Apr 2016 09:20:30 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 3A5F1180479 for ; Fri, 8 Apr 2016 09:20:30 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -4.021 X-Spam-Level: X-Spam-Status: No, score=-4.021 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id tv1kF-uANIfw for ; Fri, 8 Apr 2016 09:20:27 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id ADD4E5FAF2 for ; Fri, 8 Apr 2016 09:20:26 +0000 (UTC) Received: (qmail 89554 invoked by uid 99); 8 Apr 2016 09:20:25 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 08 Apr 2016 09:20:25 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id A3C502C14F6 for ; Fri, 8 Apr 2016 09:20:25 +0000 (UTC) Date: Fri, 8 Apr 2016 09:20:25 +0000 (UTC) From: "Hadoop QA (JIRA)" To: dev@phoenix.incubator.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (PHOENIX-2722) support mysql "limit,offset" clauses MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/PHOENIX-2722?page=3Dcom.atlassi= an.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D15= 231911#comment-15231911 ]=20 Hadoop QA commented on PHOENIX-2722: ------------------------------------ {color:red}-1 overall{color}. Here are the results of testing the latest a= ttachment=20 http://issues.apache.org/jira/secure/attachment/12797577/PHOENIX-2722_v1_= rebased.patch against master branch at commit 91800b703d9879574ac5b3ee6fcfe6dd73af2148. ATTACHMENT ID: 12797577 {color:green}+1 @author{color}. The patch does not contain any @author= tags. {color:green}+1 tests included{color}. The patch appears to include 11= new or modified tests. {color:green}+1 javac{color}. The applied patch does not increase the = total number of javac compiler warnings. {color:red}-1 javadoc{color}. The javadoc tool appears to have generat= ed 24 warning messages. {color:green}+1 release audit{color}. The applied patch does not incre= ase the total number of release audit warnings. {color:red}-1 lineLengths{color}. The patch introduces the following l= ines longer than 100: + query =3D "SELECT t.eid, t.x + 9 FROM (SELECT entity_id ei= d, b_string b, a_byte + 1 x FROM aTable LIMIT 1 OFFSET 1 ) AS t WHERE t.b = =3D '" + query =3D "SELECT t.eid, t.x + 9 FROM (SELECT entity_id eid, b= _string b, a_byte + 1 x FROM aTable WHERE a_byte + 1 < 9 ) AS t OFFSET 2"; + query =3D "SELECT t.eid, t.x + 9 FROM (SELECT entity_id eid, b= _string b, a_byte + 1 x FROM aTable OFFSET 4) AS t WHERE t.b =3D '" + query =3D "SELECT t.c, count(*) FROM (SELECT count(*) c FROM a= Table GROUP BY a_string) AS t GROUP BY t.c ORDER BY count(*) DESC OFFSET 1"= ; + String query =3D "SELECT t.eid FROM (SELECT entity_id eid FROM= aTable LIMIT 2 OFFSET 1) AS t"; + query =3D "SELECT t.eid FROM (SELECT entity_id eid FROM aTable= LIMIT 2 OFFSET 1) AS t LIMIT 4 OFFSET 1"; + query =3D "SELECT t.eid FROM (SELECT entity_id eid FROM aTable= LIMIT 4 OFFSET 1) AS t LIMIT 2"; + query =3D "SELECT t.eid FROM (SELECT entity_id eid FROM aTable= LIMIT ? OFFSET ?) AS t LIMIT ? OFFSET ?"; + query =3D "SELECT a, s FROM (SELECT a_string a, sum(a_byte) s = FROM aTable GROUP BY a_string ORDER BY sum(a_byte) OFFSET 1)"; + query =3D "SELECT a_string, count(*) FROM (SELECT a_string FRO= M aTable where a_byte < 4 union all SELECT a_string FROM aTable where a_byt= e > 8 OFFSET 1) group by a_string"; {color:red}-1 core tests{color}. The patch failed these unit tests: ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.hbase.i= ndex.covered.example.EndToEndCoveredIndexingIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Dele= teIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.inde= x.MutableIndexIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Coun= tDistinctCompressionIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Arit= hmeticQueryIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Vari= ableLengthPKIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Quer= yTimeoutIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Spil= lableGroupByIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.User= DefinedFunctionsIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.inde= x.IndexMetadataIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Conn= ectionUtilIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Mapp= ingTableDataTypeIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Clie= ntTimeArithmeticQueryIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Mult= iCfQueryExecIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Alte= rTableIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.CsvB= ulkLoadToolIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Nati= veHBaseTypesIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.inde= x.MutableIndexFailureIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Read= OnlyIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Unio= nAllIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.inde= x.ImmutableIndexWithStatsIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Quer= yIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Quer= yWithLimitIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Para= llelIteratorsIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Tena= ntSpecificTablesDMLIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.inde= x.txn.TxWriteFailureIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Arra= yAppendFunctionIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.NotQ= ueryIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Cont= extClassloaderIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.hbase.index.= covered.example.EndtoEndIndexingWithCompressionIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Poin= tInTimeQueryIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Stat= sCollectionDisabledIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Arra= yIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.tx.TxCheckpo= intIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.monitoring.P= hoenixMetricsIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Muta= bleIndexToolIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Tran= sactionalViewIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Salt= edViewIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Upse= rtValuesIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Cast= AndCoerceIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.KeyO= nlyIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.iterate.Scan= nerLeaseRenewalIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.inde= x.IndexExpressionIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.inde= x.txn.MutableRollbackIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Alte= rSessionIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Alte= rTableWithViewsIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Stat= sCollectorIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.execute.Part= ialCommitIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.inde= x.IndexIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.rpc.PhoenixC= lientRpcIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.View= IT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Colu= mnProjectionOptimizationIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.inde= x.txn.RollbackIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Case= StatementIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Stat= sCollectorWithSplitsAndMultiCFIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Grou= pByIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.iterate.Roun= dRobinResultIteratorWithStatsIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.inde= x.ReadOnlyIndexFailureIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.rpc.PhoenixS= erverRpcIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Crea= teTableIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.coprocessor.= StatisticsCollectionRunTrackerIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Exec= uteStatementsIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.tx.Transacti= onIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Tena= ntSpecificTablesDDLIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Quer= yDatabaseMetaDataIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Quer= yWithOffsetIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Inde= xToolIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.inde= x.LocalIndexIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.inde= x.ImmutableIndexIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Scan= QueryIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.inde= x.DropViewIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.AbsF= unctionEnd2EndIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.inde= x.MutableIndexReplicationIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.Aggr= egateQueryIT Test results: https://builds.apache.org/job/PreCommit-PHOENIX-Build/297//te= stReport/ Javadoc warnings: https://builds.apache.org/job/PreCommit-PHOENIX-Build/297= //artifact/patchprocess/patchJavadocWarnings.txt Console output: https://builds.apache.org/job/PreCommit-PHOENIX-Build/297//= console This message is automatically generated. > support mysql "limit,offset" clauses=20 > ------------------------------------- > > Key: PHOENIX-2722 > URL: https://issues.apache.org/jira/browse/PHOENIX-2722 > Project: Phoenix > Issue Type: New Feature > Reporter: Ankit Singhal > Assignee: Ankit Singhal > Priority: Minor > Fix For: 4.8.0 > > Attachments: PHOENIX-2722.patch, PHOENIX-2722_formatted.patch, PH= OENIX-2722_v1_rebased.patch > > > For serial query(query with =E2=80=9Cserial" hint or =E2=80=9Climit" wit= hout "order by=E2=80=9D), we can limit each scan(using page filter) to =E2= =80=9Climit+offset=E2=80=9D instead of limit earlier. > And then, for all queries, we can forward the relevant client iterators t= o the offset provided and then return the result. > syntax > {code} > [ LIMIT { count } ] > [ OFFSET start [ ROW | ROWS ] ] > [ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY ] > {code} > Some new keywords(OFFSET,FETCH,ROW, ROWS,ONLY) are getting introduced so = users might need to see that they are not using them as column name or some= thing. > WDYT, [~jamestaylor] -- This message was sent by Atlassian JIRA (v6.3.4#6332)