commit | 0dbd501c0e2b46073dc3308f81c293452139822b | [log] [tgz] |
---|---|---|
author | Paul Rogers <par0328@yahoo.com> | Thu May 16 17:34:59 2019 -0700 |
committer | Arina Ielchiieva <arina.yelchiyeva@gmail.com> | Fri Jun 07 13:31:53 2019 +0300 |
tree | 688f2568244dabce799847e87fdf8c37ed47c8d8 | |
parent | 20ae96a4d0de23d329de1b5534683fdaac8816a7 [diff] |
DRILL-7278: Refactor result set loader projection mechanism Drill 1.16 added a enhanced scan framework based on the row set mechanisms, and a "provisioned schema" feature build on top of that framework. Conversion of the log reader plugin to use the framework identified additional features we wish to add, such as marking a column as "special" (not expanded in a wildcard query.) This work identified that the code added for provisioned schemas in Drill 1.16 worked, but is a bit overly complex, making it hard to add the desired new feature. This patch refactors the "reader" projection code: * Create a "projection set" mechanism that the reader can query to ask, "the caller just added a column. Should it be projected or not?" * Unifies the type conversion mechanism added as part of provisioned schemas. * Added the "special column" property for both "reader" and "provided" schemas. * Verified that provisioned schemas work with maps (at least on the scan framework side.) * Replaced the previous "schema transformer" mechanism with a new "type conversion" mechanism that unifies type conversion, provided schemas and an optional custom type conversion mechanism. * Column writers can report if they are projected. Moved this query from metadata to the column writer itself. * Extended and clarified documentation of the feature. * Revised and/or added unit tests. closes #1797
Apache Drill is a distributed MPP query layer that supports SQL and alternative query languages against NoSQL and Hadoop data storage systems. It was inspired in part by Google's Dremel.
Please read Environment.md for setting up and running Apache Drill. For complete developer documentation see DevDocs.md
Please see the Apache Drill Website or the Apache Drill Documentation for more information including:
Apache Drill is an Apache Foundation project and is seeking all types of users and contributions. Please say hello on the Apache Drill mailing list.You can also join our Google Hangouts or join our Slack Channel if you need help with using or developing Apache Drill. (More information can be found on Apache Drill website).
This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.
The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code. The following provides more details on the included cryptographic software: Java SE Security packages are used to provide support for authentication, authorization and secure sockets communication. The Jetty Web Server is used to provide communication via HTTPS. The Cyrus SASL libraries, Kerberos Libraries and OpenSSL Libraries are used to provide SASL based authentication and SSL communication.