This is a discussion on BUG #2852: User-defined type name begins with the underscore character (_) can be created within the pgsql Bugs forums, part of the PostgreSQL category; --> The following bug has been logged online: Bug reference: 2852 Logged by: Pavel Golub Email address: pavel@microolap.com PostgreSQL version: ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| The following bug has been logged online: Bug reference: 2852 Logged by: Pavel Golub Email address: pavel@microolap.com PostgreSQL version: 8.x Operating system: Windows XP Description: User-defined type name begins with the underscore character (_) can be created Details: Hello, pgsql-bugs. Documentation says: "User-defined type names cannot begin with the underscore character (_) and can only be 62 characters long (or in general NAMEDATALEN - 2, rather than the NAMEDATALEN - 1 characters allowed for other names). Type names beginning with underscore are reserved for internally-created array type names. " However, such SQL may be executed: CREATE TYPE _my AS (id int4, id2 int4); And then server treats it as an array type. Thus next SQL will be executed too: CREATE TABLE my_table( my_arr my[] ); Checked on PostgreSQL versions (Windows XP): 8.0.6 8.1.0 8.2.0 ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org |
| |||
| I have applied the following documentaiton patch that states a leading underscore "shouldn't" be used, rather than prohibited. --------------------------------------------------------------------------- Pavel Golub wrote: > > The following bug has been logged online: > > Bug reference: 2852 > Logged by: Pavel Golub > Email address: pavel@microolap.com > PostgreSQL version: 8.x > Operating system: Windows XP > Description: User-defined type name begins with the underscore > character (_) can be created > Details: > > Hello, pgsql-bugs. > > Documentation says: > "User-defined type names cannot begin with the > underscore character (_) and can only be 62 > characters long (or in general NAMEDATALEN - 2, > rather than the NAMEDATALEN - 1 characters > allowed for other names). Type names beginning > with underscore are reserved for > internally-created array type names. " > > However, such SQL may be executed: > > CREATE TYPE _my AS (id int4, id2 int4); > > And then server treats it as an array type. Thus next SQL will be executed > too: > > CREATE TABLE my_table( > my_arr my[] > ); > > Checked on PostgreSQL versions (Windows XP): > 8.0.6 > 8.1.0 > 8.2.0 > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Have you searched our list archives? > > http://archives.postgresql.org -- Bruce Momjian bruce@momjian.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. + ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings |
| ||||
| Hello, Bruce. Thanks for an answer. Are there any thoughts to insert check into PostgreSQL code or we (developers) must take into account that UDT with leading underscore may exist? You wrote: BM> I have applied the following documentaiton patch that states a leading BM> underscore "shouldn't" be used, rather than prohibited. BM> --------------------------------------------------------------------------- BM> Pavel Golub wrote: >> >> The following bug has been logged online: >> >> Bug reference: 2852 >> Logged by: Pavel Golub >> Email address: pavel@microolap.com >> PostgreSQL version: 8.x >> Operating system: Windows XP >> Description: User-defined type name begins with the underscore >> character (_) can be created >> Details: >> >> Hello, pgsql-bugs. >> >> Documentation says: >> "User-defined type names cannot begin with the >> underscore character (_) and can only be 62 >> characters long (or in general NAMEDATALEN - 2, >> rather than the NAMEDATALEN - 1 characters >> allowed for other names). Type names beginning >> with underscore are reserved for >> internally-created array type names. " >> >> However, such SQL may be executed: >> >> CREATE TYPE _my AS (id int4, id2 int4); >> >> And then server treats it as an array type. Thus next SQL will be executed >> too: >> >> CREATE TABLE my_table( >> my_arr my[] >> ); >> >> Checked on PostgreSQL versions (Windows XP): >> 8.0.6 >> 8.1.0 >> 8.2.0 >> >> ---------------------------(end of broadcast)--------------------------- >> TIP 4: Have you searched our list archives? >> >> http://archives.postgresql.org -- With best wishes, Pavel mailto ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster |
| Thread Tools | |
| Display Modes | |
|
|