[
https://issues.apache.org/jira/browse/TRAFODION-2298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15590117#comment-15590117
]
ASF GitHub Bot commented on TRAFODION-2298:
-------------------------------------------
GitHub user DaveBirdsall opened a pull request:
https://github.com/apache/incubator-trafodion/pull/770
[TRAFODION-2298] Fix issue with incremental stats and LOB columns
Strange error messages would occur when creating a sample table (persistent
or not) against a table having LOB columns. This has been fixed.
While I was at it, I noticed that attempts to do update stats on an empty
table with the PERSISTENT keyword would apparently succeed, but fail to create
a persistent sample table. This is reasonable behavior, as there is no data to
store. However it would be good to warn the user that no persistent sample
table was created. A warning 9220 is now issued in this case.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/DaveBirdsall/incubator-trafodion Trafodion2298
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-trafodion/pull/770.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #770
----
commit 98561ca51012b154422da024e45f115e2e957da0
Author: Dave Birdsall <[email protected]>
Date: 2016-10-19T22:51:04Z
[TRAFODION-2298] Fix issue with incremental stats and LOB columns
----
> INC UPD STATS: Incremental update stats on every column should ignore LOB
> columns
> ---------------------------------------------------------------------------------
>
> Key: TRAFODION-2298
> URL: https://issues.apache.org/jira/browse/TRAFODION-2298
> Project: Apache Trafodion
> Issue Type: Bug
> Components: sql-cmp
> Affects Versions: 2.1-incubating
> Environment: All
> Reporter: David Wayne Birdsall
> Assignee: David Wayne Birdsall
>
> This problem is similar to JIRA TRAFODION-1978, which has been fixed. With
> that fix, when update stats is run on LOB columns, it returns the 9246 error.
> When it is run on every column, it quietly ignores the LOB columns. But as
> shown here, 'update statistics ... sample random n percent persistent'
> returns perplexing 9200 and 4035 errors when run on every column, even though
> it returns the proper 9246 error when run on only one LOB column (c1).
> >>control query default TRAF_BLOB_AS_VARCHAR 'OFF';
> --- SQL operation complete.
> >>control query default TRAF_CLOB_AS_VARCHAR 'OFF';
> --- SQL operation complete.
> >>
> >>create table mytable (row_id int, c1 blob, c2 clob);
> --- SQL operation complete.
> >>
> >>insert into table mytable values (1, stringtolob('string 1'),
> >>stringtolob('string 2'));
> --- 1 row(s) inserted.
> >>insert into table mytable values (2, stringtolob('string 3'),
> >>stringtolob('string 4'));
> --- 1 row(s) inserted.
> >>insert into table mytable values (3, stringtolob('string 5'),
> >>stringtolob('string 6'));
> --- 1 row(s) inserted.
> >>
> >>update statistics for table mytable on c1 random 100 percent persistent;
> *** ERROR[9246] UPDATE STATISTICS is not supported on LOB columns. Column C1
> is a LOB column.
> --- SQL operation failed with errors.
> >>update statistics for table mytable remove sample;
> *** WARNING[9228] There were no sample tables to drop.
> --- SQL operation completed with warnings.
> >>update statistics for table mytable on every column sample random 100
> >>percent persistent;
> *** ERROR[9200] UPDATE STATISTICS for table TRAFODION.MYSCHEMA1.MYTABLE
> encountered an error (4035) from statement Process_Query.
> *** ERROR[4035] Type LOB cannot be cast to type VARCHAR(100000).
> *** ERROR[8822] The statement was not prepared.
> --- SQL operation failed with errors.
> >>update statistics for table mytable remove sample;
> *** WARNING[9228] There were no sample tables to drop.
> Steps To Reproduce
> create schema myschema1;
> set schema myschema1;
> control query default TRAF_BLOB_AS_VARCHAR 'OFF';
> control query default TRAF_CLOB_AS_VARCHAR 'OFF';
> create table mytable (row_id int, c1 blob, c2 clob);
> insert into table mytable values (1, stringtolob('string 1'),
> stringtolob('string 2'));
> insert into table mytable values (2, stringtolob('string 3'),
> stringtolob('string 4'));
> insert into table mytable values (3, stringtolob('string 5'),
> stringtolob('string 6'));
> update statistics for table mytable on c1 random 100 percent persistent;
> update statistics for table mytable remove sample;
> update statistics for table mytable on every column sample random 100 percent
> persistent;
> update statistics for table mytable remove sample;
> drop schema myschema1 cascade;
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)