Skip to content
Permalink
Browse files
Merge 10.3 into 10.4
  • Loading branch information
dr-m committed Nov 9, 2022
2 parents 8fb176c + 6b91792 commit 20969aa
Show file tree
Hide file tree
Showing 7 changed files with 28 additions and 10 deletions.
@@ -319,3 +319,12 @@ SELECT * from pg_in_maria;
my space column
My value
DROP TABLE pg_in_maria;
#
# MDEV-29397 UPDATE with WHERE on part of two-part primary key causes
# info to turn into error.
#
CREATE TABLE t1 (a VARCHAR(6), b VARCHAR(6), PRIMARY KEY(a, b)) ENGINE=CONNECT TABNAME='schema1.t3' CHARSET=utf8 DATA_CHARSET=utf8 TABLE_TYPE=ODBC CONNECTION='DSN=ConnectEnginePostgresql;UID=mtr;PWD=mtr';
UPDATE t1 SET a='10' WHERE a='20';
Warnings:
Note 1105 schema1.t3: 0 affected rows
DROP TABLE t1;
@@ -223,3 +223,12 @@ DROP TABLE t1;
CREATE TABLE pg_in_maria ENGINE=CONNECT TABNAME='schema1.space_in_column_name' CHARSET=utf8 DATA_CHARSET=utf8 TABLE_TYPE=ODBC CONNECTION='DSN=ConnectEnginePostgresql;UID=mtr;PWD=mtr' quoted=1;
SELECT * from pg_in_maria;
DROP TABLE pg_in_maria;

--echo #
--echo # MDEV-29397 UPDATE with WHERE on part of two-part primary key causes
--echo # info to turn into error.
--echo #
CREATE TABLE t1 (a VARCHAR(6), b VARCHAR(6), PRIMARY KEY(a, b)) ENGINE=CONNECT TABNAME='schema1.t3' CHARSET=utf8 DATA_CHARSET=utf8 TABLE_TYPE=ODBC CONNECTION='DSN=ConnectEnginePostgresql;UID=mtr;PWD=mtr';
UPDATE t1 SET a='10' WHERE a='20';
DROP TABLE t1;

@@ -2582,7 +2582,7 @@ int ODBConn::Rewind(char *sql, ODBCCOL *tocols)
int rc, rbuf = -1;

if (!m_hstmt)
rbuf = -1;
rbuf = 0;
else if (m_Full)
rbuf = m_Rows; // No need to "rewind"
else if (m_Scrollable) {
@@ -472,15 +472,15 @@ bool TDBEXT::MakeSQL(PGLOBAL g, bool cnt)
my_len= res - buf + 1;
my_schema_table= (char *) malloc(my_len);
memcpy(my_schema_table, buf, my_len - 1);
my_schema_table[my_len] = 0;
my_schema_table[my_len - 1] = 0;
Query->Append(Quote);
Query->Append(my_schema_table);
Query->Append(Quote);
free(my_schema_table);
Query->Append(".");
// Parse table
my_len= strlen(buf) - my_len + 1;
my_schema_table= (char *) malloc(my_len);
my_schema_table= (char *) malloc(my_len + 1);
memcpy(my_schema_table, ++res, my_len);
my_schema_table[my_len] = 0;
Query->Append(Quote);
@@ -614,7 +614,7 @@ btr_get_size(

ut_ad(srv_read_only_mode
|| mtr_memo_contains(mtr, dict_index_get_lock(index),
MTR_MEMO_S_LOCK));
MTR_MEMO_SX_LOCK));

if (index->page == FIL_NULL
|| dict_index_is_online_ddl(index)
@@ -668,7 +668,7 @@ btr_get_size_and_reserved(
ulint dummy;

ut_ad(mtr_memo_contains(mtr, dict_index_get_lock(index),
MTR_MEMO_S_LOCK));
MTR_MEMO_SX_LOCK));

ut_a(flag == BTR_N_LEAF_PAGES || flag == BTR_TOTAL_SIZE);

@@ -1,6 +1,6 @@
/*****************************************************************************
Copyright (c) 2016, 2019, MariaDB Corporation.
Copyright (c) 2016, 2022, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -280,7 +280,7 @@ dict_stats_save_defrag_stats(
ulint n_leaf_pages;
ulint n_leaf_reserved;
mtr.start();
mtr_s_lock_index(index, &mtr);
mtr_sx_lock_index(index, &mtr);
n_leaf_reserved = btr_get_size_and_reserved(index, BTR_N_LEAF_PAGES,
&n_leaf_pages, &mtr);
mtr.commit();
@@ -1,7 +1,7 @@
/*****************************************************************************
Copyright (c) 2009, 2019, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2015, 2021, MariaDB Corporation.
Copyright (c) 2015, 2022, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -851,7 +851,7 @@ dict_stats_update_transient_for_index(
ulint size;

mtr.start();
mtr_s_lock_index(index, &mtr);
mtr_sx_lock_index(index, &mtr);
size = btr_get_size(index, BTR_TOTAL_SIZE, &mtr);

if (size != ULINT_UNDEFINED) {
@@ -1944,7 +1944,7 @@ static index_stats_t dict_stats_analyze_index(dict_index_t* index)
DEBUG_PRINTF(" %s(index=%s)\n", __func__, index->name());

mtr.start();
mtr_s_lock_index(index, &mtr);
mtr_sx_lock_index(index, &mtr);
size = btr_get_size(index, BTR_TOTAL_SIZE, &mtr);

if (size != ULINT_UNDEFINED) {

0 comments on commit 20969aa

Please sign in to comment.