Skip to content

Commit 2468b4e

Browse files
committed
Exercise 1 test passes. TODO: better the gotLock() method. Exercises 3-5.
0 parents  commit 2468b4e

File tree

260 files changed

+15029
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

260 files changed

+15029
-0
lines changed

.classpath

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<classpath>
3+
<classpathentry kind="src" output="bin/src" path="src/java"/>
4+
<classpathentry kind="src" output="bin/test" path="test"/>
5+
<classpathentry kind="lib" path="lib/jline-0.9.94.jar"/>
6+
<classpathentry kind="lib" path="lib/junit-4.5.jar"/>
7+
<classpathentry kind="lib" path="lib/zql.jar"/>
8+
<classpathentry kind="lib" path="lib/mina-core-2.0.4.jar"/>
9+
<classpathentry kind="lib" path="lib/mina-filter-compression-2.0.4.jar"/>
10+
<classpathentry kind="lib" path="lib/jzlib-1.0.7.jar"/>
11+
<classpathentry kind="lib" path="lib/slf4j-api-1.6.1.jar"/>
12+
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
13+
<classpathentry kind="output" path="bin/src"/>
14+
</classpath>

.goutputstream-XYF15W

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ant runtest -Dtest=JoinOptimizerTest

.project

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>simpledb</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.jdt.core.javabuilder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
</buildSpec>
14+
<natures>
15+
<nature>org.eclipse.jdt.core.javanature</nature>
16+
</natures>
17+
</projectDescription>

0.001/Actor.dat

1.13 MB
Binary file not shown.

0.001/Casts.dat

416 KB
Binary file not shown.

0.001/Director.dat

76 KB
Binary file not shown.

0.001/Genre.dat

60 KB
Binary file not shown.

0.001/Movie.dat

36 KB
Binary file not shown.

0.001/Movie_Director.dat

4 KB
Binary file not shown.

0.001/imdb.schema

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Actor(id int pk, fname string, lname string, gender string)
2+
Movie(id int pk, name string, year int)
3+
Director(id int pk, fname string, lname string)
4+
Casts(pid int, mid int, role string)
5+
Movie_Director(did int, mid int)
6+
Genre(mid int, genre string)

README

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2

README.md

+27

VERSION

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1.1.0

bin/src/simpledb/Aggregate.class

4.31 KB
Binary file not shown.

bin/src/simpledb/Aggregator$Op.class

1.83 KB
Binary file not shown.

bin/src/simpledb/Aggregator.class

354 Bytes
Binary file not shown.

bin/src/simpledb/BufferPool.class

5.65 KB
Binary file not shown.

bin/src/simpledb/Catalog$Table.class

659 Bytes
Binary file not shown.

bin/src/simpledb/Catalog.class

5.95 KB
Binary file not shown.

bin/src/simpledb/CostCard.class

410 Bytes
Binary file not shown.

bin/src/simpledb/Database.class

1.49 KB
Binary file not shown.

bin/src/simpledb/DbException.class

401 Bytes
Binary file not shown.

bin/src/simpledb/DbFile.class

785 Bytes
Binary file not shown.

bin/src/simpledb/DbFileIterator.class

429 Bytes
Binary file not shown.

bin/src/simpledb/DbIterator.class

469 Bytes
Binary file not shown.

bin/src/simpledb/Debug.class

1.39 KB
Binary file not shown.

bin/src/simpledb/Delete.class

2.36 KB
Binary file not shown.

bin/src/simpledb/Field.class

524 Bytes
Binary file not shown.

bin/src/simpledb/Filter.class

1.78 KB
Binary file not shown.

bin/src/simpledb/HashEquiJoin.class

4.14 KB
Binary file not shown.

bin/src/simpledb/HeapFile$1.class

3.27 KB
Binary file not shown.

bin/src/simpledb/HeapFile.class

4.11 KB
Binary file not shown.
5.58 KB
Binary file not shown.
1.19 KB
Binary file not shown.

bin/src/simpledb/HeapPage.class

6.97 KB
Binary file not shown.

bin/src/simpledb/HeapPageId.class

1.27 KB
Binary file not shown.

bin/src/simpledb/Insert.class

2.49 KB
Binary file not shown.

bin/src/simpledb/IntField.class

2.38 KB
Binary file not shown.

bin/src/simpledb/IntHistogram.class

3.24 KB
Binary file not shown.
4.23 KB
Binary file not shown.

bin/src/simpledb/Join.class

3.68 KB
Binary file not shown.

bin/src/simpledb/JoinOptimizer.class

15.3 KB
Binary file not shown.

bin/src/simpledb/JoinPredicate.class

