@@ -76,6 +76,8 @@ you can reset the current search path to its initial configuration with the `ALT
7676
7777Nonexistent schemas can be included in the search path but are ignored during name resolution.
7878
79+ If ` SYSTEM ` is not included in the schema list, it is automatically added as the last schema in the search path.
80+
7981The first existing schema in the search path is referred to as the ** current schema** and is exclusively used in some
8082operations.
8183
@@ -103,7 +105,7 @@ create or alter function F1 returns integer as begin end;
103105grant create table to user USER1;
104106```
105107
106- For ` ALTER ` , ` DROP ` , and others statements, the system searches for the specified object across all schemas in the
108+ For ` ALTER ` , ` DROP ` , and others statements, Firebird searches for the specified object across all schemas in the
107109search path. The reference is bound to the first matching object found. If no matching object exists in any schema, an
108110error is raised.
109111
@@ -133,8 +135,7 @@ In this case, the search path is used to locate `TABLE1`, `DOMAIN1`, and `TABLE2
133135
134136For DDL statements, the search path operates similarly, but with a subtle difference. Once the object being created or
135137modified is bound to a schema during statement preparation, the search path is implicitly and temporarily modified.
136- This adjustment sets the search path to the schema of the object. Additionally, if the ` SYSTEM ` schema was already
137- present in the search path, it is appended as the last schema.
138+ This adjustment sets the search path to the schema of the object with ` SYSTEM ` added as the final schema in the path.
138139
139140``` sql
140141create schema SCHEMA1 ;
@@ -198,8 +199,8 @@ grant select on table SCHEMA1.TABLE1 to user USER2;
198199## The SYSTEM schema
199200
200201All system schema-bound objects (e.g., ` RDB$* ` and ` MON$* ` ) are now created in a dedicated schema called ` SYSTEM ` .
201- The ` SYSTEM ` schema has a default ` USAGE ` permission granted to ` PUBLIC ` and is included in the default search path.
202- This ensures backward compatibility with previous Firebird versions.
202+ The ` SYSTEM ` schema has a default ` USAGE ` permission granted to ` PUBLIC ` and is automatically included in the
203+ search path. This ensures backward compatibility with previous Firebird versions.
203204
204205While the ` SYSTEM ` schema allows operations like index creation and manipulation of those indexes, it is otherwise
205206locked for DDL changes. Modifying objects within the ` SYSTEM ` schema through DDL operations is strongly discouraged.
@@ -265,6 +266,8 @@ schema exists, it returns `NULL`.
265266SET SEARCH_PATH TO < schema name> [, < schema name> ]...
266267```
267268
269+ If ` SYSTEM ` is not included in the schema list, it is automatically added as the last schema in the search path.
270+
268271### RDB$GET_CONTEXT
269272
270273#### CURRENT_SCHEMA (SYSTEM)
@@ -626,8 +629,7 @@ slave side. This allows mapping database objects to a specific schema using a se
626629## System packages and functions
627630
628631Firebird includes system packages such as ` RDB$TIME_ZONE_UTIL ` , ` RDB$PROFILER ` , and others. These system packages
629- are now located in the ` SYSTEM ` schema. If the ` SYSTEM ` schema is not included in the search path, their usage
630- requires explicit qualification with ` SYSTEM ` , as with any other object bound to the ` SYSTEM ` schema.
632+ are now located in the ` SYSTEM ` schema.
631633
632634In contrast, Firebird also provides non-packaged built-in functions like ` RDB$GET_CONTEXT ` , ` ABS ` , and ` DATEDIFF ` .
633635These functions are not listed in the database metadata (` RDB$FUNCTIONS ` ) and neither require nor accept the
0 commit comments