Daniel Verite wrote: > ISTM that this could be avoided by erroring out for lack of an > explicit 3rd column as argument. IOW, we wouldn't assume > that "no column specified" means "show all columns". > > About simply ripping out the possibility of having multiple > columns into cells, it's more radical but if that part turns out to > be more confusing than useful, I don't have a problem > with removing it.
Okay, I've ripped that out since I wasn't comfortable with the general idea. Once you have two data values for the same cell, the new code raises an error, indicating the corresponding vertical and horizontal header values; that way it's easy to spot where the problem is. I also removed the FETCH_COUNT bits; it didn't make a lot of sense to me. Like \gexec, the query is executed to completion when in \crosstabview regardless of FETCH_COUNT. > The other case of stringing multiple contents into the same cell > is when different tuples carry (row,column) duplicates. > I'm not inclined to disallow that case, I think it would go too far > in guessing what the user expects. > My expectation for a viewer is that it displays the results as far as > possible, whatever they are. The reason I made this case throw an error is that we can tweak the behavior later. I think separating them with newlines is too cute and will be unusable when you have values that have embedded newlines; you can imitate that behavior with string_agg(val, E'\n') as I've done in the regression tests. One option for improving it would be to have it add another record, but that requires shifting the values of all cells by the number of columns (you can see that if you change the border options, or in HTML output etc). We can do that later. > Also, showing such contents in vertically-growing cells as it > does now allows the user to spot these easily in the grid when > they happen to be outliers. I'm seeing it as useful in that case. It's useful, no doubt. I pushed it. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (email@example.com) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers