Michael Brown has uploaded a new patch set (#2). Change subject: IMPALA-4351,IMPALA-4353: [qgen] randomly generate INSERT statements ......................................................................
IMPALA-4351,IMPALA-4353: [qgen] randomly generate INSERT statements - Generate INSERT statements that are either INSERT ... VALUES or INSERT ... SELECT - On both types of INSERTs, we either insert into all columns, or into some column list. If the column list exists, all primary keys will be present, and 0 or more additional columns will also be in the list. The ordering of the column list is random. - For INSERT ... SELECT, occasionally generate a WITH clause - For INSERT ... VALUES, generate non-null constants for the primary keys, but for the non-primary keys, randomly generate a value expression. The type system in the random statement/query generator isn't sophisticated enough to the implicit type of a SELECT item or a value expression. It knows it will be some INT-based type, but not if it's going to be a SMALLINT or a BIGINT. To get around this, the easiest thing seems to be to explicitly cast the SELECT items or value expressions to the columns' so-called exact_type attribute. Much of the testing here involved running discrepancy_searcher.py --explain-only on both tpch_kudu and a random HDFS table, using both the default profile and DML-only profile. This was done to quickly find bugs in the statement generation, as they tend to bubble up as analysis errors. I expect to make other changes as follow on patches and more random statements find small test issues. Change-Id: I842b41f0eed07ab30ec76d8fc3cdd5affb525af6 --- M tests/comparison/common.py M tests/comparison/db_connection.py M tests/comparison/funcs.py M tests/comparison/model_translator.py M tests/comparison/query_generator.py M tests/comparison/query_profile.py M tests/comparison/statement_generator.py M tests/comparison/tests/query_object_testdata.py 8 files changed, 270 insertions(+), 90 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/86/5486/2 -- To view, visit http://gerrit.cloudera.org:8080/5486 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I842b41f0eed07ab30ec76d8fc3cdd5affb525af6 Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Michael Brown <[email protected]> Gerrit-Reviewer: David Knupp <[email protected]> Gerrit-Reviewer: Michael Brown <[email protected]>
