Re: Case-sensitive problem in AS clause?
От | dmp |
---|---|
Тема | Re: Case-sensitive problem in AS clause? |
Дата | |
Msg-id | 50045DFB.8010508@ttc-cmc.net обсуждение исходный текст |
Ответ на | Re: Case-sensitive problem in AS clause? ("David Johnston" <polobo@yahoo.com>) |
Ответы |
Re: Case-sensitive problem in AS clause?
|
Список | pgsql-jdbc |
David Johnston wrote: >> Pgjdbc, org/postgresql/jdbc2/AbstractJdbc2ResultSetMetaData.java is: >> >> /* >> * Does a column's case matter? ASSUMPTION: Any field that is >> * not obviously case insensitive is assumed to be case sensitive >> * > public boolean isCaseSensitive(int column) throws SQLException > { > Field field = getField(column); > return connection.getTypeInfo().isCaseSensitive(field.getOID()); > } > Does the "isCaseSensitive(int)" function return whether the "value" stored > in the column is case-sensitive or does it return whether the "name" of the > column is case-sensitive? > > The OP is using it to determine whether the "name" is case-sensitive - which > it is always. > > My assumption is that it would indicate whether the "value" is > case-sensitive - which is also true because varchar/text is case-sensitive. > > The fact that different fields may or may not be case-sensitive supports > this since the "case-sensitive" property of a column "name" should be > constant throughout the database/product. > > David J. Case sensitivity appears to by based on the "type", not column "name" or "value": connection.getTypeInfo() returns TypeInfo TypeInfo.isCaseSensitive() takes the field.getOID() which is a Type. Test: Connection Created Select * from "Student" Column: ID Type: 4 Type Name: int4 isSensitive: false Column: Name Type: 12 Type Name: varchar is Sensitive: true Connection Closed Connection Created Select ('Student' || "ID" ) AS StudentId from "Student" Column: studentid Type: 12 Type Name: text isSensitive: true Connection Closed Your assumption appears be true, but based on type, which I guess you could argue is value. The op is making the false assumption isCaseSenstive() is based on column name which it is not looks from the code. danap.
В списке pgsql-jdbc по дате отправления: