- 10 Mar, 2020 40 commits
-
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
Sergei Petrunia authored
Also add a safety check
-
Sergei Petrunia authored
The fix needs a followup: "ulong" is 32-bit on 64-bit Windows, so xpand_connection_cursor::rowdata::length needs to be 64-bit but this causes a cascade of datatype changes all over the code.
-
Sergei Petrunia authored
CLX-77 code used "thd->lex->result!=NULL" to check if the SELECT has an INTO part. This is not correct, as the condition also holds when we're using the PS protocol. Use a more generic check: check whether the SELECT has any side effect.
-
Sergei Petrunia authored
Use the same solution as we used for MyRocks.
-
Sergei Petrunia authored
-
Michael Erickson authored
-
Michael Erickson authored
-
Michael Erickson authored
-
Michael Erickson authored
-
Michael Erickson authored
-
Roman Nozdrin authored
-
Isaac Ackerman authored
-
Michael Erickson authored
-
Michael Erickson authored
-
Will DeVries authored
-
Michael Erickson authored
We don't need the MSVC hacks used by Spider.
-
Will DeVries authored
-
Will DeVries authored
-
Michael Erickson authored
Whoops, I did not mean to change the default of xpand_hosts.
-
Michael Erickson authored
Hardcode MYSQL_OPT_PROTOCOL to TCP in the Xpand connection. We can add support for sockets later. Also fix a memory leak in xpand_hosts global variable.
-
Isaac Ackerman authored
-
Isaac Ackerman authored
-
Will DeVries authored
-
Will DeVries authored
-
Isaac Ackerman authored
-
Will DeVries authored
-
Will DeVries authored
-
Sergei Petrunia authored
Fix a number of issues that were preventing row-copying ALTER TABLE from working: - ha_xpand::create() and ha_xpand::open() should take the table name from the arguments, not from TABLE_SHARE object. - ha_xpand::rename_table() should not use decode_file_path() as that fails with an error for temporary table names (#sql_nnnn) - Maintenance of clustrix_table_oid through TABLE_SHARE::tabledef_version didn't cover the temporary work tables created by ALTER TABLE code. Switch to storing it in the Xpand_share instead, and update it in ::create() and ::open. - On as-needed-basis, add quoting of table names to pieces of code that build SQL statements to be ran on the backend. This is a stop-gap measure until a real solution is implemented.
-
Sergei Petrunia authored
Fix the complaint from safemalloc about leaked 8 bytes. When mysql_update() uses direct update, it will still create a quick select (doesn't make much sense, does it?) Quick select will be initialized, which will call ha_xpand::index_init which will allocate ha_xpand::scan_fields. Then, ha_xpand::index_end will be called but it will fail to free scan_fields.
-
Sergei Petrunia authored
Fix xpand.update test It was not using the charsets correctly: UTF-8 encoded strings were passed to MariaDB as latin1. The results of SELECT statements looked correct because they were interpreted as UTF-8, too. But the data in tables was mis-encoded so UPDATE statements already didn't work correctly.
-
Sergei Petrunia authored
Direct UPDATE used to print the original statement. With Prepared Statement, this could cause the statement with original parameter marks ('?') to be printed. Solve this in the same way as "Select Handler" does: print the statement back from the parse tree. The parameters would be substituted.
-
Isaac Ackerman authored
-
Sergei Petrunia authored
Part #2: update the testcase as the database we're using was changed.
-
Sergei Petrunia authored
Make Pushdown_select write output rows into select->join->result, instead of thd->protocol. This makes - SELECT ... INTO @var - SELECT ... INTO OUTFILE - INSERT INTO myisam_table SELECT ... FROM clustrix_table work as intended. Also fixed the federatedx select pushdown handler: - Do not fail an assert if the backend no resultset. Produce an error. - For the SELECT .. INTO syntax, refuse to use Select Handler, because the impelementation doesn't support this.
-
Will DeVries authored
-
Will DeVries authored
-
Michael Erickson authored
-
Will DeVries authored
-