mirror of https://github.com/apache/cassandra
Allow cassandra to compile under java 8
patch by dbrosius reviewed by jmckenzie for cassandra-7028
This commit is contained in:
parent
ca224b3239
commit
2279d49e96
|
|
@ -1,4 +1,5 @@
|
|||
2.1.1
|
||||
* Allow compilation in java 8 (CASSANDRA-7208)
|
||||
* Fix Assertion error on RangeTombstoneList diff (CASSANDRA-8013)
|
||||
* Release references to overlapping sstables during compaction (CASSANDRA-7819)
|
||||
* Send notification when opening compaction results early (CASSANDRA-8034)
|
||||
|
|
|
|||
13
build.xml
13
build.xml
|
|
@ -194,7 +194,7 @@
|
|||
<target name="gen-cli-grammar" depends="check-gen-cli-grammar" unless="cliUpToDate">
|
||||
<echo>Building Grammar ${build.src.java}/org/apache/cassandra/cli/Cli.g ....</echo>
|
||||
<java classname="org.antlr.Tool"
|
||||
classpath="${build.lib}/antlr-3.2.jar"
|
||||
classpath="${build.dir.lib}/jars/antlr-3.5.2.jar;${build.lib}/antlr-runtime-3.5.2.jar;${build.lib}/stringtemplate-4.0.2.jar"
|
||||
fork="true"
|
||||
failonerror="true">
|
||||
<jvmarg value="-Xmx512M" />
|
||||
|
|
@ -221,7 +221,7 @@
|
|||
<target name="gen-cql2-grammar" depends="check-gen-cql2-grammar" unless="cql2current">
|
||||
<echo>Building Grammar ${build.src.java}/org/apache/cassandra/cql/Cql.g ...</echo>
|
||||
<java classname="org.antlr.Tool"
|
||||
classpath="${build.lib}/antlr-3.2.jar"
|
||||
classpath="${build.dir.lib}/jars/antlr-3.5.2.jar;${build.lib}/antlr-runtime-3.5.2.jar;${build.lib}/stringtemplate-4.0.2.jar"
|
||||
fork="true"
|
||||
failonerror="true">
|
||||
<jvmarg value="-Xmx512M" />
|
||||
|
|
@ -233,7 +233,7 @@
|
|||
<target name="gen-cql3-grammar" depends="check-gen-cql3-grammar" unless="cql3current">
|
||||
<echo>Building Grammar ${build.src.java}/org/apache/cassandra/cql3/Cql.g ...</echo>
|
||||
<java classname="org.antlr.Tool"
|
||||
classpath="${build.lib}/antlr-3.2.jar"
|
||||
classpath="${build.dir.lib}/jars/antlr-3.5.2.jar;${build.lib}/antlr-runtime-3.5.2.jar;${build.lib}/stringtemplate-4.0.2.jar"
|
||||
fork="true"
|
||||
failonerror="true">
|
||||
<jvmarg value="-Xmx512M" />
|
||||
|
|
@ -356,7 +356,9 @@
|
|||
<dependency groupId="org.apache.commons" artifactId="commons-lang3" version="3.1"/>
|
||||
<dependency groupId="org.apache.commons" artifactId="commons-math3" version="3.2"/>
|
||||
<dependency groupId="com.googlecode.concurrentlinkedhashmap" artifactId="concurrentlinkedhashmap-lru" version="1.3"/>
|
||||
<dependency groupId="org.antlr" artifactId="antlr" version="3.2"/>
|
||||
<dependency groupId="org.antlr" artifactId="antlr" version="3.5.2"/>
|
||||
<dependency groupId="org.antlr" artifactId="antlr-runtime" version="3.5.2"/>
|
||||
<dependency groupId="org.antlr" artifactId="stringtemplate" version="4.0.2"/>
|
||||
<dependency groupId="org.slf4j" artifactId="slf4j-api" version="1.7.2"/>
|
||||
<dependency groupId="ch.qos.logback" artifactId="logback-core" version="1.1.2"/>
|
||||
<dependency groupId="ch.qos.logback" artifactId="logback-classic" version="1.1.2"/>
|
||||
|
|
@ -443,6 +445,7 @@
|
|||
<dependency groupId="org.apache.hadoop" artifactId="hadoop-minicluster"/>
|
||||
<dependency groupId="org.apache.pig" artifactId="pig"/>
|
||||
<dependency groupId="com.google.code.findbugs" artifactId="jsr305"/>
|
||||
<dependency groupId="org.antlr" artifactId="antlr"/>
|
||||
<dependency groupId="com.datastax.cassandra" artifactId="cassandra-driver-core"/>
|
||||
<dependency groupId="net.ju-n.compile-command-annotations" artifactId="compile-command-annotations"/>
|
||||
</artifact:pom>
|
||||
|
|
@ -485,6 +488,8 @@
|
|||
<dependency groupId="org.apache.commons" artifactId="commons-math3"/>
|
||||
<dependency groupId="com.googlecode.concurrentlinkedhashmap" artifactId="concurrentlinkedhashmap-lru"/>
|
||||
<dependency groupId="org.antlr" artifactId="antlr"/>
|
||||
<dependency groupId="org.antlr" artifactId="antlr-runtime"/>
|
||||
<dependency groupId="org.antlr" artifactId="stringtemplate" version="4.0.2"/>
|
||||
<dependency groupId="org.slf4j" artifactId="slf4j-api"/>
|
||||
<dependency groupId="org.codehaus.jackson" artifactId="jackson-core-asl"/>
|
||||
<dependency groupId="org.codehaus.jackson" artifactId="jackson-mapper-asl"/>
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,27 @@
|
|||
|
||||
Copyright (c) 2003-2006 Terence Parr
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. The name of the author may not be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Binary file not shown.
|
|
@ -86,7 +86,7 @@ options {
|
|||
public Token nextToken() {
|
||||
super.nextToken();
|
||||
if (tokens.size() == 0)
|
||||
return Token.EOF_TOKEN;
|
||||
return new CommonToken(Token.EOF);
|
||||
return tokens.remove(0);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -184,7 +184,7 @@ options {
|
|||
{
|
||||
super.nextToken();
|
||||
if (tokens.size() == 0)
|
||||
return Token.EOF_TOKEN;
|
||||
return new CommonToken(Token.EOF);
|
||||
return tokens.remove(0);
|
||||
}
|
||||
|
||||
|
|
@ -936,7 +936,16 @@ term returns [Term.Raw term]
|
|||
;
|
||||
|
||||
columnOperation[List<Pair<ColumnIdentifier, Operation.RawUpdate>> operations]
|
||||
: key=cident '=' t=term ('+' c=cident )?
|
||||
: key=cident columnOperationDifferentiator[operations, key]
|
||||
;
|
||||
|
||||
columnOperationDifferentiator[List<Pair<ColumnIdentifier, Operation.RawUpdate>> operations, ColumnIdentifier key]
|
||||
: '=' normalColumnOperation[operations, key]
|
||||
| '[' k=term ']' specializedColumnOperation[operations, key, k]
|
||||
;
|
||||
|
||||
normalColumnOperation[List<Pair<ColumnIdentifier, Operation.RawUpdate>> operations, ColumnIdentifier key]
|
||||
: t=term ('+' c=cident )?
|
||||
{
|
||||
if (c == null)
|
||||
{
|
||||
|
|
@ -949,13 +958,13 @@ columnOperation[List<Pair<ColumnIdentifier, Operation.RawUpdate>> operations]
|
|||
addRawUpdate(operations, key, new Operation.Prepend(t));
|
||||
}
|
||||
}
|
||||
| key=cident '=' c=cident sig=('+' | '-') t=term
|
||||
| c=cident sig=('+' | '-') t=term
|
||||
{
|
||||
if (!key.equals(c))
|
||||
addRecognitionError("Only expressions of the form X = X " + $sig.text + "<value> are supported.");
|
||||
addRawUpdate(operations, key, $sig.text.equals("+") ? new Operation.Addition(t) : new Operation.Substraction(t));
|
||||
}
|
||||
| key=cident '=' c=cident i=INTEGER
|
||||
| c=cident i=INTEGER
|
||||
{
|
||||
// Note that this production *is* necessary because X = X - 3 will in fact be lexed as [ X, '=', X, INTEGER].
|
||||
if (!key.equals(c))
|
||||
|
|
@ -963,7 +972,10 @@ columnOperation[List<Pair<ColumnIdentifier, Operation.RawUpdate>> operations]
|
|||
addRecognitionError("Only expressions of the form X = X " + ($i.text.charAt(0) == '-' ? '-' : '+') + " <value> are supported.");
|
||||
addRawUpdate(operations, key, new Operation.Addition(Constants.Literal.integer($i.text)));
|
||||
}
|
||||
| key=cident '[' k=term ']' '=' t=term
|
||||
;
|
||||
|
||||
specializedColumnOperation[List<Pair<ColumnIdentifier, Operation.RawUpdate>> operations, ColumnIdentifier key, Term.Raw k]
|
||||
: '=' t=term
|
||||
{
|
||||
addRawUpdate(operations, key, new Operation.SetElement(k, t));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,8 +46,9 @@ public class CqlParserTest
|
|||
|
||||
parser.query();
|
||||
|
||||
assertEquals(1, firstCounter.count);
|
||||
assertEquals(1, secondCounter.count);
|
||||
// ANTLR 3.5 reports 2 errors in the sentence above (missing FROM and missing EOF).
|
||||
assertTrue(firstCounter.count > 0);
|
||||
assertTrue(secondCounter.count > 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -67,7 +68,7 @@ public class CqlParserTest
|
|||
|
||||
parser.query();
|
||||
|
||||
assertEquals(1, firstCounter.count);
|
||||
assertTrue(firstCounter.count > 0);
|
||||
assertEquals(0, secondCounter.count);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue