Thread
Commits
-
Doc: hack on table 26.1 till it fits in PDF format.
- 2e619f86a96c 13.0 landed
-
Doc: tweak examples to silence line-too-long PDF build warnings.
- 3d14c174cbbb 13.0 landed
-
Doc: split up wait_event table.
- 4fa8bd392d02 13.0 landed
-
Doc: hack table 13.2 "Conflicting Lock Modes" till it fits in PDF.
- 57775e82b235 13.0 landed
-
Doc: fix remaining over-length entries in SQL keywords table.
- 4d1563717fb1 13.0 landed
-
Remaining PDF layout issues
Tom Lane <tgl@sss.pgh.pa.us> — 2020-05-10T21:31:20Z
There are something like 140 "exceeds the available area" PDF build warnings that will remain after the catalog-table reformatting I've proposed nearby. I've looked through these and they fall into two groups: 1. We have lots of overwidth examples. Using our standard monospaced font, A4-size paper has room for lines at most 67 characters long, and many of our examples blow past that. In practice it seems that FOP will only complain if there's an uninterrupted run of more than 67 dashes; otherwise it'll just silently break the lines at some point. (Hence, almost all the warnings are about EXPLAIN output; other wide examples tend to be multi-column query results, and FOP will break those header lines quietly.) So a minimum "fix" to silence the warnings would be to throw in a &zwsp; to allow breaking those header separator lines. Or we could just truncate those header lines at 67 characters --- though that might make the examples look funny in wider windows. However, if FOP is whining about the header line, that implies that it's breaking some of the data lines too, possibly rendering the output less readable than one could wish. Should we worry about that? and if so, what could be done about it? Since there are lots and lots of places where example text is getting line-wrapped *without* any nearby warnings, I'm inclined to write this off as not much of a concern. But if anyone has ideas about really fixing it, I'd like to hear them. 2. The other category of problems is tables that are too wide. The hacking I've done to date has fixed that for most tables, but we still have some individual tables with layout issues: Table 13.2. Conflicting Lock Modes Table 26.1. High Availability, Load Balancing, and Replication Feature Matrix Table 27.4. wait_event Description Table C.1. SQL Key Words The trouble with 13.2 is the column headers. The table cell entries are just "X"s or empty, but the headers are verbose and do not fit. Short of a wholesale redesign, the only fix I can see is to abbreviate the headers. It looks like abbreviating EXCLUSIVE to EXCL might be enough, though I've not actually tried it. That would be kinda weird-looking when seen in a window where there's plenty of room, and as far as I know we can't get DocBook to vary the text based on output format. Anyone got a better idea? Table 26.1 has got the identical issue of overly wordy column headers. TBH, my inclination with this table is not to find a way to fix it but just to remove it. It looks to me like it's just restating the material above it, and it's not even a usefully complete summary because it omits some of the categories (which got kicked to below it, just because they didn't fit into the table's worldview). I also wonder why "Commercial Solutions" is a category at all. Table 27.4 is annoying: it could be made to work, just barely, with some hacking of the column widths and a &zwsp; or two. But it's not stable text so I have little faith in the longevity of such a solution, especially if people keep on inventing long wait event names. I also find it not very readable, even in a wide window. The first idea that comes to mind is to split it into multiple tables, one per "Wait Event Type", so that we don't need the lefthand column. Another idea is to go over to a format similar to what I've proposed for catalog tables, with entries like Timeout / BaseBackupThrottle Descriptive text here ... Timeout / RecoveryApplyDelay Descriptive text here ... The trouble with table C.1 is that some of the SQL committee's keywords are too long, even after the hacking I did to give the keywords a wider column. One wonders why things like "CURRENT_DEFAULT_TRANSFORM_GROUP" are keywords at all. We could do something with spanspec or morerows to give those specific keywords extra space, but it would look weird in renderings where there's plenty of room anyway. We're within hailing distance of zero "exceeds the available area" warnings, so I'd like to get these things resolved. Comments, better ideas? regards, tom lane
-
Re: Remaining PDF layout issues
Tom Lane <tgl@sss.pgh.pa.us> — 2020-05-12T01:59:30Z
I wrote: > Table 27.4 is annoying: it could be made to work, just barely, with some > hacking of the column widths and a &zwsp; or two. But it's not stable > text so I have little faith in the longevity of such a solution, > especially if people keep on inventing long wait event names. I also > find it not very readable, even in a wide window. The first idea that > comes to mind is to split it into multiple tables, one per "Wait Event > Type", so that we don't need the lefthand column. Another idea is to > go over to a format similar to what I've proposed for catalog tables, > with entries like > Timeout / BaseBackupThrottle > Descriptive text here ... > Timeout / RecoveryApplyDelay > Descriptive text here ... Attached is a draft patch that does it the second way. This looks reasonably okay to me, although there's no denying that given a reasonably wide window, the existing layout requires less vertical space. But I'm not sure that matters: I have come to the conclusion, after studying this table, that nobody has ever yet looked at it. If they had, we would surely have gotten gripes about the fact that most of the entries are not in anything resembling alphabetical order. How in the world would anyone look something up in this? I have not changed the ordering in this patch, but I think it would be a good idea to fix it to be rigidly alphabetical (including the "type" part). BTW, for the purposes of this patch I just abused the func_table_entry/func_signature role values. We could invent new ones, but I'm not sure if it's worthwhile for just one table. regards, tom lane
-
Re: Remaining PDF layout issues
Tom Lane <tgl@sss.pgh.pa.us> — 2020-05-12T05:10:06Z
I wrote: >> Table 27.4 is annoying: it could be made to work, just barely, with some >> hacking of the column widths and a &zwsp; or two. But it's not stable >> text so I have little faith in the longevity of such a solution, >> especially if people keep on inventing long wait event names. I also >> find it not very readable, even in a wide window. The first idea that >> comes to mind is to split it into multiple tables, one per "Wait Event >> Type", so that we don't need the lefthand column. Here's an attempt at doing it that way. I think this might be a better answer, although it's still subject to problems if anyone's logorrhea gets any worse in naming wait conditions: "SerializablePredicateLockListLock" is still going to force manually tweaking the column widths. I sorted the names here, too. regards, tom lane