1.42 KB
Binary file not shown.

bin/src/simpledb/LogFile.class

10.3 KB
Binary file not shown.
1.25 KB
Binary file not shown.
2.37 KB
Binary file not shown.

bin/src/simpledb/LogicalPlan.class

16.3 KB
Binary file not shown.
449 Bytes
Binary file not shown.
463 Bytes
Binary file not shown.
1.94 KB
Binary file not shown.

bin/src/simpledb/Operator.class

1.6 KB
Binary file not shown.
7.54 KB
Binary file not shown.

bin/src/simpledb/OrderBy.class

2.64 KB
Binary file not shown.
1.2 KB
Binary file not shown.

bin/src/simpledb/PLock.class

8.19 KB
Binary file not shown.

bin/src/simpledb/Page.class

339 Bytes
Binary file not shown.

bin/src/simpledb/PageId.class

237 Bytes
Binary file not shown.

bin/src/simpledb/Parser.class

21.3 KB
Binary file not shown.
589 Bytes
Binary file not shown.

bin/src/simpledb/Permissions.class

670 Bytes
Binary file not shown.

bin/src/simpledb/PlanCache.class

2.21 KB
Binary file not shown.

bin/src/simpledb/Predicate$Op.class

2.01 KB
Binary file not shown.

bin/src/simpledb/Predicate.class

1.62 KB
Binary file not shown.

bin/src/simpledb/Project.class

3.21 KB
Binary file not shown.

bin/src/simpledb/Query.class

3.25 KB
Binary file not shown.
Binary file not shown.
11.4 KB
Binary file not shown.

bin/src/simpledb/RecordId.class

1.33 KB
Binary file not shown.

bin/src/simpledb/SeqScan.class

3.06 KB
Binary file not shown.

bin/src/simpledb/SimpleDb.class

4.46 KB
Binary file not shown.
3.58 KB
Binary file not shown.

bin/src/simpledb/StringField.class

2.85 KB
Binary file not shown.
1.63 KB
Binary file not shown.

bin/src/simpledb/TableStats.class

6.62 KB
Binary file not shown.

bin/src/simpledb/Transaction.class

1.53 KB
Binary file not shown.
395 Bytes
Binary file not shown.

bin/src/simpledb/TransactionId.class

970 Bytes
Binary file not shown.

bin/src/simpledb/Tuple.class

2.52 KB
Binary file not shown.
1.59 KB
Binary file not shown.
1.21 KB
Binary file not shown.
1.02 KB
Binary file not shown.

bin/src/simpledb/TupleDesc.class

3.9 KB
Binary file not shown.

bin/src/simpledb/TupleIterator.class

1.85 KB
Binary file not shown.

bin/src/simpledb/Type$1.class

911 Bytes
Binary file not shown.

bin/src/simpledb/Type$2.class

1.06 KB
Binary file not shown.

bin/src/simpledb/Type.class

1.32 KB
Binary file not shown.

bin/src/simpledb/Utility.class

5.21 KB
Binary file not shown.

bin/test/simpledb/AggregateTest.class

4.23 KB
Binary file not shown.

bin/test/simpledb/CatalogTest.class

3.87 KB
Binary file not shown.

bin/test/simpledb/DeadlockTest.class

5.24 KB
Binary file not shown.

bin/test/simpledb/FilterTest.class

3.34 KB
Binary file not shown.
3.42 KB
Binary file not shown.
1.73 KB
Binary file not shown.
1.66 KB
Binary file not shown.
5 KB
Binary file not shown.
4.26 KB
Binary file not shown.

bin/test/simpledb/InsertTest.class

2.03 KB
Binary file not shown.
3.1 KB
Binary file not shown.
3.83 KB
Binary file not shown.
13.2 KB
Binary file not shown.
1.94 KB
Binary file not shown.

bin/test/simpledb/JoinTest.class

3.41 KB
Binary file not shown.

bin/test/simpledb/LockingTest.class

4.73 KB
Binary file not shown.

bin/test/simpledb/PredicateTest.class

1.89 KB
Binary file not shown.

bin/test/simpledb/RecordIdTest.class

1.71 KB
Binary file not shown.
2.8 KB
Binary file not shown.
4.54 KB
Binary file not shown.
1.18 KB
Binary file not shown.
1.86 KB
Binary file not shown.
1.75 KB
Binary file not shown.
Binary file not shown.

bin/test/simpledb/TestUtil.class

5.22 KB
Binary file not shown.
3.81 KB
Binary file not shown.

bin/test/simpledb/TupleDescTest.class

6.97 KB
Binary file not shown.
1.34 KB
Binary file not shown.

