| 1872 | |
| 1873 | |
| 1874 | void PAG_set_db_SQL_dialect(thread_db* tdbb, SSHORT flag) |
| 1875 | { |
| 1876 | /********************************************* |
| 1877 | * |
| 1878 | * P A G _ s e t _ d b _ S Q L _ d i a l e c t |
| 1879 | * |
| 1880 | ********************************************* |
| 1881 | * |
| 1882 | * Functional description |
| 1883 | * Set database SQL dialect to SQL_DIALECT_V5 or SQL_DIALECT_V6 |
| 1884 | * |
| 1885 | *********************************************/ |
| 1886 | SET_TDBB(tdbb); |
| 1887 | Database* dbb = tdbb->getDatabase(); |
| 1888 | |
| 1889 | err_post_if_database_is_readonly(dbb); |
| 1890 | |
| 1891 | WIN window(HEADER_PAGE_NUMBER); |
| 1892 | header_page* header = (header_page*) CCH_FETCH(tdbb, &window, LCK_write, pag_header); |
| 1893 | |
| 1894 | if (flag) |
| 1895 | { |
| 1896 | switch (flag) |
| 1897 | { |
| 1898 | case SQL_DIALECT_V5: |
| 1899 | |
| 1900 | if ((dbb->dbb_flags & DBB_DB_SQL_dialect_3) || (header->hdr_flags & hdr_SQL_dialect_3)) |
| 1901 | { |
| 1902 | // Check the returned value here! |
| 1903 | ERR_post_warning(Arg::Warning(isc_dialect_reset_warning)); |
| 1904 | } |
| 1905 | |
| 1906 | dbb->dbb_flags &= ~DBB_DB_SQL_dialect_3; // set to 0 |
| 1907 | header->hdr_flags &= ~hdr_SQL_dialect_3; // set to 0 |
| 1908 | break; |
| 1909 | |
| 1910 | case SQL_DIALECT_V6: |
| 1911 | dbb->dbb_flags |= DBB_DB_SQL_dialect_3; // set to dialect 3 |
| 1912 | header->hdr_flags |= hdr_SQL_dialect_3; // set to dialect 3 |
| 1913 | break; |
| 1914 | |
| 1915 | default: |
| 1916 | CCH_RELEASE(tdbb, &window); |
| 1917 | ERR_post(Arg::Gds(isc_inv_dialect_specified) << Arg::Num(flag) << |
| 1918 | Arg::Gds(isc_valid_db_dialects) << Arg::Str("1 and 3") << |
| 1919 | Arg::Gds(isc_dialect_not_changed)); |
| 1920 | break; |
| 1921 | } |
| 1922 | } |
| 1923 | |
| 1924 | CCH_MARK_MUST_WRITE(tdbb, &window); |
| 1925 | |
| 1926 | CCH_RELEASE(tdbb, &window); |
| 1927 | } |
| 1928 | |
| 1929 | |
| 1930 | void PAG_set_page_buffers(thread_db* tdbb, ULONG buffers) |
no test coverage detected