MDEV-4005 fix.
Field matching fixed. DBUG_ASSERT fixed.
This commit is contained in:
parent
ffd5f8c8d4
commit
655e304531
@ -580,3 +580,14 @@ select rowkey, column_json(dyn) from t1;
|
|||||||
rowkey column_json(dyn)
|
rowkey column_json(dyn)
|
||||||
delete from t1;
|
delete from t1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
|
# MDEV-4005 #Server crashes on creating a Cassandra table
|
||||||
|
# with a mix of static and dynamic columns
|
||||||
|
#
|
||||||
|
DROP TABLE IF EXISTS t1, t2;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
pk int primary key,
|
||||||
|
col_int int,
|
||||||
|
dyncol blob DYNAMIC_COLUMN_STORAGE=yes
|
||||||
|
) ENGINE=cassandra keyspace='bug' thrift_host = '127.0.0.1' column_family='cf1';
|
||||||
|
drop table t1;
|
||||||
|
@ -664,6 +664,42 @@ select rowkey, column_json(dyn) from t1;
|
|||||||
delete from t1;
|
delete from t1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-4005 #Server crashes on creating a Cassandra table
|
||||||
|
--echo # with a mix of static and dynamic columns
|
||||||
|
--echo #
|
||||||
|
--disable_warnings
|
||||||
|
DROP TABLE IF EXISTS t1, t2;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
--remove_files_wildcard $MYSQLTEST_VARDIR cassandra_test_cleanup.cql
|
||||||
|
--write_file $MYSQLTEST_VARDIR/cassandra_test_cleanup.cql
|
||||||
|
drop keyspace bug;
|
||||||
|
EOF
|
||||||
|
--error 0,1,2
|
||||||
|
--system cqlsh -3 -f $MYSQLTEST_VARDIR/cassandra_test_cleanup.cql
|
||||||
|
|
||||||
|
--remove_files_wildcard $MYSQLTEST_VARDIR cassandra_test_init.cql
|
||||||
|
--write_file $MYSQLTEST_VARDIR/cassandra_test_init.cql
|
||||||
|
|
||||||
|
CREATE KEYSPACE bug
|
||||||
|
WITH strategy_class = 'org.apache.cassandra.locator.SimpleStrategy'
|
||||||
|
AND strategy_options:replication_factor='1';
|
||||||
|
|
||||||
|
USE bug;
|
||||||
|
create columnfamily cf1 ( pk int primary key, col_int int, a bigint );
|
||||||
|
EOF
|
||||||
|
|
||||||
|
--system cqlsh -3 -f $MYSQLTEST_VARDIR/cassandra_test_init.cql
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
pk int primary key,
|
||||||
|
col_int int,
|
||||||
|
dyncol blob DYNAMIC_COLUMN_STORAGE=yes
|
||||||
|
) ENGINE=cassandra keyspace='bug' thrift_host = '127.0.0.1' column_family='cf1';
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
## Cassandra cleanup
|
## Cassandra cleanup
|
||||||
|
@ -1517,6 +1517,7 @@ bool ha_cassandra::setup_field_converters(Field **field_arg, uint n_fields)
|
|||||||
DBUG_RETURN(true);
|
DBUG_RETURN(true);
|
||||||
}
|
}
|
||||||
(*conv)->field= *field;
|
(*conv)->field= *field;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (dyncol_set && !(*field)) // is needed and not found
|
if (dyncol_set && !(*field)) // is needed and not found
|
||||||
@ -1611,7 +1612,7 @@ void ha_cassandra::free_field_converters()
|
|||||||
for (uint i=0; i < n_field_converters; i++)
|
for (uint i=0; i < n_field_converters; i++)
|
||||||
if (field_converters[i])
|
if (field_converters[i])
|
||||||
{
|
{
|
||||||
DBUG_ASSERT(!dyncol_set || i == dyncol_field);
|
DBUG_ASSERT(!dyncol_set || i != dyncol_field);
|
||||||
delete field_converters[i];
|
delete field_converters[i];
|
||||||
}
|
}
|
||||||
my_free(field_converters);
|
my_free(field_converters);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user