bin/test/simpledb/TupleTest.class

3.99 KB
Binary file not shown.
Binary file not shown.
6.45 KB
Binary file not shown.
2.88 KB
Binary file not shown.
3.95 KB
Binary file not shown.
3.66 KB
Binary file not shown.
1.45 KB
Binary file not shown.
Binary file not shown.
3.54 KB
Binary file not shown.
4.06 KB
Binary file not shown.
2.92 KB
Binary file not shown.
Binary file not shown.
4.03 KB
Binary file not shown.
535 Bytes
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
4 KB
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
1,1,1
2+
2,2,2
3+
3,4,4
Binary file not shown.

bin/test/simpledb/systemtest/data/emptyFile.txt

Whitespace-only changes.

build.xml

+241
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,241 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project name="simpledb" default="dist">
3+
<property name="src" location="src"/>
4+
<property name="testd" location="test"/>
5+
6+
<property name="build" location="bin"/>
7+
<property name="build.src" location="${build}/src"/>
8+
<property name="build.test" location="${build}/test"/>
9+
<property name="depcache" location="${build}/depcache"/>
10+
11+
<property name="lib" location="lib"/>
12+
<property name="doc" location="javadoc"/>
13+
<property name="dist" location="dist"/>
14+
<property name="jarfile" location="${dist}/${ant.project.name}.jar"/>
15+
<property name="compile.debug" value="true"/>
16+
<property name="test.reports" location="testreport"/>
17+
18+
<property name="sourceversion" value="1.5"/>
19+
20+
<path id="classpath.base">
21+
<pathelement location="${build.src}"/>
22+
<pathelement location="${lib}/zql.jar"/>
23+
<pathelement location="${lib}/jline-0.9.94.jar"/>
24+
<pathelement location="${lib}/mina-core-2.0.4.jar"/>
25+
<pathelement location="${lib}/mina-filter-compression-2.0.4.jar"/>
26+
<pathelement location="${lib}/slf4j-api-1.6.1.jar"/>
27+
</path>
28+
29+
<path id="classpath.test">
30+
<path refid="classpath.base"/>
31+
<pathelement location="${build.test}"/>
32+
<pathelement location="${lib}/junit-4.5.jar"/>
33+
</path>
34+
35+
<!-- Common macro for compiling Java source -->
36+
<macrodef name="Compile">
37+
<attribute name="srcdir"/>
38+
<attribute name="destdir"/>
39+
<element name="compileoptions" implicit="true" optional="true"/>
40+
<sequential>
41+
<mkdir dir="@{destdir}"/>
42+
<!-- avoids needing ant clean when changing interfaces -->
43+
<depend srcdir="${srcdir}" destdir="${destdir}" cache="${depcache}"/>
44+
<javac srcdir="@{srcdir}" destdir="@{destdir}" includeAntRuntime="no"
45+
debug="${compile.debug}" source="${sourceversion}">
46+
<compilerarg value="-Xlint:unchecked" />
47+
<!--<compilerarg value="-Xlint:deprecation" />-->
48+
<compileoptions/>
49+
</javac>
50+
</sequential>
51+
</macrodef>
52+
53+
<!-- Common macro for running junit tests in both the test and runtest targets -->
54+
<macrodef name="RunJunit">
55+
<attribute name="haltonfailure" default="yes" />
56+
<element name="testspecification" implicit="yes" />
57+
<sequential>
58+
<!-- timeout at 10.5 minutes, since TransactionTest is limited to 10 minutes. -->
59+
<junit printsummary="on" fork="yes" timeout="630000" haltonfailure="@{haltonfailure}" maxmemory="128M" failureproperty="junit.failed">
60+
<classpath refid="classpath.test" />
61+
<formatter type="plain" usefile="false"/>
62+
<assertions><enable/></assertions>
63+
<testspecification/>
64+
</junit>
65+
</sequential>
66+
</macrodef>
67+
<target name="eclipse" description="Make current directory an eclipse
68+
project">
69+
<echo file=".project" append="false">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
70+
&lt;projectDescription&gt;
71+
&lt;name&gt;simpledb&lt;/name&gt;
72+
&lt;comment&gt;&lt;/comment&gt;
73+
&lt;projects&gt;
74+
&lt;/projects&gt;
75+
&lt;buildSpec&gt;
76+
&lt;buildCommand&gt;
77+
&lt;name&gt;org.eclipse.jdt.core.javabuilder&lt;/name&gt;
78+
&lt;arguments&gt;
79+
&lt;/arguments&gt;
80+
&lt;/buildCommand&gt;
81+
&lt;/buildSpec&gt;
82+
&lt;natures&gt;
83+
&lt;nature&gt;org.eclipse.jdt.core.javanature&lt;/nature&gt;
84+
&lt;/natures&gt;
85+
&lt;/projectDescription&gt;</echo>
86+
<echo file=".classpath" append="false">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
87+
&lt;classpath&gt;
88+
&lt;classpathentry kind=&quot;src&quot; output=&quot;bin/src&quot; path=&quot;src/java&quot;/&gt;
89+
&lt;classpathentry kind=&quot;src&quot; output=&quot;bin/test&quot; path=&quot;test&quot;/&gt;
90+
&lt;classpathentry kind=&quot;lib&quot; path=&quot;lib/jline-0.9.94.jar&quot;/&gt;
91+
&lt;classpathentry kind=&quot;lib&quot; path=&quot;lib/junit-4.5.jar&quot;/&gt;
92+
&lt;classpathentry kind=&quot;lib&quot; path=&quot;lib/zql.jar&quot;/&gt;
93+
&lt;classpathentry kind=&quot;lib&quot; path=&quot;lib/mina-core-2.0.4.jar&quot;/&gt;
94+
&lt;classpathentry kind=&quot;lib&quot; path=&quot;lib/mina-filter-compression-2.0.4.jar&quot;/&gt;
95+
&lt;classpathentry kind=&quot;lib&quot; path=&quot;lib/jzlib-1.0.7.jar&quot;/&gt;
96+
&lt;classpathentry kind=&quot;lib&quot; path=&quot;lib/slf4j-api-1.6.1.jar&quot;/&gt;
97+
&lt;classpathentry kind=&quot;con&quot; path=&quot;org.eclipse.jdt.launching.JRE_CONTAINER&quot;/&gt;
98+
&lt;classpathentry kind=&quot;output&quot; path=&quot;bin/src&quot;/&gt;
99+
&lt;/classpath&gt;</echo>
100+
</target>
101+
102+
<target name="compile" description="Compile code">
103+
<Compile srcdir="${src}/java" destdir="${build.src}">
104+
<classpath refid="classpath.base"/>
105+
</Compile>
106+
<copy todir="${build}" flatten="true">
107+
<fileset dir="${src}">
108+
<include name="bin/*.sh"/>
109+
</fileset>
110+
</copy>
111+
</target>
112+
113+
<target name="javadocs" description="Build javadoc documentation">
114+
<javadoc destdir="${doc}" access="private" failonerror="true" source="${sourceversion}">
115+
<classpath refid="classpath.base" />
116+
<fileset dir="src/java" defaultexcludes="yes">
117+
<include name="simpledb/**/*.java"/>
118+
</fileset>
119+
</javadoc>
120+
</target>
121+
122+
<target name="dist" depends="compile" description="Build jar">
123+
<mkdir dir="${dist}"/>
124+
<jar jarfile="${jarfile}" basedir="${build.src}">
125+
<manifest>
126+
<attribute name="Main-Class" value="simpledb.SimpleDb"/>
127+
<attribute name="Class-Path" value="../lib/zql.jar ../lib/jline-0.9.94.jar mina-core-2.0.4.jar mina-filter-compression-2.0.4.jar slf4j-api-1.6.1.jar"/>
128+
</manifest>
129+
<!-- Merge library jars into final jar file -->
130+
<!--<zipgroupfileset refid="lib.jars"/>-->
131+
</jar>
132+
</target>
133+
134+
<target name="clean" description="Remove build and dist directories">
135+
<delete dir="${build}"/>
136+
<delete dir="${dist}"/>
137+
<delete dir="${doc}"/>
138+
</target>
139+
140+
<target name="testcompile" depends="compile" description="Compile all unit and system tests">
141+
<Compile srcdir="${testd}" destdir="${build.test}">
142+
<classpath refid="classpath.test"/>
143+
</Compile>
144+
</target>
145+
146+
<target name="test" depends="testcompile" description="Run all unit tests">
147+
<RunJunit>
148+
<batchtest>
149+
<fileset dir="${build.test}">
150+
<include name="**/*Test.class"/>
151+
<exclude name="**/*$*.class"/>
152+
<exclude name="simpledb/systemtest/*.class"/>
153+
</fileset>
154+
</batchtest>
155+
</RunJunit>
156+
</target>
157+
158+
<target name="systemtest" depends="testcompile" description="Run all system tests">
159+
<RunJunit>
160+
<batchtest>
161+
<fileset dir="${build.test}">
162+
<include name="simpledb/systemtest/*Test.class"/>
163+
</fileset>
164+
</batchtest>
165+
</RunJunit>
166+
</target>
167+
168+
<target name="runtest" depends="testcompile"
169+
description="Runs the test you specify on the command line with -Dtest=">
170+
<!-- Check for -Dtest command line argument -->
171+
<fail unless="test" message="You must run this target with -Dtest=TestName"/>
172+
173+
<!-- Check if the class exists -->
174+
<available property="test.exists" classname="simpledb.${test}">
175+
<classpath refid="classpath.test" />
176+
</available>
177+
<fail unless="test.exists" message="Test ${test} could not be found"/>
178+
179+
<RunJunit>
180+
<test name="simpledb.${test}"/>
181+
</RunJunit>
182+
</target>
183+
184+
<target name="runsystest" depends="testcompile"
185+
description="Runs the system test you specify on the command line with -Dtest=">
186+
<!-- Check for -Dtest command line argument -->
187+
<fail unless="test" message="You must run this target with -Dtest=TestName"/>
188+
189+
<!-- Check if the class exists -->
190+
<available property="test.exists" classname="simpledb.systemtest.${test}">
191+
<classpath refid="classpath.test" />
192+
</available>
193+
<fail unless="test.exists" message="Test ${test} could not be found"/>
194+
195+
<RunJunit>
196+
<test name="simpledb.systemtest.${test}"/>
197+
</RunJunit>
198+
</target>
199+
200+
<!-- The following target is used for automated grading. -->
201+
<target name="test-report" depends="testcompile"
202+
description="Generates HTML test reports in ${test.reports}">
203+
<mkdir dir="${test.reports}"/>
204+
205+
<!-- do not halt on failure so we always produce HTML reports. -->
206+
<RunJunit haltonfailure="no">
207+
<formatter type="xml"/>
208+
<formatter type="plain" usefile="true"/>
209+
<batchtest todir="${test.reports}" >
210+
<fileset dir="${build.test}">
211+
<include name="**/*Test.class"/>
212+
<exclude name="**/*$*.class"/>
213+
</fileset>
214+
</batchtest>
215+
</RunJunit>
216+
217+
<junitreport todir="${test.reports}">
218+
<fileset dir="${test.reports}">
219+
<include name="TEST-*.xml" />
220+
</fileset>
221+
<report todir="${test.reports}" />
222+
</junitreport>
223+
224+
<!-- Fail here if the junit tests failed. -->
225+
<fail if="junit.failed" message="Some JUnit tests failed"/>
226+
</target>
227+
228+
<target name="handin" depends="clean"
229+
description="Create a tarball of your code to hand in">
230+
<tar destfile="CS186-proj3.tar.gz" compression="gzip"
231+
basedir="." />
232+
<echo message="Tarball created! Please submit 'CS186-proj3.tar.gz' per the instructions in the project document." />
233+
<subant target="dist">
234+
<fileset dir="." includes="build.xml"/>
235+
</subant>
236+
</target>
237+
238+
<target name="test-and-handin" depends="test,systemtest,handin"
239+
description="Run all the tests and system tests; if they succeed, create a tarball of the source code to submit" />
240+
241+
</project>

