aboutsummaryrefslogtreecommitdiff
path: root/exec
AgeCommit message (Collapse)Author
2019-03-16DRILL-7021: HTTPD Throws NPE and Doesn't Recognize TimeformatHEADmasterCharles S. Givre
2019-03-14DRILL-6707: Removed changes for setOutputRowCount.Sorabh Hamirwasia
Modified LateralJoin to use new setCurrentOutgoingMaxRowCount api Limit CurrentOutgoingMaxRowCount to MAX_NUM_ROWS Fix HashJoin to fix failing tests closes #1650
2019-03-14DRILL-6707: Update target outgoing batch row count between current position ↵Ben-Zvi
and allocated size
2019-03-14DRILL-7068: Support memory adjustment framework for resource management with ↵HanumathRao
Queues. closes #1677
2019-03-14DRILL-2326: Fix scalar replacement for the case when static method which ↵Volodymyr Vysotskyi
does not return values is called - Fix check for return function value to handle the case when created object is returned without assigning it to the local variable closes #1687
2019-03-14DRILL-6524: Assign holder fields instead of assigning object references in ↵Volodymyr Vysotskyi
generated code to allow scalar replacement for more cases closes #1686
2019-03-14DRILL-6524: Prevent incorrect scalar replacement for the case of assigning ↵Volodymyr Vysotskyi
references inside if block
2019-03-14DRILL-7038: Queries on partitioned columns scan the entire datasetsBohdan Kazydub
- Added new optimizer rule which checks if query references directory columns only and has DISTINCT or GROUP BY operation. If the condition holds, instead of scanning full file set the following will be performed: 1) if there is cache metadata file, these directories will be read from it, 2) otherwise directories will be gathered from selection object (PartitionLocation). In the end Scan node will be transformed to DrillValuesRel (containing constant literals) with gathered values so no scan will be performed. closes #1640
2019-03-14DRILL-7058: Refresh command to support subset of columnsVenkata Jyothsna Donapati
closes #1666
2019-03-14DRILL-7061: Disable LIMIT Rows OptionKunal Khatua
Freemarker by default introduces a comma in numeric values greater than 999. This corrects that by removing the ',' in the default limit size. However, since a Server-side implementation is in progress (DRILL-6960 and DRILL-7048), it is best to disable this for now. The latest commit in this will hide those capabilities in the WebUI until the server-side feature goes in. X closes #1689
2019-03-14DRILL-7081: Upgrade GlassFish Jersey and Javax Servlet dependecies versionsVitalii Diravka
- Update dependencies versions - Exclude dependency from jdbc-all - Removal redundant "bcpkix-jdk15on" exclusion - Proper exclusion of "jackson-dataformat-hocon" dependency - Removal redundant "excludeSubprojects" config property for Maven Rat Plugin closes #1682
2019-03-14DRILL-7092: Rename map to struct in schema definitionArina Ielchiieva
1. Renamed map to struct in schema parser. 2. Updated sqlTypeOf function to return STRUCT instead of MAP, drillTypeOf function will return MAP as before until internal renaming is done. 3. Add is_struct alias to already existing is_map function. Function should be revisited once Drill supports true maps. 4. Updated unit tests. closes #1688
2019-03-13DRILL-7100: Fixed IllegalArgumentException when reading Parquet dataSalim Achouche
2019-03-11DRILL-7085: Fix table-path check in AnalyzeTableHandlerGautam Parai
closes #1685
2019-03-11DRILL-7073: CREATE SCHEMA command / TupleSchema / ColumnMetadata improvementsArina Ielchiieva
1. Add format, default, column properties logic. 2. Changed schema JSON after serialization. 3. Added appropriate unit tests. closes #1684
2019-03-11DRILL-6952: Host compliant text reader on the row set frameworkPaul Rogers
The result set loader allows controlling batch sizes. The new scan framework built on top of that framework handles projection, implicit columns, null columns and more. This commit converts the "new" ("compliant") text reader to use the new framework. Options select the use of the V2 ("new") or V3 (row-set based) versions. Unit tests demonstrate V3 functionality. closes #1683
2019-03-08DRILL-7046: Support for loading and parsing new RM config fileSorabh Hamirwasia
closes #1652
2019-03-08DRILL-7054: timestamp in millisecondsGiovanni Conte
closes #1665
2019-03-08DRILL-7056: Drill fails with NPE when starting in distributed mode & 31010 ↵Kunal Khatua
port is used closes #1656
2019-03-08DRILL-7069: Moved version checks outside loops in transformBinaryInMetadataCacheBen-Zvi
closes #1667
2019-03-08DRILL-7072: Query with semi join fails for JDBC storage pluginVolodymyr Vysotskyi
closes #1674
2019-03-07DRILL-6979: Added autofocus attribute to username on login page, and to ↵Khurram
query textbox on Query tab
2019-03-05DRILL-5603: Replace String file paths to Hadoop PathVitalii Diravka
- replaced all String path representation with org.apache.hadoop.fs.Path - added PathSerDe.Se JSON serializer - refactoring of DFSPartitionLocation code by leveraging existing listPartitionValues() functionality closes #1657
2019-03-05DRILL-7074: Scan framework fixes and enhancementsPaul Rogers
Roll-up of fixes an enhancements that emerged from the effort to host the CSV reader on the new framework. closes #1676
2019-03-04DRILL-6642: Update protocol-buffers versionAnton Gozhiy
1. Updated protobuf to version 3.6.1 2. Added protobuf to the root pom dependency management 3. Added classes BoundedByteString and LiteralByteString for compatibility with HBase 4. Added ProtobufPatcher to provide compatibility with MapR-DB and HBase closes #1639
2019-03-04DRILL-7060: Support JsonParser Feature ↵Abhishek Girish
'ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER' (#1663)
2019-03-01DRILL-4858: REPEATED_COUNT on an array of maps and an array of arrays is not ↵Bohdan Kazydub
implemented - Implemented 'repeated_count' function for repeated MAP and repeated LIST; - Updated RepeatedListReader and RepeatedMapReader implementations to return correct value from size() method - Moved repeated_count to freemarker template and added support for more repeated types for the function closes #1641
2019-03-01DRILL-7041: CompileException happens if a nested coalesce function returns nullBohdan Kazydub
- Made `NullExpression`s in `IfExpression` with nested `IfExpression`s to be rewritten to typed ones recursively if necessary closes #1668
2019-03-01DRILL-7052: Relative path for URL redirectionVitalii Diravka
2019-02-28DRILL-1328: Support table statistics - Part 2Gautam Parai
Add support for avg row-width and major type statistics. Parallelize the ANALYZE implementation and stats UDF implementation to improve stats collection performance. Update/fix rowcount, selectivity and ndv computations to improve plan costing. Add options for configuring collection/usage of statistics. Add new APIs and implementation for stats writer (as a precursor to Drill Metastore APIs). Fix several stats/costing related issues identified while running TPC-H nad TPC-DS queries. Add support for CPU sampling and nested scalar columns. Add more testcases for collection and usage of statistics and fix remaining unit/functional test failures. Thanks to Venki Korukanti (@vkorukanti) for the description below (modified to account for new changes). He graciously agreed to rebase the patch to latest master, fixed few issues and added few tests. FUNCS: Statistics functions as UDFs: Separate Currently using FieldReader to ensure consistent output type so that Unpivot doesn't get confused. All stats columns should be Nullable, so that stats functions can return NULL when N/A. * custom versions of "count" that always return BigInt * HyperLogLog based NDV that returns BigInt that works only on VarChars * HyperLogLog with binary output that only works on VarChars OPS: Updated protobufs for new ops OPS: Implemented StatisticsMerge OPS: Implemented StatisticsUnpivot ANALYZE: AnalyzeTable functionality * JavaCC syntax more-or-less copied from LucidDB. * (Basic) AnalyzePrule: DrillAnalyzeRel -> UnpivotPrel StatsMergePrel FilterPrel(for sampling) StatsAggPrel ScanPrel ANALYZE: Add getMetadataTable() to AbstractSchema USAGE: Change field access in QueryWrapper USAGE: Add getDrillTable() to DrillScanRelBase and ScanPrel * since ScanPrel does not inherit from DrillScanRelBase, this requires adding a DrillTable to the constructor * This is done so that a custom ReflectiveRelMetadataProvider can access the DrillTable associated with Logical/Physical scans. USAGE: Attach DrillStatsTable to DrillTable. * DrillStatsTable represents the data scanned from a corresponding ".stats.drill" table * In order to avoid doing query execution right after the ".stats.drill" table is found, metadata is not actually collected until the MaterializationVisitor is used. ** Currently, the metadata source must be a string (so that a SQL query can be created). Doing this with a table is probably more complicated. ** Query is set up to extract only the most recent statistics results for each column. closes #729
2019-02-28DRILL-1328: Support table statisticsCliff Buchanan
2019-02-25DRILL-6950: Row set-based scan frameworkPaul Rogers
Adds the "plumbing" that connects the scan operator to the result set loader and the scan projection framework. See the various package-info.java files for the technical datails. Also adds a large number of tests. This PR does not yet introduce an actual scan operator: that will follow in subsequent PRs. closes #1618
2019-02-22DRILL-7036: Improve UI for alert and error messagesKunal Khatua
closes #1644 This PR standardizes error and alert messages to a cleaner interface by leveraging Bootstraps UX elements for publishing the messages in a presentable format. Exceptions reported back to the browser and rendered in a neat tabular format (using Panels) All errors can be redirected to errorMessage.ftl which will render it in a neat format. Alerts are replaced with modals. Interactions (pages) affected by Alert modals 1. Missing Query submission 2. profile Query Rerun 3. invalid Profile Listing Fetch 4. invalid Option Value for update 5. Missing username/password submission The errorMessage.ftl has been moved to root dir, and unused `error.ftl` was removed
2019-02-18DRILL-7022: Partition pruning is not happening the first time after the ↵Volodymyr Vysotskyi
metadata auto-refresh closes #1638
2019-02-18DRILL-6855: Do not load schema if there is an IOExceptionAbhishek Ravi
closes #1626
2019-02-08DRILL-7024: Refactor ColumnWriter to simplify type-conversion shimPaul Rogers
DRILL-7006 added a type conversion "shim" within the row set framework. Basically, we insert a "shim" column writer that takes data in one form (String, say), and does reader-specific conversions to a target format (INT, say). The code works fine, but the shim class ends up needing to override a bunch of methods which it then passes along to the base writer. This PR refactors the code so that the conversion shim is simpler. closes #1633
2019-02-01DRILL-6862: Update Calcite to 1.18.0Igor Guzenko
1. Moved Calcite dependency from profile hadoop-default to general dependency managment 2. Updated Calcite version to 1.18.0-drill-r0 and Avatica version to 1.13.0 3. Hook.REL_BUILDER_SIMPLIFY moved to static block, cause now it can't be removed (fixes DRILL-6830) 4. Removed WrappedAccessor, since it was workaround fixed in CALCITE-1408 5. Fixed setting of multiple options in TestBuilder 6. Timstampadd type inference aligned with CALCITE-2699 7. Dependency update caused 417 kB increase of jdb-all jar size, so the maxsize limit was increased from 39.5 to 40 MB 8. Added test into TestDrillParquetReader to ensure that DRILL-6856 was fixed by Calcite update close apache/drill#1631
2019-02-01DRILL-7016: Wrong query result with RuntimeFilter enabled when order of join ↵Sorabh Hamirwasia
and filter condition is swapped close apache/drill#1628
2019-02-01DRILL-7019: Add check for redundant importsVolodymyr Vysotskyi
close apache/drill#1629
2019-02-01DRILL-6964: Implement CREATE / DROP SCHEMA commandsArina Ielchiieva
Note: this PR only adds support for CREATE / DROP SCHEMA commands which allow to store and delete schema. Schema usage during querying the data will be covered in other PRs. 1. Added parser methods / handles to parse CREATE / DROP schema commands. 2. Added SchemaProviders classes to separate ways of schema provision (file, table function). 3. Added schema parsing using ANTLR4 (lexer, parser, visitors). 4. Added appropriate unit tests. close apache/drill#1615
2019-02-01DRILL-7018: Fixed Parquet buffer overflow when reading timestamp columnSalim Achouche
close apache/drill#1630
2019-02-01DRILL-7008: Drillbits: clear stale shutdown hooksVladimir Sitnikov
ShutdownThread is no longer required when Drillbit#close() is called. mvn install for Drill project consumed 600MiB (there were 160 shutdown hooks) close apache/drill#1625
2019-02-01DRILL-7002: whatever exec.hashjoin.num_partitions is set, output right resultsweijie.tong
close apache/drill#1622
2019-02-01DRILL-6997: Semijoin is changing the join ordering for some tpcds queries.Hanumath Maduri
close apache/drill#1620
2019-01-30DRILL-7006: Add type conversion to row writersPaul Rogers
Modifies the column metadata and writer abstractions to allow a type conversion "shim" to be specified as part of the schema, then inserted as part of the row set writer. Allows, say, setting an Int or Date from a string, parsing the string to obtain the proper data type to store in the vector. Type conversion not yet supported in the result set loader: some additional complexity needs to be resolved. Adds unit tests for this functionality. Refactors some existing tests to remove rough edges. closes #1623
2019-01-30DRILL-7007: Use verify method in row set testsPaul Rogers
Many of the early RowSet-based tests used the pattern: new RowSetComparison(expected) .verifyAndClearAll(result); Revise this to use the simplified form: RowSetUtilities.verify(expected, result); The original form is retained when tests use additional functionality, such as the ability to perform multiple verifications on the same expected batch. closes #1624
2019-01-25DRILL-7000: Queries failing with 'Failed to aggregate or route the RFW' do ↵Sorabh Hamirwasia
not complete closes #1621
2019-01-25DRILL-6977: Improve Hive tests configurationIgor Guzenko
1. HiveTestBase data initialization moved to static block to be initialized once for all derivatives. 2. Extracted Hive driver and storage plugin management from HiveTestDataGenerator to HiveTestFixture class. This increased cohesion of generator and added loose coupling between hive test configuration and data generation tasks. 3. Replaced usage of Guava ImmutableLists with TestBaseViewSupport helper methods by using standard JDK collections. closes #1613
2019-01-25DRILL-6962: Function coalesce returns an Error when none of the columns in ↵Bohdan Kazydub
coalesce exist in a parquet file - Updated UntypedNullVector to hold value count when vector is allocated and transfered to another one; - Updated RecordBatchLoader and DrillCursor to handle case when only UntypedNull values are present in RecordBatch (special case when data buffer is null but actual values are present); - Added functions to cast UntypedNull value to other types for use in UDFs; - Moved UntypedReader, UntypedHolderReaderImpl and UntypedReaderImpl from org.apache.drill.exec.vector.complex.impl to org.apache.drill.exec.vector package. closes #1614
2019-01-25DRILL-6999: Fix the case that there's more than one join conditionsweijie.tong
closes #1600