* BufFileFlush * * Like fflush(), except that I/O errors are reported with ereport(). */
| 882 | * Like fflush(), except that I/O errors are reported with ereport(). |
| 883 | */ |
| 884 | static void |
| 885 | BufFileFlush(BufFile *file) |
| 886 | { |
| 887 | switch (file->state) |
| 888 | { |
| 889 | case BFS_RANDOM_ACCESS: |
| 890 | case BFS_SEQUENTIAL_WRITING: |
| 891 | break; |
| 892 | |
| 893 | case BFS_COMPRESSED_WRITING: |
| 894 | BufFileEndCompression(file); |
| 895 | break; |
| 896 | |
| 897 | case BFS_SEQUENTIAL_READING: |
| 898 | case BFS_COMPRESSED_READING: |
| 899 | /* no-op. */ |
| 900 | return; |
| 901 | } |
| 902 | |
| 903 | if (file->dirty) |
| 904 | BufFileDumpBuffer(file); |
| 905 | |
| 906 | Assert(!file->dirty); |
| 907 | } |
| 908 | |
| 909 | /* |
| 910 | * BufFileSeek |
no test coverage detected