blob: ad21e50f367a4a5b02d26ec616bd25ae3f407c7e [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>TestCsvWithSchema (Drill : 1.20.0 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="TestCsvWithSchema (Drill : 1.20.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TestCsvWithSchema.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithoutHeaders.html" title="class in org.apache.drill.exec.store.easy.text.compliant"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestHeaderBuilder.html" title="class in org.apache.drill.exec.store.easy.text.compliant"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../../index.html?org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html" target="_top">Frames</a></li>
<li><a href="TestCsvWithSchema.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.classes.inherited.from.class.org.apache.drill.test.DrillTest">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.drill.exec.store.easy.text.compliant</div>
<h2 title="Class TestCsvWithSchema" class="title">Class TestCsvWithSchema</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../../../org/apache/drill/test/BaseTest.html" title="class in org.apache.drill.test">org.apache.drill.test.BaseTest</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../../../org/apache/drill/test/DrillTest.html" title="class in org.apache.drill.test">org.apache.drill.test.DrillTest</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../../../org/apache/drill/test/ClusterTest.html" title="class in org.apache.drill.test">org.apache.drill.test.ClusterTest</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html" title="class in org.apache.drill.exec.store.easy.text.compliant">org.apache.drill.exec.store.easy.text.compliant.BaseCsvTest</a></li>
<li>
<ul class="inheritance">
<li>org.apache.drill.exec.store.easy.text.compliant.TestCsvWithSchema</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">TestCsvWithSchema</span>
extends <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html" title="class in org.apache.drill.exec.store.easy.text.compliant">BaseCsvTest</a></pre>
<div class="block">Test the schema mechanism in the context of a simple CSV tables.
The focus here is on the schema mechanism, which can be explored
with simple tables of just a few rows.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.drill.test.DrillTest">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.drill.test.<a href="../../../../../../../../org/apache/drill/test/DrillTest.html" title="class in org.apache.drill.test">DrillTest</a></h3>
<code><a href="../../../../../../../../org/apache/drill/test/DrillTest.MemWatcher.html" title="class in org.apache.drill.test">DrillTest.MemWatcher</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#FILE1_NAME">FILE1_NAME</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.drill.exec.store.easy.text.compliant.BaseCsvTest">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.drill.exec.store.easy.text.compliant.<a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html" title="class in org.apache.drill.exec.store.easy.text.compliant">BaseCsvTest</a></h3>
<code><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#BIG_COL_SIZE">BIG_COL_SIZE</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#EMPTY_FILE">EMPTY_FILE</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#FILE_N_NAME">FILE_N_NAME</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#NESTED_DIR">NESTED_DIR</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#NESTED_FILE">NESTED_FILE</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#PART_DIR">PART_DIR</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#ROOT_FILE">ROOT_FILE</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#SCHEMA_BATCH_ENABLED">SCHEMA_BATCH_ENABLED</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#secondFile">secondFile</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#testDir">testDir</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#validHeaders">validHeaders</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.drill.test.ClusterTest">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.drill.test.<a href="../../../../../../../../org/apache/drill/test/ClusterTest.html" title="class in org.apache.drill.test">ClusterTest</a></h3>
<code><a href="../../../../../../../../org/apache/drill/test/ClusterTest.html#client">client</a>, <a href="../../../../../../../../org/apache/drill/test/ClusterTest.html#cluster">cluster</a>, <a href="../../../../../../../../org/apache/drill/test/ClusterTest.html#dirTestWatcher">dirTestWatcher</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.drill.test.DrillTest">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.drill.test.<a href="../../../../../../../../org/apache/drill/test/DrillTest.html" title="class in org.apache.drill.test">DrillTest</a></h3>
<code><a href="../../../../../../../../org/apache/drill/test/DrillTest.html#logOutcome">logOutcome</a>, <a href="../../../../../../../../org/apache/drill/test/DrillTest.html#objectMapper">objectMapper</a>, <a href="../../../../../../../../org/apache/drill/test/DrillTest.html#REPEAT_RULE">REPEAT_RULE</a>, <a href="../../../../../../../../org/apache/drill/test/DrillTest.html#thrownException">thrownException</a>, <a href="../../../../../../../../org/apache/drill/test/DrillTest.html#TIMEOUT">TIMEOUT</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#TestCsvWithSchema--">TestCsvWithSchema</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#setup--">setup</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testBasicSchema--">testBasicSchema</a></span>()</code>
<div class="block">Test the simplest possible case: a table with one file:
Column in projection, table, and schema
Column in projection and table but not in schema.
Column in projection and schema, but not in table.
Column in projection, but not in schema or table.
</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testBlankCols--">testBlankCols</a></span>()</code>
<div class="block">Demonstrate that CSV uses a comma to introduce a column,
even if that column has no data.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testBlankColsWithNoDefaultValue--">testBlankColsWithNoDefaultValue</a></span>()</code>
<div class="block">As above, but with a non-nullable numeric column with a default
value.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testBlankColsWithNullableSchema--">testBlankColsWithNullableSchema</a></span>()</code>
<div class="block">As above, but with a nullable numeric column.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testBlankColsWithSchema--">testBlankColsWithSchema</a></span>()</code>
<div class="block">Use the same data set as above tests, but use a schema to do type
conversion.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testBool--">testBool</a></span>()</code>
<div class="block">Test the many ways to specify True for boolean columns.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testDateColDefault--">testDateColDefault</a></span>()</code>
<div class="block">Use a user-provided default value for a missing required column.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testDecimal--">testDecimal</a></span>()</code>
<div class="block">Basic decimal sanity test showing rounding, using default values,
and so on.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testDecimalDefaultOverflow--">testDecimalDefaultOverflow</a></span>()</code>
<div class="block">Test proper handling of overflow for a default value.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testDecimalDefaultRound--">testDecimalDefaultRound</a></span>()</code>
<div class="block">Verify that the decimal default value is rounded according
to the scale specified in the decimal type.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testDecimalNoPrecOrScale--">testDecimalNoPrecOrScale</a></span>()</code>
<div class="block">Verify that a decimal type without precision or scale defaults
to precision of 38, scale of 0.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testDecimalNoScale--">testDecimalNoScale</a></span>()</code>
<div class="block">Verify that a decimal type with no scale defaults to a scale of 0.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testDecimalOverflow--">testDecimalOverflow</a></span>()</code>
<div class="block">Test decimal overflow during data reads.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testExplicitSort--">testExplicitSort</a></span>()</code>
<div class="block">Because V3 uses VARCHAR for missing columns, and handles ragged rows, there
is no vector corruption, and the sort operator sees a uniform schema, even
without a schema.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testInvalidDecimalSchema--">testInvalidDecimalSchema</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testMissingCols--">testMissingCols</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testMissingColsNullable--">testMissingColsNullable</a></span>()</code>
<div class="block">Demonstrate that CSV works for a schema with nullable types when columns
are missing (there is no comma to introduce an empty field in the data.)</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testMissingColsReq--">testMissingColsReq</a></span>()</code>
<div class="block">Verify that, if a schema is provided, a column is missing,
and there is no default, that the mode is left at required and
the column is filled with zeros.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testMissingColsReqDefault--">testMissingColsReqDefault</a></span>()</code>
<div class="block">Verify the behavior of missing columns, not null mode, with
a default value.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testMissingRequiredCol--">testMissingRequiredCol</a></span>()</code>
<div class="block">Show that the projection framework generates a reasonable default value
if told to create a required column that does not exist.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testMultiFileSchema--">testMultiFileSchema</a></span>()</code>
<div class="block">Use a schema with explicit projection to get a consistent view
of the table schema, even if columns are missing, rows are ragged,
and column order changes.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testMultiFileSchemaMissingCol--">testMultiFileSchemaMissingCol</a></span>()</code>
<div class="block">Test the case that a file does not contain a required column (in this case,
id in the third file.) There are two choices.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testMultiFragmentStrictSchema--">testMultiFragmentStrictSchema</a></span>()</code>
<div class="block">Test a strict schema where it is needed most: in a scan with multiple
fragments, each of which sees a different reader schema.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testRequiredColDefault--">testRequiredColDefault</a></span>()</code>
<div class="block">Use a user-provided default value for a missing required column.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testSchemaExplicitSort--">testSchemaExplicitSort</a></span>()</code>
<div class="block">Adding a schema makes the data types more uniform, and fills in defaults
for missing columns.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testWildcardLenientSchema--">testWildcardLenientSchema</a></span>()</code>
<div class="block">Test lenient wildcard projection.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testWildcardSortFailure--">testWildcardSortFailure</a></span>()</code>
<div class="block">Show that, without schema, the hard schema change for the "missing"
gender column causes an error in the sort operator when presented with
one batch in which gender is VARCHAR, another in which it is
Nullable INT.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html#testWildcardStrictSchema--">testWildcardStrictSchema</a></span>()</code>
<div class="block">Test wildcard projection with a strict schema: only schema columns are
projected.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.drill.exec.store.easy.text.compliant.BaseCsvTest">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.drill.exec.store.easy.text.compliant.<a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html" title="class in org.apache.drill.exec.store.easy.text.compliant">BaseCsvTest</a></h3>
<code><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#buildBigColFile-boolean-">buildBigColFile</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#buildFile-java.io.File-java.lang.String:A-">buildFile</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#buildFile-java.lang.String-java.lang.String:A-">buildFile</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#buildNestedTable--">buildNestedTable</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#buildTable-java.lang.String-java.lang.String:A...-">buildTable</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#enableMultiScan--">enableMultiScan</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#enableSchema-boolean-">enableSchema</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#enableSchemaSupport--">enableSchemaSupport</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#resetMultiScan--">resetMultiScan</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#resetSchema--">resetSchema</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#resetSchemaSupport--">resetSchemaSupport</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#setup-boolean-boolean-">setup</a>, <a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/BaseCsvTest.html#setup-boolean-boolean-int-">setup</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.drill.test.ClusterTest">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.drill.test.<a href="../../../../../../../../org/apache/drill/test/ClusterTest.html" title="class in org.apache.drill.test">ClusterTest</a></h3>
<code><a href="../../../../../../../../org/apache/drill/test/ClusterTest.html#getFile-java.lang.String-">getFile</a>, <a href="../../../../../../../../org/apache/drill/test/ClusterTest.html#queryBuilder--">queryBuilder</a>, <a href="../../../../../../../../org/apache/drill/test/ClusterTest.html#run-java.lang.String-java.lang.Object...-">run</a>, <a href="../../../../../../../../org/apache/drill/test/ClusterTest.html#runAndLog-java.lang.String-">runAndLog</a>, <a href="../../../../../../../../org/apache/drill/test/ClusterTest.html#runAndPrint-java.lang.String-">runAndPrint</a>, <a href="../../../../../../../../org/apache/drill/test/ClusterTest.html#runAndPrint-java.lang.String-java.lang.Object...-">runAndPrint</a>, <a href="../../../../../../../../org/apache/drill/test/ClusterTest.html#shutdown--">shutdown</a>, <a href="../../../../../../../../org/apache/drill/test/ClusterTest.html#startCluster-org.apache.drill.test.ClusterFixtureBuilder-">startCluster</a>, <a href="../../../../../../../../org/apache/drill/test/ClusterTest.html#testBuilder--">testBuilder</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.drill.test.DrillTest">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.drill.test.<a href="../../../../../../../../org/apache/drill/test/DrillTest.html" title="class in org.apache.drill.test">DrillTest</a></h3>
<code><a href="../../../../../../../../org/apache/drill/test/DrillTest.html#escapeJsonString-java.lang.String-">escapeJsonString</a>, <a href="../../../../../../../../org/apache/drill/test/DrillTest.html#finishDrillTest--">finishDrillTest</a>, <a href="../../../../../../../../org/apache/drill/test/DrillTest.html#initDrillTest--">initDrillTest</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="FILE1_NAME">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>FILE1_NAME</h4>
<pre>protected static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> FILE1_NAME</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../../constant-values.html#org.apache.drill.exec.store.easy.text.compliant.TestCsvWithSchema.FILE1_NAME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="TestCsvWithSchema--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TestCsvWithSchema</h4>
<pre>public&nbsp;TestCsvWithSchema()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="setup--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setup</h4>
<pre>public static&nbsp;void&nbsp;setup()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testBasicSchema--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testBasicSchema</h4>
<pre>public&nbsp;void&nbsp;testBasicSchema()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Test the simplest possible case: a table with one file:
<ul>
<li>Column in projection, table, and schema</li>
<li>Column in projection and table but not in schema.</li>
<li>Column in projection and schema, but not in table.</li>
<li>Column in projection, but not in schema or table.</li>
</ul></div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testMissingRequiredCol--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMissingRequiredCol</h4>
<pre>public&nbsp;void&nbsp;testMissingRequiredCol()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Show that the projection framework generates a reasonable default value
if told to create a required column that does not exist. In this case,
the default default [sic] value for an INT column is 0. There is no
"default" value set in the schema, so we use a "default default" instead.)</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testRequiredColDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRequiredColDefault</h4>
<pre>public&nbsp;void&nbsp;testRequiredColDefault()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Use a user-provided default value for a missing required column.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testDateColDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDateColDefault</h4>
<pre>public&nbsp;void&nbsp;testDateColDefault()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Use a user-provided default value for a missing required column.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testMultiFileSchema--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMultiFileSchema</h4>
<pre>public&nbsp;void&nbsp;testMultiFileSchema()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Use a schema with explicit projection to get a consistent view
of the table schema, even if columns are missing, rows are ragged,
and column order changes.
<p>
Force the scans to occur in distinct fragments so the order of the
file batches is random.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testWildcardSortFailure--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testWildcardSortFailure</h4>
<pre>public&nbsp;void&nbsp;testWildcardSortFailure()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Show that, without schema, the hard schema change for the "missing"
gender column causes an error in the sort operator when presented with
one batch in which gender is VARCHAR, another in which it is
Nullable INT. This is a consequence of using SELECT * on a distributed
scan.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testExplicitSort--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExplicitSort</h4>
<pre>public&nbsp;void&nbsp;testExplicitSort()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Because V3 uses VARCHAR for missing columns, and handles ragged rows, there
is no vector corruption, and the sort operator sees a uniform schema, even
without a schema.
<p>
This and other tests enable multiple scan fragments, even for small files,
then run the test multiple times to generate the result set in different
orders (file1 first sometimes, file2 other times.)</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testSchemaExplicitSort--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSchemaExplicitSort</h4>
<pre>public&nbsp;void&nbsp;testSchemaExplicitSort()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Adding a schema makes the data types more uniform, and fills in defaults
for missing columns. Note that the default is not applied (at least at
present) if a column is missing within a file that says it has the
column.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testMultiFileSchemaMissingCol--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMultiFileSchemaMissingCol</h4>
<pre>public&nbsp;void&nbsp;testMultiFileSchemaMissingCol()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Test the case that a file does not contain a required column (in this case,
id in the third file.) There are two choices. 1) we could fail the query,
2) we can muddle through as best we can. The scan framework chooses to
muddle through by assuming a default value of 0 for the missing int
column.
<p>
Inserts an ORDER BY to force a single batch in a known order. Assumes
the other ORDER BY tests pass.
<p>
This test shows that having consistent types is sufficient for the sort
operator to work; the DAG will include a project operator that reorders
the columns when produced by readers in different orders. (Column ordering
is more an abstract concept anyway in a columnar system such as Drill.)</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testWildcardLenientSchema--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testWildcardLenientSchema</h4>
<pre>public&nbsp;void&nbsp;testWildcardLenientSchema()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Test lenient wildcard projection.
The schema contains all columns in the table; the schema ensures
a consistent schema regardless of file shape or read order. The sort
operator works because it sees the consistent schema, despite great
variation in inputs.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testWildcardStrictSchema--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testWildcardStrictSchema</h4>
<pre>public&nbsp;void&nbsp;testWildcardStrictSchema()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Test wildcard projection with a strict schema: only schema columns are
projected.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testMultiFragmentStrictSchema--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMultiFragmentStrictSchema</h4>
<pre>public&nbsp;void&nbsp;testMultiFragmentStrictSchema()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Test a strict schema where it is needed most: in a scan with multiple
fragments, each of which sees a different reader schema. The output schema
ensures that each scan independently reports the same schema, so that the
downstream sort operator gets a single consistent batch schema.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testBool--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testBool</h4>
<pre>public&nbsp;void&nbsp;testBool()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Test the many ways to specify True for boolean columns. Anything that
is not true is false.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testDecimal--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDecimal</h4>
<pre>public&nbsp;void&nbsp;testDecimal()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Basic decimal sanity test showing rounding, using default values,
and so on.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testDecimalNoPrecOrScale--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDecimalNoPrecOrScale</h4>
<pre>public&nbsp;void&nbsp;testDecimalNoPrecOrScale()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Verify that a decimal type without precision or scale defaults
to precision of 38, scale of 0.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testDecimalNoScale--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDecimalNoScale</h4>
<pre>public&nbsp;void&nbsp;testDecimalNoScale()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Verify that a decimal type with no scale defaults to a scale of 0.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testDecimalDefaultRound--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDecimalDefaultRound</h4>
<pre>public&nbsp;void&nbsp;testDecimalDefaultRound()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Verify that the decimal default value is rounded according
to the scale specified in the decimal type.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testDecimalOverflow--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDecimalOverflow</h4>
<pre>public&nbsp;void&nbsp;testDecimalOverflow()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Test decimal overflow during data reads. The overflow occurs after
rounding the data value of 99999.9 to 100000.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testDecimalDefaultOverflow--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDecimalDefaultOverflow</h4>
<pre>public&nbsp;void&nbsp;testDecimalDefaultOverflow()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Test proper handling of overflow for a default value. In this case,
the overflow occurs after rounding.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testInvalidDecimalSchema--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testInvalidDecimalSchema</h4>
<pre>public&nbsp;void&nbsp;testInvalidDecimalSchema()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testMissingCols--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMissingCols</h4>
<pre>public&nbsp;void&nbsp;testMissingCols()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testMissingColsReq--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMissingColsReq</h4>
<pre>public&nbsp;void&nbsp;testMissingColsReq()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Verify that, if a schema is provided, a column is missing,
and there is no default, that the mode is left at required and
the column is filled with zeros. Note that this behavior is
specific to the text readers: if have no schema, even an missing
VARCHAR column will be REQUIRED and set to an empty string
(reason: if the column does appear it will be a required VARCHAR,
so, to be consistent, missing columns are also required.)</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testMissingColsReqDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMissingColsReqDefault</h4>
<pre>public&nbsp;void&nbsp;testMissingColsReqDefault()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Verify the behavior of missing columns, not null mode, with
a default value.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testMissingColsNullable--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMissingColsNullable</h4>
<pre>public&nbsp;void&nbsp;testMissingColsNullable()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Demonstrate that CSV works for a schema with nullable types when columns
are missing (there is no comma to introduce an empty field in the data.)</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testBlankCols--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testBlankCols</h4>
<pre>public&nbsp;void&nbsp;testBlankCols()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Demonstrate that CSV uses a comma to introduce a column,
even if that column has no data. In this case, CSV assumes the
value of the column is a blank string.
<p>
Such a schema cannot be converted to a number or date column,
even nullable, because a blank string is neither a valid number nor
a valid date.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testBlankColsWithSchema--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testBlankColsWithSchema</h4>
<pre>public&nbsp;void&nbsp;testBlankColsWithSchema()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Use the same data set as above tests, but use a schema to do type
conversion. Blank columns become 0 for numeric non-nullable, nulls for
nullable non-numeric.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testBlankColsWithNullableSchema--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testBlankColsWithNullableSchema</h4>
<pre>public&nbsp;void&nbsp;testBlankColsWithNullableSchema()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">As above, but with a nullable numeric column. Here, by default,
blank values become nulls.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testBlankColsWithNoDefaultValue--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>testBlankColsWithNoDefaultValue</h4>
<pre>public&nbsp;void&nbsp;testBlankColsWithNoDefaultValue()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">As above, but with a non-nullable numeric column with a default
value.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TestCsvWithSchema.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestCsvWithoutHeaders.html" title="class in org.apache.drill.exec.store.easy.text.compliant"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../../org/apache/drill/exec/store/easy/text/compliant/TestHeaderBuilder.html" title="class in org.apache.drill.exec.store.easy.text.compliant"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../../index.html?org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.html" target="_top">Frames</a></li>
<li><a href="TestCsvWithSchema.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.classes.inherited.from.class.org.apache.drill.test.DrillTest">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>