aboutsummaryrefslogtreecommitdiff
path: root/exec/java-exec/src/main/codegen/includes
AgeCommit message (Collapse)Author
2019-03-14DRILL-7058: Refresh command to support subset of columnsVenkata Jyothsna Donapati
closes #1666
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-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
2018-08-28DRILL-6422: Replace guava imports with shaded onesVolodymyr Vysotskyi
2018-04-17DRILL-6320: Fixed license headers.Drill Dev
closes #1207
2018-01-16DRILL-3993: Changes to support Calcite 1.15.Volodymyr Vysotskyi
Fix AssertionError: type mismatch for tests with aggregate functions. Fix VARIANCE agg function Remove using deprecated Subtype enum Fix 'Failure while loading table a in database hbase' error Fix 'Field ordinal 1 is invalid for type '(DrillRecordRow[*])'' unit test failures
2018-01-16DRILL-3993: Changes to support Calcite 1.13Roman Kulyk
- fixed all compiling errors (main changes were: Maven changes, chenges RelNode -> RelRoot, implementing some new methods from updated interfaces, chenges some literals, logger changes); - fixed unexpected column errors, validation errors and assertion errors after Calcite update; - fixed describe table/schema statement according to updated logic; - added fixes with time-intervals; - changed precision of BINARY to 65536 (was 1048576) according to updated logic (Calcite overrides bigger precision to own maxPrecision); - ignored some incorrect tests with DRILL-3244; - changed "Table not found" message to "Object not found within" according to new Calcite changes.
2017-11-26DRILL-5952: Implement "CREATE TABLE IF NOT EXISTS and CREATE VIEW IF NOT EXISTS"Prasad Nagaraj Subramanya
closes #1033
2017-01-23DRILL-4956: Temporary tables supportArina Ielchiieva
close apache/drill#666
2016-10-18DRILL-4726: Dynamic UDF SupportArina Ielchiieva
1) Configuration / parsing / options / protos 2) Zookeeper integration 3) Registration / unregistration / lazy-init 4) Unit tests This closes #574
2016-07-22DRILL-4673: Implement "DROP TABLE IF EXISTS" for drill to prevent FAILED ↵Vitalii Diravka
status on command return - implement DROP TABLE IF EXISTS and DROP VIEW IF EXISTS; - added unit test for DROP TABLE IF EXISTS; - added unit test for DROP VIEW IF EXISTS; - added unit test for "IF" hive UDF. This closes #541
2016-07-12DRILL-4514: Add describe schema <schema_name> commandArina Ielchiieva
close apache/drill#436.
2016-01-28DRILL-4291: Fix Missing classes when trying to query varchar[] using JDBCJacques Nadeau
- Create a new simplified version of the Hadoop Text class that doesn't include massive dependencies. - Update Vectors to use new Text class. - Update the jdbc-all module to have a test which also includes complex types. - Clean up exclusions in Jdbc jar file to reduce file size. - Add an enforcer rule that ensures the adbc-all jar exclusions are maintained in the future. This closes #336.
2015-11-12DRILL-3987: (REFACTOR) Common and Vector modules building.Jacques Nadeau
- Extract Accountor interface from Implementation - Separate FMPP modules to separate out Vector Needs versus external needs - Separate out Vector classes from those that are VectorAccessible. - Cleanup Memory Exception hiearchy
2015-09-18DRILL-2743: Parquet file metadata cachingSteven Phillips
rebasing on top of master required conflict resolution in Parser.tdd and parserImpls.ftl this closes #114
2015-09-08DRILL-3535: Add support for Drop TableMehant Baid
this closes #140
2015-08-27DRILL-3313: Address review commentsParth Chandra
2015-07-06DRILL-2851: handle oversized allocation requests; ensure flatten splits a ↵Hanifi Gunes
batch if data is oversized; add unit tests
2015-06-25DRILL-3373: Raise parsing error when CTAS has partition by clause yet ↵Jinfeng Ni
partitioning column list is empty.
2015-06-20DRILL-3246 : Query planning support for partition by clause in CTAS statement.Jinfeng Ni
Add partition comparator function into project under writer.
2015-05-02DRILL-2940, DRILL-2847: Improve Memory CharacteristicsJacques Nadeau
- Update Large Buffer allocation so Drill releases immediately rather than waiting for Garbage Collection - Remove DrillBuf.wrap() and all references to it. - Update Parquet Reader to reduce object churn and indirection. - Add additional metric to memory iterator - Add Large and small buffer metric historgram tracking - Add memory tracking reporter - Update Netty to 4.0.27
2015-04-24DRILL-2350: Improve exception handling and error messages in JSON reader.Parth Chandra
2015-04-21DRILL-1384: Part 5 - Make sure ProjectRemove will honor the output fieldName ↵Jinfeng Ni
and use validated rowtype from SqlValidator to honor the final output field. ProjectRemove should honor parent's output field name. Fix Parser, allow * in compound identifier in DrillParserImpl. Make sure ProjectRemove will honor the output fieldName and use validated rowtype from SqlValidator to honor the final output field. This is required, since Drill's execution framework is name-based, different from Calcite's ordinal-based execution engine.
2014-08-24Switch to DrillBufJacques Nadeau
Add @Inject DrillBuf Move comparison functions to memory sensitive ones Add scalar replacement functionality for value holders Simplify date parsing function Add local compiled code caching
2014-08-06DRILL-1247: Override toString() method in Time (java.sql.Time) class to ↵Mehant Baid
print millis
2014-07-08DRILL-755: Show files without FROM clause should display files in default ↵Mehant Baid
workspace
2014-06-25DRILL-1067: RPC layer improvementsJacques Nadeau
- Unfork Netty and upgrade to 4.0.20.Final - Create support for EPOLL native impl on Linux (disable by providing -Ddrill.exec.disable_linux_epoll=false) - Move BitData connection to Multiplex with DataTunnel level backpressure
2014-06-17DRILL-836: [addendum] Drill needs to return complex types (e.g., map and ↵Aditya Kishore
array) as a JSON string * This contains additional changes to the original patch which was merged. + Renamed "flatten" to "complex-to-json" + With the new patch, we return VARCHAR instead of VARBINARY. + Added test case. + Minor code re-factoring.
2014-06-16DRILL-932: Add support for bracketless complex expressions in SQL queries.Jacques Nadeau
2014-06-16DRILL-585: Switch getObject in SQL accessors to return java.sql.* types.Cliff Buchanan
2014-05-13DRILL-718: Return complex types as JSON string.Mehant Baid
2014-05-11Add support for RepeatedMapVector, MapVector and RepeatedListVector.Jacques Nadeau
2014-05-09DRILL-679: Support create table as query (CTAS).vkorukanti
2014-05-09DRILL-601: Support for 'Show files' commandMehant Baid
2014-05-07DRILL-438: Add support for Views (CREATE, DROP and select)vkorukanti
2014-05-04DRILL-620: Memory consumption fixesSteven Phillips
accounting fixes trim buffers switch to using setSafe and copySafe methods only adaptive allocation operator based allocator wip handle OOM Operator Context
2014-04-22DRILL-332: Support for decimal data typeMehant Baid
2014-04-21DRILL-399: Support USE SCHEMA. Also fixes bugs found in using default schema ↵vkorukanti
in queries.
2014-04-21DRILL-392: Support SHOW TABLES/SCHEMAS and DESCRIBE TABLE.vkorukanti
Use Optiq parser template to generate Drill parser a) exec/java-exec/pom.xml changes: 1. Write a plugin to move current existing codegen directory to target (fmpp can't handle more than one directory as template input dir). 2. Change template directory path in fmpp plugin. 3. Extract CombinedParser.jj into target/codegen/templates directory. 4. Plugin to compile CombinedParser.jj using javacc. b) Add parser.tdd to define values for freemarker variables in CombinedParser.jj template. c) Define grammar and SqlCall types for new DDL statements. d) Handlers to rewrite newly added SqlCall DDL statements as select queries from INFORMATION_SCHEMA.
2014-04-19DRILL-356: Changes to support date typemehant
2014-03-03DRILL-257: Move SQL parsing to server side.Jacques Nadeau
Switch to Avatica based JDBC driver. Update QuerySubmitter to support SQL queries. Update SqlAccesors to support getObject() Remove ref, clean up SQL packages some. Various performance fixes. Updating result set so first set of results must be returned before control is return to client to allow metadata to populate for aggressive tools like sqlline Move timeout functionality to TestTools. Update Expression materializer so that it will return a nullable int if a field is not found. Update Project record batch to support simple wildcard queries. Updates to move JSON record reader test to expecting VarCharVector.getObject to return a String rather than a byte[].
2013-09-10DRILL-221, part 3. More license updates. Automatically run Rat plugin with ↵Jacques Nadeau
appropriate excludes. Move Synth-log to sandbox until it is part of main mvn build to avoid weird RAT problems.
2013-09-04DRILL-165: Reorganize directories (moves only)Jacques Nadeau