MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / PAG_set_db_SQL_dialect

Function PAG_set_db_SQL_dialect

src/jrd/pag.cpp:1874–1927  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1872
1873
1874void 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
1930void PAG_set_page_buffers(thread_db* tdbb, ULONG buffers)

Callers 1

internalAttachMethod · 0.85

Calls 12

SET_TDBBFunction · 0.85
CCH_FETCHFunction · 0.85
ERR_post_warningFunction · 0.85
WarningClass · 0.85
CCH_RELEASEFunction · 0.85
GdsClass · 0.85
NumClass · 0.85
StrClass · 0.85
CCH_MARK_MUST_WRITEFunction · 0.85
getDatabaseMethod · 0.80
ERR_postFunction · 0.70

Tested by

no test coverage detected