| Tajo Change Log |
| |
| Release 0.8.0 - unreleased |
| |
| NEW FEATURES |
| |
| TAJO-574: Add a sort-based physical executor for column partition store. |
| (hyunsik) |
| |
| TAJO-569: Add max(TEXT) function. (hyunsik) |
| |
| TAJO-449: Implement extract() function. (Keuntae Park) |
| |
| TAJO-482: Implements listing functions and describing a specified |
| function. (hyoungjunkim via hyunsik) |
| |
| TAJO-498: Implement digest(text, text) function. |
| (DaeMyung Kang via hyunsik) |
| |
| TAJO-122: Add EXPLAIN clause to show a logical plan. |
| (DaeMyung Kang via hyunsik) |
| |
| TAJO-438: Date literal support. (Jae Young Lee via jihoon) |
| |
| TAJO-474: Add query admin utility. (DaeMyung Kang via hyunsik) |
| |
| TAJO-460: CTAS statement should support partitioned table. |
| (Min Zhou via hyunsik) |
| |
| TAJO-381: Implement find_in_set function. (Jae Young Lee via hyunsik) |
| |
| TAJO-439: Time literal support. (DaeMyung Kang via jihoon) |
| |
| TAJO-437: Timestamp literal support. (hyunsik) |
| |
| TAJO-382: Implement encode/decode functions. (Seungun Choe via jihoon) |
| |
| TAJO-436: Implement ceiling(FLOAT8) function. (DaeMyung Kang via hyunsik) |
| |
| TAJO-338 : Add Query Optimization Part for Column-Partitioned Tables. |
| (hyunsik) |
| |
| TAJO-333: Add metric system to Tajo. (hyoungjunkim via jihoon) |
| |
| TAJO-413: Implement pi function. (DaeMyung Kang via jihoon) |
| |
| TAJO-61: Implement Time Datum Type. (DaeMyung Kang via hyunsik) |
| |
| TAJO-60: Implement Date Datum Type. (hyunsik) |
| |
| TAJO-400: Implement pow(float8, float8) function. (DaeMyung Kang via jaehwa) |
| |
| TAJO-384: to_bin(). (Jae Young Lee via jaehwa) |
| |
| TAJO-62: Implement Timestamp Datum type. (hyunsik) |
| |
| TAJO-307: Implement chr(int) function. (DaeMyung Kang via hyunsik) |
| |
| TAJO-365: Implement degrees/radians function. (DaeMyung Kang via hyunsik) |
| |
| TAJO-368: Implement quote_ident function. (Seungun Choe via hyunsik) |
| |
| TAJO-392: Implement cbrt function. (DaeMyung Kang via hyunsik) |
| |
| TAJO-394: Implement abs function. (DaeMyung Kang via hyunsik) |
| |
| TAJO-395: Implement exp function. (DaeMyung Kang via hyunsik) |
| |
| TAJO-396: Implement sqrt function. (DaeMyung Kang via hyunsik) |
| |
| TAJO-397: Implement sign function. (DaeMyung Kang via hyunsik) |
| |
| TAJO-343: Implement locate function. (KyoungBok Lee via hyunsik) |
| |
| TAJO-364: Implement mod/div function. (DaeMyung Kang via jaehwa) |
| |
| TAJO-361: Implement rpad function. (Seungun Choe via jaehwa) |
| |
| TAJO-359: Implement lpad function. (Seungun Choe via jaehwa) |
| |
| TAJO-306: Implement ascii(string) function. (SeongHwa Ahn via jaehwa) |
| |
| TAJO-354: Fix invalid type to valid type for udfs(bit_length/char_length). |
| (DaeMyung Kang via hyunsik) |
| |
| TAJO-366: Implement trigonometric functions. (Jae Young Lee via jihoon) |
| |
| TAJO-358: Implement initcap(string) function. (Seungun Choe via hyunsik) |
| |
| TAJO-355: Implement repeat(text,int) function. (DaeMyung Kang via jaehwa) |
| |
| TAJO-339: Implement sin( x ) - returns the sine of x (x is in radians). |
| (Jae Young Lee via jaehwa) |
| |
| TAJO-348: Implement octet_length(text). (DaeMyung Kang via jaehwa) |
| |
| TAJO-357: Fix invalid filename TestMethFunction to TestMathFUnction. |
| (DaeMyung Kang via hyunsik) |
| |
| TAJO-352: Implement right/left(text, size) function. |
| (DaeMyung Kang via hyunsik) |
| |
| TAJO-346: Implement hex function. (DaeMyung Kang via hyunsik) |
| |
| TAJO-349: Implement md5(text). (DaeMyung Kang via hyunsik) |
| |
| TAJO-351: Implement reverse(text). (DaeMyung Kang via hyunsik) |
| |
| TAJO-342: Implement strpos(string, substring) function. |
| (hyoungjunkim via hyunsik) |
| |
| TAJO-350: Implement round, floor, ceil. (hyoungjunkim via hyunsik) |
| |
| TAJO-207: Implement bit_length(string) function. (DaeMyung Kang via jihoon) |
| |
| TAJO-341: Implement substr function. (hyoungjunkim via hyunsik) |
| |
| TAJO-308: Implement length(string) function. (hyoungjunkim via hyunsik) |
| |
| TAJO-200: RCFile compatible to apache hive. (jinho) |
| |
| TAJO-176: Implement Tajo JDBC Driver. (Keuntae Park via jihoon) |
| |
| TAJO-16: Enable Tajo catalog to access Hive metastore. (jaehwa) |
| |
| TAJO-285: Add CREATE TABLE... BY PARTITION statement to parser. (hyunsik) |
| |
| TAJO-267: Implement equals() and deepEquals() functions at LogicalNode. |
| (jihoon) |
| |
| IMPROVEMENTS |
| |
| TAJO-670: Change daemon's hostname to canonical hostname |
| (hyoungjunkim via hyunsik) |
| |
| TAJO-638: ExecutionBlock must be sorted by start time in querydetail.jsp. |
| (hyoungjunkim via hyunsik) |
| |
| TAJO-589: Add fine grained progress indicator for each task. |
| (hyoungjunkim via hyunsik) |
| |
| TAJO-614: Explaning a logical node should use ExplainLogicalPlanVisitor. |
| (hyunsik) |
| |
| TAJO-610: Refactor Column class. (hyunsik) |
| |
| TAJO-601: Improve distinct aggregation query processing. (hyunsik) |
| |
| TAJO-305: Implement killQuery feature. (hyunsik) |
| |
| TAJO-598: Refactoring Tajo RPC. (jinho) |
| |
| TAJO-592: HCatalogStore should supports RCFile and default hive field |
| delimiter. (jaehwa) |
| |
| TAJO-548: Investigate frequent young gc. (Min Zhou via hyunsik) |
| |
| TAJO-584: Improve distributed merge sort. (hyunsik) |
| |
| TAJO-36: Improve ExternalSortExec with N-merge sort and final pass |
| omission. (hyunsik) |
| |
| TAJO-564: Show execution block's progress in querydetail.jsp. |
| (hyoungjunkim via hyunsik) |
| |
| TAJO-569: Add max(TEXT) function. (hyunsik) |
| |
| TAJO-497: Rearrange reserved and non-reserved keywords. (sirpkt via hyunsik) |
| |
| TAJO-475: Table partition catalog recap. (Min Zhou and hyunsik) |
| |
| TAJO-539: Change some EvalNode::eval to directly return a Datum value. |
| (hyunsik) |
| |
| TAJO-543: InsertNode and CreateTableNode should play their roles. (hyunsik) |
| |
| TAJO-409: Add explored and explained annotations to Tajo function system. |
| (SeongHwa Ahn via hyunsik) |
| |
| TAJO-499: Shorten the length of classpath in shell command. |
| (hyoungjunkim via hyunsik) |
| |
| TAJO-483: Add getParentCount(), getParents(), getParent() functions to DirectedGraph. |
| (jihoon) |
| |
| TAJO-433: Improve integration with Hive. (jaehwa) |
| |
| TAJO-471: Extract ColumnPartitonUtils class for ColumnPartition rewrite. |
| (DaeMyung Kang via hyunsik) |
| |
| TAJO-476: Add a test development kit for unit tests based on executions |
| of queries. (hyunsik) |
| |
| TAJO-464: Rename the name 'partition', actually meaning shuffle to |
| 'shuffle'. (hyunsik) |
| |
| TAJO-385: Refactoring TaskScheduler to assign multiple fragments. (jihoon) |
| |
| TAJO-468: Implements task's detail info page in WEB UI. |
| (hyoungjunkim via hyunsik) |
| |
| TAJO-466: Supporting TIME types in DatumFactory.createFromInt8. (DaeMyung Kang via jihoon) |
| |
| TAJO-458: Visit methods of LogicalPlanVisitor should take a query block |
| as parameter. (hyunsik) |
| |
| TAJO-456: Separate tajo-jdbc and tajo-client from tajo-core-backend. (hyunsik) |
| |
| TAJO-432: Add shuffle phase for column-partitioned table store. (Min Zhou via jihoon) |
| |
| TAJO-135: Bump up hadoop to 2.2.0. (jihoon) |
| |
| TAJO-435: Improve intermediate file. (jinho) |
| |
| TAJO-424: Make serializer/deserializer configurable in CSVFile. (jinho) |
| |
| TAJO-419: Add missing visitor methods of AlgebraVisitor and |
| BaseAlgebraVisitor. (hyunsik) |
| |
| TAJO-421: Improve split for compression file. (jinho) |
| |
| TAJO-327: Add testcase to verify TAJO-16. (jaehwa) |
| |
| TAJO-405: Improve HCatalogStore to support partitioned table. (jaehwa) |
| |
| TAJO-336: Separate catalog stores into separate modules. (jaehwa) |
| |
| TAJO-329: Implement physical operator to store in column-partitioned table. |
| (jaehwa) |
| |
| TAJO-391: Change the default type of real values from FLOAT4 to FLOAT8 |
| when parsing the user queries. (DaeMyung Kang via jihoon) |
| |
| TAJO-304: drop table command should not remove data files in default. |
| (hyunsik) |
| |
| TAJO-316: Improve GreedyHeuristicJoinOrderAlgorithm to deal with |
| non-commutative joins. (hyunsik) |
| |
| TAJO-371: Increase the default value of worker memory. (jihoon) |
| |
| TAJO-284: Add table partitioning entry to Catalog. (jaehwa) |
| |
| TAJO-317: Improve TajoResourceManager to support more elaborate resource |
| management. (Keuntae Park via jihoon) |
| |
| TAJO-314: Make TaskScheduler be pluggable. (jihoon) |
| |
| TAJO-325: QueryState.NEW and QueryState.INIT should be combined into one |
| state. (Min Zhou via hyunsik) |
| |
| TAJO-313: Support deprecated variables in CatalogConstants. (jaehwa) |
| |
| TAJO-310: Make the DataLocation class as a separate class and move it to |
| the tajo-core-storage package. (jihoon) |
| |
| TAJO-311: Improve Hive dependency. (jaehwa) |
| |
| TAJO-309: Remove unused fields in FileFragment. (jihoon) |
| |
| TAJO-297: Rename JDBC variables in CatalogConstants to be more generic. |
| (jaehwa) |
| |
| TAJO-287: Improve Fragment to be more generic. (hyunsik) |
| |
| TAJO-274: Maintaining connectivity to Tajo master regardless of the restart |
| of the Tajo master. (Keuntae Park via hyunsik) |
| |
| TAJO-287: Refactor TableDesc, TableMeta, and Fragment. (hyunsik) |
| |
| TAJO-275: Separating QueryMaster and TaskRunner roles in worker. |
| (Keuntae Park via jihoon) |
| |
| BUG FIXES |
| |
| TAJO-612: Missing INET4 type in SQLParser. (jihoon) |
| |
| TAJO-672: Wrong progress status when overwrites to partition table. |
| (hyoungjunkim via hyunsik) |
| |
| TAJO-663: CREATE TABLE USING RAW doesn't throw ERROR. (jaehwa) |
| |
| TAJO-665: sort buffer size must be dealt as long type values. |
| (hyoungjunkim via hyunsik) |
| |
| TAJO-427: Empty table makes IndexOutOfBoundsException at LEFT OUTER JOIN clause. (jaehwa) |
| |
| TAJO-650: Repartitioner::scheduleHashShuffledFetches should adjust the |
| number of tasks. (hyunsik) |
| |
| TAJO-648: TajoWorker does not send correct QM rpc and client rpc ports |
| via heartbeat. (hyunsik) |
| |
| TAJO-653: RCFileAppender throws IOException. (jinho) |
| |
| TAJO-641: NPE in HCatalogStore.addTable(). (jaehwa) |
| |
| TAJO-646: TajoClient is blocked while main thread finished. |
| (hyoungjunkim via jinho) |
| |
| TAJO-645: Task.Reporter can cause NPE during reporting. (hyunsik) |
| |
| TAJO-630: QueryMasterTask never finished when Internal error occurs. |
| (hyunsik) |
| |
| TAJO-638: QueryUnitAttempt causes Invalid event error: TA_UPDATE at |
| TA_ASSIGNED. (hyunsik) |
| |
| TAJO-640: In inner join clause, empty table can cause a error by order-by |
| clause. (jaehwa) |
| |
| TAJO-635: Improve tests of query semantic verification. (hyunsik) |
| |
| TAJO-620: A join query can cause IndexOutOfBoundsException if one of |
| tables is empty. (jaehwa) |
| |
| TAJO-628: The second stage of distinct aggregation can be scheduled to |
| only one node. (hyunsik) |
| |
| TAJO-619: SELECT count(1) after joins on text keys causes wrong plans. |
| (hyunsik) |
| |
| TAJO-403: HiveQLAnalyzer should supports standard function in the GROUP BY |
| Clause. (jaehwa) |
| |
| TAJO-594: MySQL store doesn't work. (Yongjun Park via jaehwa) |
| |
| TAJO-590: Rename HiveConverter to HiveQLAnalyzer. (jaehwa) |
| |
| TAJO-575: Worker's env.jsp has wrong URL which go to worker's index.jsp. |
| (hyoungjunkim via jaehwa) |
| |
| TAJO-609: PlannerUtil::getRelationLineage ignores PartitionedTableScanNode. |
| (hyunsik) |
| |
| TAJO-606: Statemachine visualization fails. (Min Zhou via hyunsik) |
| |
| TAJO-595: The same expressions without different alias are not allowed. |
| (hyunsik) |
| |
| TAJO-554: LogicalPlanner should allow additional expressions with asterisk |
| in select list. (jihoon) |
| |
| TAJO-593: outer groupby and groupby in derived table causes only one |
| shuffle output number. (hyunsik) |
| |
| TAJO-583: Broadcast join does not work on partitioned tables. (hyunsik) |
| |
| TAJO-588: In some case, leaf task of DefaultTaskScheduler are not |
| distributed execution. (jinho) |
| |
| TAJO-586: containFunction shouldn't throw NoSuchFunctionException. (jinho) |
| |
| TAJO-582: Invalid split calculation. (jinho) |
| |
| TAJO-581: Inline view on column partitioned table causes NPE. (hyunsik) |
| |
| TAJO-577: Support S3FileSystem split. (Yongjun Park via jihoon) |
| |
| TAJO-568: Union query with the same alias names cause NPE. (hyunsik) |
| |
| TAJO-570: InvalidOperationException in outer join with constant values. |
| (hyunsik) |
| |
| TAJO-506: RawFile cannot support DATE type. (jinho) |
| |
| TAJO-566: BIN/TAJO_DUMP makes wrong ddl script. (hyoungjunkim via hyunsik) |
| |
| TAJO-567: Expression projection bugs. (hyunsik) |
| |
| TAJO-565: FilterPushDown rewrite rule does not push filters on |
| partitioned scans. (hyunsik) |
| |
| TAJO-560: CTAS PARTITION BY with UNION can cause invalid global plan. |
| (hyunsik) |
| |
| TAJO-558: HCatalogStore can't scan columns. (jaehwa) |
| |
| TAJO-556: java.lang.NoSuchFieldError: IS_SECURITY_ENABLED. (jaehwa) |
| |
| TAJO-372: When an exception except for network issues occurs, the |
| operation should not be repeated. (hyunsik) |
| |
| TAJO-552: Fix Bug verify-protocbuf.sh runs with bash. |
| (DaeMyung Kang via jihoon) |
| |
| TAJO-551: Fix bug getFunction can get wrong function that have invalid |
| parameters. (DaeMyung Kang via jihoon) |
| |
| TAJO-544: Thread pool abusing. (Min Zhou via hyunsik) |
| |
| TAJO-493: maven pom.xml should enforce protobuf 2.5. (jaehwa) |
| |
| TAJO-360: If there is no matched function, catalog causes NPE. |
| (hyoungjunkim via hyunsik) |
| |
| TAJO-537: After TAJO-522, still OutOfMemoryError: unable to create new |
| native thread. (Min Zhou via hyunsik) |
| |
| TAJO-522: OutOfMemoryError: unable to create new native thread. |
| (hyoungjunkim via hyunsik) |
| |
| TAJO-518: tajo-algebra and ProjectionPushDownRule code cleanup. (hyunsik) |
| |
| TAJO-503: HCatalogStore can't scan several hive databases. (jaehwa) |
| |
| TAJO-502: Jenkins build is failing. (jinho) |
| |
| TAJO-485: 'CREATE TABLE AS' does not work properly with partition. (jinho) |
| |
| TAJO-488: Data fetcher doesn't close small file in shuffle. (jinho) |
| |
| TAJO-496: java.lang.NoSuchFieldError: IS_SECURITY_ENABLED when debugging |
| tajo. (Min Zhou via hyunsik) |
| |
| TAJO-490: Tajo can't use 'dfs.nameservices' based on namenode ha mode. |
| (jaehwa) |
| |
| TAJO-477: Rename killQuery of QMClientProtocol to closeQuery. (hyunsik) |
| |
| TAJO-484: Fix bug [: !=: unary operator expected when execute start-tajo.sh. |
| (DaeMyung Kang via jihoon) |
| |
| TAJO-479: Rename obsolete name 'partition' to 'shuffle and fix the broken |
| taskdetail.jsp. (hyunsik). |
| |
| TAJO-470: Fetcher's finished time and file length is changed in WEB UI. |
| (hyoungjunkim via hyunsik) |
| |
| TAJO-469: CTAS with no column definition will get a NPE. |
| (Min Zhou via hyunsik) |
| |
| TAJO-467: Too many open FD when master failed. (hyoungjunkim via hyunsik) |
| |
| TAJO-455: Throw PlanningException when Creating table with Partition |
| exception COLUMN. (DaeMyung Kang via hyunsik) |
| |
| TAJO-452: Timstamp literal with fractional seconds results in |
| java.lang.ArrayIndexOutOfBoundsException. (Keuntae Park via hyunsik) |
| |
| TAJO-454: pass invalid argument to DateTime constructor in LogicalPlanner. |
| (DaeMyung Kang via hyunsik) |
| |
| TAJO-451: Update documentation and version constant for Tajo 0.8. |
| (hyunsik) |
| |
| TAJO-448: Timestamp should be based on unixtime. (hyunsik) |
| |
| TAJO-450: Incorrect inet4datum comparison. (jinho) |
| |
| TAJO-182: Comparison of primitive values including null value should |
| return NULL. (hyunsik) |
| |
| TAJO-431: HCatalogStore can't write any data using INSERT OVERWRITE clause. |
| (jaehwa) |
| |
| TAJO-442: Cast operator with nested functions causes NPE. (hyunsik) |
| |
| TAJO-426: HCatalogStore created partitions automatically. (jaehwa) |
| |
| TAJO-418: sort operator after inline views consisting of unions can cause |
| an incorrect distributed plan. (hyunsik) |
| |
| TAJO-417: TestSQLExpression.testCastFromTable causes unit test failure. |
| (hyunsik) |
| |
| TAJO-415: Some complex queries causes NPE and unlimited recursions. |
| (hyunsik) |
| |
| TAJO-414: Fix bug of bit operations in decode() method of DateDatum class. |
| (Keuntae Park via jihoon) |
| |
| TAJO-407: PostgreSQL-style cast should be higher operator priority. |
| (hyunsik) |
| |
| TAJO-411: Fix Bug: createFromInt8's DATE type should be TIMESTAMP. |
| (DaeMyung Kang via jihoon) |
| |
| TAJO-390: Queries on history are expired ealier than a given expiry time. |
| (hyoungjunkim via hyunsik) |
| |
| TAJO-410: A query with a combination of general and distinct aggregation |
| functions fails. (hyunsik) |
| |
| TAJO-404: Tajo does not recognize boolean literal. (hyunsik) |
| |
| TAJO-344: Tajo cannot recognize negative numeric expressions. (hyunsik) |
| |
| TAJO-393: Unit tests must use test-data directory. (hyunsik) |
| |
| TAJO-388: limit clause does not work properly. (hyunsik) |
| |
| TAJO-389: The LazyTuple does not work when number format exception occurs |
| in text deserializer. (jinho) |
| |
| TAJO-387: Query is hanging when errors occurs in Query or SubQuery class. |
| (hyunsik) |
| |
| TAJO-268: Temporal files should be removed after query is finished. (jinho) |
| |
| TAJO-292: Too many intermediate partition files. (jinho) |
| |
| TAJO-375: TajoClient can't get result data when different os user |
| (hyoungjunkim via hyunsik) |
| |
| TAJO-347: Fix bug when to call function with insensitive function name. |
| (DaeMyung Kang via hyunsik) |
| |
| TAJO-345: MergeScanner should support projectable storages. (jihoon) |
| |
| TAJO-290: TajoDataType.Type.NULL should be NULL_TYPE. (DaeMyung Kang via |
| jinho) |
| |
| TAJO-332: Invalid row count of CSVScanner. (jinho) |
| |
| TAJO-326: In ExecutionBlock, isRoot() and isLeafBlock() return invalid |
| values. (jihoon) |
| |
| TAJO-296: Late registration of Tajo workers. (hyoungjunkim via hyunsik) |
| |
| TAJO-321: Invalid split file of compressed text file. (jinho) |
| |
| TAJO-295: ConcurrentModificationException in TaskScheduler. (jinho) |
| |
| TAJO-293: querymasters directory not found in single node setup. (hyunsik) |
| |
| TASKS |
| |
| TAJO-681: Embed sphinx rtd theme into tajo-docs. (hyunsik) |
| |
| TAJO-657: Missing table stat in RCFile. (jinho) |
| |
| TAJO-659: Add Tajo JDBC documentation. (hyunsik) |
| |
| TAJO-642: Change tajo documentation tool to sphinx. (hyunsik) |
| |
| TAJO-632: add intellij idea projects files into git ignore. |
| (Min Zhou via hyunsik) |
| |
| TAJO-218: HiveQLAnalyzer has to support cast expression. (jaehwa) |
| |
| TAJO-621: Add DOAP file for Tajo. (hyunsik) |
| |
| TAJO-622: Add TM mark and navigation links required for TLP project. |
| (hyunsik) |
| |
| TAJO-578: Update configuration for tajo-site.xml. (jaehwa) |
| |
| TAJO-530: Fix warnings in tajo-catalog. (jaehwa) |
| |
| TAJO-532: Fix warnings in tajo-common. (jinho) |
| |
| TAJO-520: Move tajo-core-storage to tajo-storage. (jinho) |
| |
| TAJO-536: Fix warnings in tajo-core-storage. (jinho) |
| |
| TAJO-545: MySQLStore Documentation. (jaehwa) |
| |
| TAJO-526: HCatalogStore Documentation. (jaehwa) |
| |
| TAJO-535: Fix warnings in tajo-rpc. (jinho) |
| |
| TAJO-531: Fix warnings in tajo-client. (jinho) |
| |
| TAJO-478: Add request-patch-review.py that helps submitting patches to |
| jira and reviewboard. (hyunsik) |
| |
| TAJO-508: Apply findbugs-excludeFilterFile to TajoQA. (jinho) |
| |
| TAJO-457: Update committer list and contributor list. (hyunsik) |
| |
| TAJO-166: Automatic precommit test using Jenkins. (hyunsik) |
| |
| TAJO-322: Documentation by version. (hyunsik) |
| |
| TAJO-320: Visualize Tajo statemachine. (Min Zhou via hyunsik) |
| |
| TAJO-319: Update homepage and bump tajo version to 0.8. (hyunsik) |
| |
| SUB TASKS |
| |
| TAJO-602: WorkerResourceManager should be broke down into 3 parts. |
| (hyunsik) |
| |
| |
| Release 0.2.0 - released |
| |
| NEW FEATURES |
| |
| TAJO-260: Add between predicate. (hyunsik) |
| |
| TAJO-208: Implement char_length(string) function. (hyunsik) |
| |
| TAJO-99: Design the interface of join enumeration algorithm. (hyunsik) |
| |
| TAJO-179: Support MySQL CatalogStore. (jinho) |
| |
| TAJO-147: Implement trim(text), ltrim(text), and rtrim(text) function. |
| (hyunsik) |
| |
| TAJO-148: Implement UPPER(text), LOWER(text) function. (hyunsik) |
| |
| TAJO-220: Implement catalog dump feature. (hyunsik) |
| |
| TAJO-216: Improve FilterPushDownRule and Implement physical operators |
| for outer join. (camelia_c via hyunsik) |
| |
| TAJO-211: Implement regexp_replace function. (hyunsik) |
| |
| TAJO-212: Implement type cast expresion. (hyunsik) |
| |
| TAJO-206: Implement String concatenation operator (||). (hyunsik) |
| |
| TAJO-213: NULL characters in meta of csv table should be supported. |
| (jinho) |
| |
| TAJO-185: Implement split_part function. (hyunsik) |
| |
| TAJO-193: Add string pattern matching operators. (hyunsik) |
| |
| TAJO-101: HiveQL converter. (jaehwa) |
| |
| TAJO-144: Implement INSERT OVERWRITE clause. (hyunsik) |
| |
| TAJO-139: TAJO-139: In predicate support. (hyunsik) |
| |
| TAJO-134: Support for compression/decompression of CSVFile. (jinho) |
| |
| TAJO-59: Implement Char Datum Type. (jihoon) |
| |
| TAJO-96: Design and implement rewrite rule interface and the rewrite rule |
| engine. (hyunsik) |
| |
| TAJO-19: CREATE TABLE without external data should be supported. (jinho) |
| |
| TAJO-57: Recognize Parser and Catalog Standard SQL data types. (hyunsik) |
| |
| TAJO-33: Implement a basic query progress indicator. (hyunsik) |
| |
| IMPROVEMENTS |
| |
| TAJO-270: Boolean datum compatible to apache hive. (jinho) |
| |
| TAJO-261: Rearrange default port numbers and config names. (hyunsik) |
| |
| TAJO-236: Implement LogicalPlanVerifier to check if a logical plan is |
| valid. (hyunsik) |
| |
| TAJO-254: Refactor package names and class names to have proper names. |
| (add a missed changelog) |
| |
| TAJO-255: Cleanup exceptions of engine. (hyunsik) |
| |
| TAJO-253: Clean up tajo-default.xml in test resource. (hyunsik) |
| |
| TAJO-239: Improving web UI. (Keuntae Park via hyunsik) |
| |
| TAJO-232: Rename join operators and add other join operators to |
| PhysicalPlanner. (hyunsik) |
| |
| TAJO-229: Implement JoinGraph to represent a graph of relation joins. |
| (hyunsik) |
| |
| TAJO-223: Maximize disk read bandwidth utilization of StorageManagerV2 by |
| moving Tuple creation role to next(). (Keuntae Park via hyunsik) |
| |
| TAJO-199: All relations in catalog must have data volume size. (hyunsik) |
| |
| TAJO-224: Rearrange DataType enumeration and Refactor type systems. |
| (hyunsik) |
| |
| TAJO-214: System should inquire finished query history after execution |
| in web. (SeongHwa Ahn via hyunsik) |
| |
| TAJO-145: count(distinct column) should be supported. (hyunsik) |
| |
| TAJO-197: Implement Enforcer that forces physical planner to choose |
| specified algorithms. (hyunsik) |
| |
| TAJO-194: LogicalNode should have an identifier to distinguish each |
| logical node instance. (hyunsik) |
| |
| TAJO-183: Creating too many TableMetaProto objects might lead a potential |
| memory leak. (jihoon) |
| |
| TAJO-184: Refactor GlobalPlanner and global plan data structure. (hyunsik) |
| |
| TAJO-119: Refactor and Improve Datum. (jinho) |
| |
| TAJO-178: Implements StorageManager for scanning asynchronously. |
| (hyoungjunkim via hyunsik) |
| |
| TAJO-167: Implement GeneralSetFunctionExpr to represent all SQL standard |
| set functions. (hyunsik) |
| |
| TAJO-149: Eliminate QueryConf and its file write. (hyunsik) |
| |
| TAJO-143: Implement hash semi-join operator. (hyunsik) |
| |
| TAJO-142: Implement hash anti-join operator. (hyunsik) |
| |
| TAJO-94: Remove duplicate proto files. (hyunsik) |
| |
| TAJO-141: Set on demand as the default cluster mode. (hyunsik) |
| |
| TAJO-136: Broadcast join should be enabled. (hyunsik) |
| |
| TAJO-127: Implement Tajo Resource Manager. (hyoungjunkim via hyunsik) |
| |
| TAJO-84: Task scheduling with considering disk load balance. (jinho) |
| |
| TAJO-123: Clean up the logical plan's json format. (hyunsik) |
| |
| TAJO-129: Enable the constructor of NettyServerBase to take a service |
| name. (hyunsik) |
| |
| TAJO-91: Launch QueryMaster on NodeManager per query. |
| (hyoungjunkim via hyunsik) |
| |
| TAJO-100: Port the parse error handling to the new parser. (jinho) |
| |
| TAJO-121: Add LogicalPlanVisitor and Refactor LogicalOptimizer to use the |
| visitor. (hyunsik) |
| |
| TAJO-118: Refactor and Improve text file Scanner. (jinho) |
| |
| TAJO-95: Eliminate the lazy copy approach from the classes wrapping |
| protobuf-generated classes. (hyunsik) |
| |
| TAJO-102: Add AlgebraVisitor and Refactor LogicalPlanner to use the visitor. |
| (hyunsik) |
| |
| TAJO-87: Integration of tajo algebra module and SQL parser. (hyunsik) |
| |
| TAJO-70: Refactor GlobalEngine to handle DDL statements. (hyunsik) |
| |
| TAJO-86: Improved error messages in query analyzer. (jinho) |
| |
| TAJO-85: Add an method of create(DataType, byte[]) to DatumFactory. (jihoon) |
| |
| TAJO-79: Refactor and Improve TajoCli. (hyunsik) |
| |
| TAJO-77: Rename TabletProto as FragmentProto in CatalogProtos.proto. |
| (jihoon) |
| |
| TAJO-22: The package prefix should be org.apache.tajo. (DaeMyung Kang via |
| hyunsik) |
| |
| TAJO-75: Separate SQL.g into SQLParser.g and SQLLexer.g. (hyunsik) |
| |
| TAJO-74: Refactor parser rules of SQL.g. (hyunsik) |
| |
| TAJO-7: Enabling TajoCli to take multiple lines as one statement. (jinho) |
| |
| TAJO-72: Rename NQL.g to SQL.g. (hyunsik) |
| |
| TAJO-71: Case-insensitive parser. (hyunsik) |
| |
| TAJO-40: Adopt YarnClient to GlobalEngine. (jihoon) |
| |
| TAJO-69: Add .reviewboardrc file to the ignore lists of Rat and .gitignore. |
| (hyunsik) |
| |
| TAJO-66: Support compiling and running Tajo with Java7 (Tejas Patil via |
| hsaputra) |
| |
| TAJO-51: Parallel Container Launch of TaskRunnerLauncherImpl. (hyunsik) |
| |
| TAJO-39 Remove the unused package tajo.engine.plan.global and all files |
| inside the directory. (hsaputra) |
| |
| TAJO-37: Remove obsolete classes WorkerEventDispatcher, WorkerEvent and |
| WorkerEventType. (sunny.1324 via hyunsik) |
| |
| TAJO-50: Cleanup SubQuery. (hyunsik) |
| |
| TAJO-44: Adopt AMRMClient to RMContainerAllocator, RMCommunicator. (hyunsik) |
| |
| TAJO-42: Divide SubQuery into FSM and execution block parts. (hyunsik) |
| |
| TAJO-32: Cleanup TaskRunner. (hyunsik) |
| |
| TAJO-27: Modify the document links to point the wiki's ones. (hyunsik) |
| |
| TAJO-17: Improve the examples for jvm version and auxiliary service in |
| getting_started.apt. (hyunsik) |
| |
| TAJO-10: Modify git ignore to include Apache derby log file. (hsaputra) |
| |
| TAJO-12: Add information in README on how to subscribe to mailing |
| lists (mattmann, hyunsik) |
| |
| TAJO-11: Update file README to reflect Apache incubation. (hyunsik) |
| |
| TAJO-4: Update the project site. (hyunsik) |
| |
| TAJO-2: remove all @author tags and update license header. (hyunsik) |
| |
| BUG FIXES |
| |
| TAJO-511: Sometimes, a query progress becomes higher than 100%. (jihoon) |
| |
| TAJO-281: 'mvn package -Pdist' generates duplicate Tajo jar files. |
| (hyunsik) |
| |
| TAJO-277: Infinite loop occurs when a table is empty. (jinho) |
| |
| TAJO-273: NotEval incurs NPE with boolean column. (hyunsik) |
| |
| TAJO-272: boolean test does not work correctly. (hyunsik) |
| |
| TAJO-264: Remove hard-coded 'standby' mode. (jinho) |
| |
| TAJO-262: Integration test hang on jenkins. (jinho) |
| |
| TAJO-257: Unit tests occassionally fail. (hyunsik) |
| |
| TAJO-169: the default TAJO_WORKER_STANDBY_MODE in tajo-env.sh is wrong. |
| (hyunsik) |
| |
| TAJO-231: In StorageManger v2, TestCSVCompression incurs unexpected end of |
| stream occasionally. (hyunsik) |
| |
| TAJO-250: QueryMaster must send the query finish heartbeat. (hyunsik) |
| |
| TAJO-245: org.apache.tajo.algebra.FunctionExpr cannot be cast to |
| org.apache.tajo.algebra.ColumnReferenceExpr. (hyunsik) |
| |
| TAJO-243: The 'tajo_dump' does not include options of table. (jinho) |
| |
| TAJO-244: assignToNonLeafTasks causes NPE occurs occasionally. (hyunsik) |
| |
| TAJO-242: Enable omitted broadcast join feature after TAJO-184. (hyunsik) |
| |
| TAJO-240: Reformat HiveConverter source code to match adopted conventions |
| (jaehwa) |
| |
| TAJO-241: Does not reconnect the meta store. (jinho) |
| |
| TAJO-226: Can't use group by column alias. (hyunsik) |
| |
| TAJO-203: Field delimiter does not work correctly. (jinho) |
| |
| TAJO-205: Repartitioner occasionally chooses a partition number as one. |
| (hyunsik) |
| |
| TAJO-191: INSERT OVERWRITE INTO statement should follow the table meta in |
| catalog. (jinho) |
| |
| TAJO-198: The split function does not work properly. (jinho) |
| |
| TAJO-187: The exception 'Some targets cannot be evaluated' is caused in |
| nested joins. (hyunsik) |
| |
| TAJO-46: The "having" clause does not work properly. (hyunsik) |
| |
| TAJO-186: Improve column resolving method. (hyunsik) |
| |
| TAJO-168: infinite loop occurs when QueryMaster is stopping. (jinho) |
| |
| TAJO-180: Better error messages for |
| StorageManager.listStatus$InvalidInputException. (hyunsik) |
| |
| TAJO-177: Call by reference bug in MergeJoinExec. (jihoon) |
| |
| TAJO-171: BitArray always returned false. (jinho) |
| |
| TAJO-172: TajoWorker allocate wrong container slots.(jinho) |
| |
| TAJO-174: SQL error handler sometimes occurred NPE. (jinho) |
| |
| TAJO-170: mvn compile error when building tar file. (jaehwa) |
| |
| TAJO-154: Query calculates wrong progress in multiple step queries. |
| (hyunsik) |
| |
| TAJO-152: The tajo local directory path is mismatched in PullServer. |
| (jihoon) |
| |
| TAJO-80: Remove codes of legacy data paths. (jihoon) |
| |
| TAJO-159: QueryMaster cannot connect the remote CatalogServer. (hyunsik) |
| |
| TAJO-158: Can't allocate worker when single SubQuery requests more than |
| cluster capacity. (hyoungjunkim via hyunsik) |
| |
| TAJO-157: The CSVScanner.isSplittable() function does not work properly. |
| (jinho) |
| |
| TAJO-156: BufferUnderflowException occurs during processing the |
| intermediate file. (jinho) |
| |
| TAJO-151: Multiple union queries within a table subquery causes NPE. |
| (hyunsik) |
| |
| TAJO-137: Unreleased resources and wrong allocation requests in |
| TajoWorkerResourceManager. (hyoungjunkim via hyunsik) |
| |
| TAJO-130: Same queryConf file conflicts. (jinho) |
| |
| TAJO-82: NullPointerException occurs when Schema is converted as an array |
| of columns. (jihoon) |
| |
| TAJO-65: Invalid pom.xml configurations for source directories. |
| (Takuya Ueshin via hyunsik) |
| |
| TAJO-48: BufferUnderflowException occurs during the initialization of |
| RowFile. (jihoon) |
| |
| TAJO-58: Remove obsolete methods in GlobalPlanner. (hyunsik) |
| |
| TAJO-54: SubQuery::allocateContainers() may ask 0 containers. (hyunsik) |
| |
| TAJO-41: Storage handler name row in storage-default.xml must be rowfile. |
| (hsaputra) |
| |
| TAJO-47: RowFile has the duplicated initialization problem and unflipped |
| ByteBuffer problem. (jihoon) |
| |
| TAJO-38: Update class comment in TaskAttemptContext from Korean to English |
| (hsaputra) |
| |
| TAJO-15: The Integration test is getting hanged on Mac OS X. (hyunsik) |
| |
| TAJO-8: MapReduce's ShuffleHandler and Tajo's PullServerAuxService conflict |
| each other. (jhkim) |
| |
| TAJO-13: Update the groupId property in the pom.xml to use ASF org instead |
| of kr.ac.korea.dbserver (hsaputra) |
| |
| TAJO-1: RCFileWrapper always reads whole columns regardless of the target |
| schema. (jihoonson via hyunsik) |
| |
| TAJO-6: Rename tajo.engine.function.builtin.NewSumInt to SumInt. (rsumbaly) |
| |
| TAJO-21: CREATE EXTERNAL TABLE should support a file path. (JaeHwa Jung) |
| |
| TASKS |
| |
| TAJO-288: Correct NOTICE file and LICENSE.txt. (hyunsik) |
| |
| TAJO-271: Add MIT license to NOTICE.txt and LICENSE.txt for jquery and |
| jsPlumb. (hyunsik) |
| |
| TAJO-265: Update installation guide and other documentation for 0.2 |
| release. (hyunsik) |
| |
| TAJO-252: Add DISCLAIMER file. (hyunsik) |
| |
| TAJO-251: Rename the legacy name *.tql to *.sql. (hyunsik) |