Skip to content
This repository has been archived by the owner on Jan 28, 2021. It is now read-only.

Releases: src-d/go-mysql-server

v0.6.0

04 Oct 08:13
b09e8c1
Compare
Choose a tag to compare

Implemented enhancements:

  • Compile error: parse.go:248:77: undefined sqlparser.SCHEMAS #826
  • Reduce amount of implemented code on Expressions #772
  • Support for regexp_matches #756
  • Request: SLEEP function #647
  • Parallelize index creation #346
  • TPC-H: unsupported feature: HAVING #56
  • sql: implement count distinct #785
  • server: kill queries on connection closed #769
  • sql/analyzer: refactor pushdown rule #752
  • sql/analyzer: refactor resolve_natural_joins rule #750
  • replace all gopkg.in imports and use only go mods #736
  • sql: implement EXPLODE and generators #720
  • sql/analyzer: refactor and fix bugs in qualify_columns rule #706
  • Support SHOW SCHEMAS (upgrade vitess to v1.6.0) #696
  • Add build, tag for oniguruma, remove for mysql_go_regex, update README #660

Fixed bugs:

  • Races detected on running gitbase during the test #828
  • Failing test for connection handler in Linux #821
  • LIKE fails when new lines are present #814
  • ORDER BY does not fail on non-existent columns #813
  • resolveDatabase is not working if database is changed using USE #810
  • Not support types of char and datetime #807
  • Long processing queries don't stop if the connection is dead/killed until the timeout triggers #800
  • sleep function cannot be cancelled #797
  • Connection problems and possible fix #796
  • Error on CASE statements when result is not bool #787
  • Error on Travis testing jdk 10 #782
  • NULL is not printed in the resulting table #779
  • No root span created for a query #778
  • Handle strings on EvaluateCondition #770
  • ARRAY_LENGTH is not handling null values well #766
  • [Panic] - on HAVING query #764
  • JSON_EXTRACT returns strings quoted #761
  • unable to cast <nil> of type <nil> to float64 #759
  • Panic on query using EXPLODE #755
  • LEFT JOIN and RIGHT JOIN are returning more than a single row per left/right row #742
  • Cannot return NULL in a CASE branch #740
  • Cannot parse "show create table a.b" #733
  • gitbase dies for query with WHERE NOT <not boolean value> #726
  • JSON_EXTRACT cannot cast JSON string #709
  • Nested SUBSTRING fails with INVALID_ARGUMENT error #705
  • Incorrect type name for int64 in create table #702
  • Make sure dates and times are within the supported range #698
  • unable to cast "<repository name>" of type string to int64 #691
  • Index generation is slower than previous implementation #676
  • ORDER BY with aggregations fails with a missleading error #675
  • Problems dropping outdated index #674
  • Bug: Mis-formatted error diagnostics for incorrect function use #665
  • Using fqn in SHOW CREATE TABLE errors #662
  • Indexes on language func does not work with aliased cols #639
  • KILL fails with err message "closed network connection" #635
  • commits does not have column commit_author_when #630
  • Incorrect projected fields #619
  • Support DISTINCT and multiple expressions on aggregation functions #162
  • sql: fix SQL method for arrays of JSON #790
  • sql: use custom boolean coercion logic in condition evaluation #768
  • function: correctly transform up explode nodes #757
  • sql: correctly handle nulls in SQL type conversion #753
  • sql/analyzer: back-propagate expression names after adding convert #739
  • Upgrade vitess to v1.7.0 #732
  • Make boolean expression compatible with MySQL #731
  • Make PROCESSLIST and KILL compatible with MySQL #722
  • sql/analyzer: convert_dates should not change column name #721
  • server: guard sessions access in mutex #713
  • sql/analyzer: run convert_dates rule after prune_columns #703
  • sql/analyzer: alias projected columns wrapped in converts #701
  • Try to order by function #692
  • sql/analyzer: only check aliases to qualify in the topmost project #690
  • Make mapping per partition #681
  • server: correctly set binary charset on blob fields #673
  • Fix validation rule to detect tuples in projections or groupbys #672
  • Close iterators #655
  • Check projection aliases when assigned to index. #640

Closed issues:

  • Add sql/expression/literal\_test.go #776
  • FR: Select single fields from substring search or split results #747
  • Add FIRST/LAST aggregations #718
  • Add SUBSTRING_INDEX #716
  • Add LENGTH function (for strings) #715
  • LEFT OUTER JOIN support #707
  • vet tool #686
  • [FEATURE] Suggest similar table/column names when one is not found in a query #684
  • Upgrade pilosa to v1.3.0 #679
  • document environment variables in here, not just gitbase #668
  • Add Greatest, Least #664
  • DATE_SUB and DATE_ADD functions #663
  • Add support for DATE function #653
  • Add support for SHOW SCHEMAS #652
  • count is int32 #642
  • Feature request: don't die on panic #625
  • Suppress build warning for oniguruma #623
  • yearweek function #616
  • Replace and test BoltDB by github.com/etcd-io/bbolt #614
  • Use in-memory join when one of the tables is small enough #577
  • Add ...