catalog.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
data(f1 int, f2 int)

data.txt

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
1,10
2+
2,20
3+
3,30
4+
4,40
5+
5,50
6+
5,50

dist/simpledb.jar

124 KB
Binary file not shown.

imdb.schema

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Actor(id int pk, fname string, lname string, gender string)
2+
Movie(id int pk, name string, year int)
3+
Director(id int pk, fname string, lname string)
4+
Casts(pid int, mid int, role string)
5+
Movie_Director(did int, mid int)
6+
Genre(mid int, genre string)

lib/LICENSE.jzlib.txt

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
JZlib 0.0.* were released under the GNU LGPL license. Later, we have switched
2+
over to a BSD-style license.
3+
4+
------------------------------------------------------------------------------
5+
Copyright (c) 2000,2001,2002,2003 ymnk, JCraft,Inc. All rights reserved.
6+
7+
Redistribution and use in source and binary forms, with or without
8+
modification, are permitted provided that the following conditions are met:
9+
10+
1. Redistributions of source code must retain the above copyright notice,
11+
this list of conditions and the following disclaimer.
12+
13+
2. Redistributions in binary form must reproduce the above copyright
14+
notice, this list of conditions and the following disclaimer in
15+
the documentation and/or other materials provided with the distribution.
16+
17+
3. The names of the authors may not be used to endorse or promote products
18+
derived from this software without specific prior written permission.
19+
20+
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
21+
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
22+
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,
23+
INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
24+
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
26+
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
29+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

0 commit comments

Comments
 (0)