Presto (Java ) 대소문자 혼합 지원 개요
대소문자 구분은Presto (Java ) 대문자와 소문자를 구별하여 별개의 문자로 처리하는 엔진의 기능입니다. 테이블 및 열 이름의 대소문자가 쿼리 결과에 영향을 미칠 수 있으므로 데이터베이스를 쿼리할 때 이는 중요합니다.
대소문자를 구분하지 않는 동작
Presto (Java ) 엔진 동작IBM® watsonx.data 버전까지는 대소문자를 구분하지 않았습니다.1.0.3. 버전에 대소문자 구분이 도입되었습니다.1.1.0. 모두Presto (Java ) 엔진 버전1.1.0 이상에서는 기본적으로 대소문자를 구분합니다. 다음 예의 테이블 이름은 별도로 저장되고 가져옵니다.
- 선택 *에서catalog1.schema1.table;
- 선택 *에서catalog1.schema1.TABLE;
- 선택 *에서catalog1.schema1.TaBle;
대소문자 구분 동작
Presto (Java ) 엔진 동작IBM® watsonx.data 버전까지는 대소문자를 구분하지 않았습니다.1.0.3. 버전에 대소문자 구분이 도입되었습니다.1.1.0. 모두Presto (Java ) 엔진 버전1.1.0 이상에서는 기본적으로 대소문자를 구분합니다. 다음 예의 테이블 이름은 별도로 저장되고 가져옵니다.
- 선택 *에서catalog1.schema1.table;
- 선택 *에서catalog1.schema1.TABLE;
- 선택 *에서catalog1.schema1.TaBle;
대소문자 혼합 기능 플래그
에서IBM® watsonx.data 버전2.0.0 에서는 대소문자 구분 동작과 대소문자 구분 동작 사이를 전환할 수 있는 새로운 기능을 사용할 수 있습니다.Presto (Java ) 대소문자 혼합 기능 플래그를 사용합니다. 대소문자 혼합 기능 플래그는 다음에서 OFF로 설정됩니다.Presto (Java ) 기본적으로. 배포 중에 필요에 따라 플래그를 ON 또는 OFF로 설정할 수 있습니다.Presto (Java ) 엔진. 배포 후에는 ON과 OFF 구성 사이를 전환하지 않는 것이 좋습니다. 시스템 동작이 일관되지 않을 수 있기 때문입니다.
플래그를 구성하려면 다음을 사용하여 구성할 수 있습니다.맞춤화 API 또는 지원팀에 문의하세요.
다음 컬 명령을 사용하여 플래그를 true 또는 false로 설정할 수 있습니다.
{
"description": "updated description for presto engine",
"engine_display_name": "<engine_display_name>",
"engine_properties": {
"configuration": {
"coordinator": {
},
"worker": {
}
},
"jvm": {
"coordinator": {
},
"worker": {
}
},
"catalog": {
"<catalog_name>": {
"coordinator": {
},
"worker": {
}
}
},
"event_listener": {
},
"jmx_exporter_config": {
},
"log_config": {
"coordinator": {
},
"worker": {
}
},
"global": {
}
},
"engine_restart": "force",
"remove_engine_properties": {
"configuration": {
"coordinator": [
],
"worker": [
]
},
"jvm": {
"coordinator": [
],
"worker": [
]
},
"log_config": {
"coordinator": [
],
"worker": [
]
},
"event_listener": [
],
"global": [
],
"jmx_exporter_config": [
],
"catalog": {
}
},
"tags": [
]
}
다음은 대소문자 혼합 지원 동작을 설명하는 두 가지 시나리오입니다.
시나리오 1: 대소문자 혼합 기능 플래그 ON
A. 소문자 및 대소문자 혼합 테이블 이름 모두에 대해 대소문자 혼합 기능 플래그 ON 클러스터에 여러 테이블을 생성합니다.
- 사용자는 모든 테이블에 액세스할 수 있습니다.
B. 대소문자 혼합 기능 플래그의 설정을 ON에서 OFF로 변경합니다.
- 이름은 같지만 대소문자가 혼합된 테이블이 여러 개 있는 경우, 사용된 커넥터에 따라 해당 테이블에 액세스할 수 없거나 데이터 불일치가 발생할 수 있습니다.
시나리오 1: 대소문자 혼합 기능 플래그 OFF
A. 대소문자 혼합 기능 플래그 OFF 클러스터에 여러 테이블을 만듭니다.
- 테이블 이름이 중복된 경우 먼저 생성된 테이블만 가져옵니다.
- 고유한 테이블 이름의 경우 모든 테이블이 생성되고 가져옵니다.
B. 대소문자 혼합 기능 플래그의 설정을 OFF에서 ON으로 변경합니다.
- 사용자는 모든 테이블에 액세스할 수 있습니다.
대소문자 혼합 동작에 대한 자세한 내용은 다음을 참조하세요.커넥터에 따른 대소문자 혼합 동작.