Read more

v0.5.1

05 Mar 15:17
188b5c9
Compare
Choose a tag to compare

Implemented enhancements:

  • Provide a single, default, performant and stable regex implementation #615
  • Make oniguruma a default regex engine #618

Fixed bugs:

  • mysql.NewAuthServerStatic does not implement auth.Auth interface #622
  • Boolean type does not work in raw CREATE TABLE queries #611
  • Upgrade go-vitess.v1 to version v1.5.0 #617

Merged pull requests:

  • Fix KILL to try to kill by the query ID instead of connID #629
  • Update readme #624

v0.4.0

13 Feb 11:03
c3c8dcb
Compare
Choose a tag to compare

Implemented enhancements:

  • Supported client examples do not use defaults for user, pass and database names #597
  • Improve Function invalid argument number error specifying the affected function name #591
  • Run staticcheck on go-mysql-server - list of things to verify/check #581
  • CASE statement #575
  • sql: add Databaser interface for cleaner analyzer rules #592

Fixed bugs:

  • Restart gitbase makes indexes outdated #612
  • Running a query containing the REGEXP function with an invalid pattern breaks #606
  • KILL generates an error by not returning an error or a result #601
  • Warnings are being cleared after every query #600
  • Possible error in SHOW CREATE TABLE #594
  • Improve Function invalid argument number error specifying the affected function name #591
  • alias used on a expression in the same projection should fail always #590
  • EXPLAIN only shows the first index #585
  • Round with decimal panics #579
  • [SQLAlchemy] missing column in SHOW FULL TABLES #562
  • Upgrade go-vitess.v1 to version v1.5.0 #617
  • Fix checksum for multi underlying tables. #613
  • Clear warnings just after successful query. #608
  • Check if regexp matcher is nil. #607
  • Support SQLAlchemy syntax for show create table #598
  • sql: fix row construction in innerJoinIter #595

Closed issues:

  • [SQLAlchemy] SELECT @@transaction_isolation support or workaround #564
  • [SQLAlchemy] support SHOW collation #561

Merged pull requests:

  • Update examples #610
  • sql/analyzer: fix use of declared aliases in the same projection #609
  • add experimental optional feature to use in memory joins #605
  • server: return empty results when query is KILL #604
  • sql/analyzer: remove QueryProcess nodes from subqueries #603
  • sql: better errors for invalid argument number #596
  • sql: implement dummy ROLLBACK #593
  • sql: add transaction_isolation default value #589
  • sql/*: fix show tables to match MySQL spec #588
  • sql/*: implement show collation #587
  • sql/index/pilosa: return all index ids in lookups #586
  • sql: use checksums to determine if indexes are outdated #583
  • fix errors pointed out by staticcheck #582
  • Fix ROUND function for 2 args. #580
  • sql/plan: speed up InnerJoin iterator #578
  • sql/(analyzer,parse,expression): implement case expression #576

v0.3.0

18 Dec 07:34
ac59802
Compare
Choose a tag to compare

Implemented enhancements:

  • Add IF(), IFNULL(), NULLIF() #527
  • Add NOW function #566
  • Rule to remove unused columns from projections and pushdown #570
  • [Tableau] - Support DEFAULT expression #487
  • Reference substring with substr and mid #483

Fixed bugs:

  • Add Tableau to SUPPORTED_CLIENTS.md #558
  • unsupported syntax: <nil> #553
  • IsNullable does not retain null when we return nil in expressions #546
  • Check correct usage of Null value #542
  • Unable to connect to _example/main.go mem server using Java JDBC driver #319
  • Replace one regex by pool of regex matchers. #557
  • Implement ifnull and nullif functions. #555
  • Add explicit error when ON clause is missed for JOIN statement #554

Closed issues:

  • go 1.11.2 doesn't fetch auth #551

Merged pull requests:

  • analyzer: fix fields of subqueries too on prune_columns #574
  • analyzer: correctly search for subquery used columns #573
  • analyzer: add rule to prune unnecessary columns #572
  • function: implement NOW function #568
  • analyzer: wait until NaturalJoins are resolved on reorder rule #567
  • *: fix query cancellation #565
  • Fix soundex type #560
  • docs: add tableau to supported clients #559
  • Make conversion error clearer and less detailed. #556
  • Add error for subqueries #552
  • Feature/mid substr #548

v0.2.0

15 Nov 15:53
2da211e
Compare
Choose a tag to compare

Implemented enhancements:

  • Add REVERSE, REPLACE, REPEAT #540
  • Add RTRIM, TRIM, LTRIM #537
  • Add SQRT/POWER function #523
  • add navicat support #521
  • Add support for using desc table (short version of describe table) #494
  • Implement RPAD, LPAD #484
  • Update year and org name in LICENSE #476
  • Define a simple interface to be able to implement authentication and authorization. #469
  • Test tableau with go-mysql-server and add integration tests with the queries used by the application itself. #468
  • Test grafana with go-mysql-server and add integration tests with the queries used by the application itself. #467
  • Collect session warnings #465
  • Support negative integers in expressions #444
  • Implement SHOW WARNINGS; #442
  • Add support for LOG, LOG2, LOG10, LN #392
  • Test 3rd party applications integration #387
  • Show warnings - implementation #464

Fixed bugs:

  • go get is downloading a different version or readme is wrong #541
  • [Tableau]: GROUP BY X with alias (as columnd name) and INNER JOIN #535
  • Substring function is not parsed correctly #532
  • Show table status without from/in/like or where fails to parse #530
  • Group by alias (alias name is the same as column name) #524
  • Disable or capture log from go-vitess #490
  • panic in group by #481
  • support database qualifiers #118
  • Fix filtered index #550
  • upgrade vitess to v1.4.0 #545
  • Implement group by index #525
  • Do not pull vt/logutil/level.go #514

Closed issues:

  • Update missing statement on SUPPORTED.md file #533
  • [Tableau] - add support for GROUP BY X #520
  • this is a bug with go-vitess.v1 ? with roolback to go-vitess.v1:v1.0.0 ok when run _example/main.go #519
  • [Tableau]: Add support for information_schema.columns #510
  • [Tableau] - support for DATABASE() function #503
  • Rule to remove unnecessary CAST nodes #502
  • [Tableau] - Support for sql_select_limit #492
  • [Tableau] - support for INFORMATION_SCHEMA.TABLES queries #489
  • [Tableau] - default db name cannot be an empty string #488
  • Please, add me as contributor #Hacktoberbest #485
  • Inconsistent Errors using backticks #447

Merged pull requests:

  • docs: add go-vitess dependency information #544
  • Add Reverse, Repeat, Replace #543
  • Add Trim, Ltrim, Rtrim #539
  • docs: add missing supported expressions #538
  • auth: add Audit to log user interactions #536
  • Feature/pow sqrt #534
  • sql/(plan,parse): fix show table status behaviour #531
  • level.go doesn't panic anymore. #529
  • sql: add information_schema.schemata table #528
  • sql/analyzer: add rule to avoid unnecessary casts #526
  • Feature/lpad rpad #522
  • go-vitess@1.3.0 #518
  • sql: process list now shows client address #517
  • Revert "update license with year and org name" #515
  • Upgrade vitess to v1.2.1 #512
  • Add support for information_schema.columns #511
  • Added badges in readme file #509
  • sql, function: add weekday and dayofweek #507
  • Implement sql_select_limit #506
  • Implement DATABASE() function. #505
  • Implement information_schema.tables #504
  • _scripts: replace glog with logrus #501
  • Add support for CONCAT_WS #500
  • analyzer: fix pushdown of filters with repeated table names #498
  • Correct spelling #497
  • auth: add authentication and authorization interface #496
  • Add support for using desc table #495
  • Add support for set DEFAULT #493
  • Check if eval buffer is empty. #491
  • sql: function, added soundex #486
  • Feature/logarithms #482
  • sql: support more timestamp formats #480
  • Feature/collect warnings #479
  • integration: add grafana queries to go integration #477
  • *: remaining fixes to make mysqldump work with go-mysql-server #474
  • sql/(parse,expression): implement unary minus #456

v0.1.1

15 Nov 15:54
b05455e
Compare
Choose a tag to compare

Implemented enhancements:

  • Traces should be more granular #466
  • Implement table locking #410
  • Implement SHOW CREATE DATABASE #407
  • Add configuration per engine instance and per session #109

Fixed bugs:

  • pilosa holder has to sync up data with indexes #472
  • No holder! #478

Merged pull requests:

  • update license with year and org name #475
  • Fix Apache License #473
  • sql: add timing info to span traces #470
  • sql: implement SHOW CREATE DATABASE statement #460
  • *: implement LOCK and UNLOCK of tables #448
  • sql: plan: Add SHOW CREATE TABLE [Fix #406] #435

v0.1.0

17 Oct 12:54
49c4028
Compare
Choose a tag to compare

Implemented enhancements:

  • Add support for CONNECTION_ID #433
  • Implement LIKE expression #426
  • Strip comments from queries #413
  • Show databases #412
  • USE command to change database #411
  • Implement SHOW VARIABLES #409
  • Implement INFORMATION_SCHEMA database with FILES and COLUMN_STATISTICS tables #408
  • Implement SHOW CREATE TABLE #406
  • Implement JSON_EXTRACT UDF #405
  • Implement show fields from #404
  • Implement show table status #403
  • Resolve tables with database qualifier #402
  • Add support for ROUND, FLOOR, CEIL #393
  • Add support for LOWER, UPPER #390
  • Add support for COALESCE #389
  • Improve error on nested query without aliasing #376
  • Support ON/OFF as synonyms of 1/0 #374
  • Remove pilosa index driver #370
  • Make compatible gitbase with MariaDB JDBC driver #359
  • Upgrade go-pilosa to version 0.10.0 #353
  • Show full process list #348
  • Cancel creating an index by DROP #343
  • Proposal: add build flag to be able to use REGEXP statement with Oniguruma #341
  • sql.IndexLookup should be able to return the IDs of all indexes involved #333
  • Improve the information returned by show indexes #315
  • Partitions: Rules to apply Exchange operator into query trees #313
  • Partitions: Exchange operator. #312
  • Partitions: Change Indexable interfaces to make use of partitions #311
  • Data source api: change Project and Filter pushdown interfaces #310
  • Partitions: Make tables use partitions #309
  • Add support for SHOW INDEXES #303
  • Implement a new pilosa (server-less) index driver #302
  • Rules review #294
  • Implement NegateIndex in pilosa #291
  • Introduce better config mechanism to engine constructor #285
  • Create optimization rule to evaluate filter expressions if possible #280
  • Code refactor to make use of IsUnary and IsBinary functions. #272
  • Sync create index queries #271
  • Split analyzer rules into several files #267
  • Add SUM aggregation function #236
  • Create rule to move filters from Join conditions to where clauses #235
  • Index creation appears to do nothing. #231
  • Add support for basic query EXPLAIN #216
  • analyzer: Add to resolve index rule range checking using DescendIndex and AscendIndex. #214
  • analyzer: Check rule that try merge compatible indexes. #213
  • PilosaDriver: Implement SetOperations and Mergeable interfaces on IndexLookup #212
  • PilosaDriver: Implement AscendIndex and DescendIndex interfaces #211
  • Document motivation and scope of the project #203
  • Mobiles with gomobile #198
  • Implement Pilosa IndexDriver #174
  • IndexLoader pilosa index implementation #173
  • Standardise logging library across multiple projects #164
  • Register a DUAL table by default #153
  • Some changes to opentracing reported metrics #151
  • Support arithmetic operators #142
  • Save performance metrics #137
  • Differences between MySQL parser and vitess parser regarding star expr #120
  • Create String() method on Node Interface #95
  • Split UDFs into several files in their own package #67
  • BETWEEN Expresion #62
  • Implement avg() Function #61
  • Add support to sqlparser.ValTuple and sqlparser.SQLVal #60
  • TPC-H: Implement Inner Join #57
  • TPC-H queries #47
  • Fix unsupported feature: non simple tables #46
  • Implement DATE data type #45
  • Implement YEAR(date) Function #43
  • Implement SUBSTRING(string, start, length) function #42
  • Unsupported syntax: sqlparser.ParenExpr #41
  • Proposal: Specify function arity instead of using reflection #37
  • Pass session around #36
  • Implement null logic #33
  • Implement array_length(Array)Number function #7
  • Implement SHOW VARIABLES #452
  • Register COALESCE function. Update docs. Add integration test to engine. #437
  • Implementation of COALESCE function. #431
  • Support ON/OFF for SET autocommit #383
  • Drop indexes in progress. #354
  • Pilosa index driver as library #308
  • Implementation of Pilosa Index Driver #205

Fixed bugs:

  • CREATE INDEX logs are counting elements per partition. #455
  • SHOW PROCESSLIST is not showing correctly processed partitons on CREATE INDEX queries. #454
  • Float results get truncated #450
  • Support quoted numbers as strings #445
  • SUBSTRING does not conform to MySQL behavior for 2 arguments #418
  • Column name resolution in SELECT is ambigious even when using NATURAL JOIN #415
  • Table names must be case insensitive #385
  • Support for GROUP BY on aliased fields #375
  • Describe String() method is not well implemented #358
  • DESCRIBE outputs too many columns #357
  • Don't preload all rows computing aggregations #331
  • No data for NOT expressions with non existing value and index #323
  • Panic when querying for non existing value with pilosa index #322
  • crossJoinIterator is not using contexts, so queries cannot be cancelled. [#292](https://github.com/src-d/g...
Read more