Presto (Java ) 대소문자 혼합 지원 개요

대소문자 구분은Presto (Java ) 대문자와 소문자를 구별하여 별개의 문자로 처리하는 엔진의 기능입니다. 테이블 및 열 이름의 대소문자가 쿼리 결과에 영향을 미칠 수 있으므로 데이터베이스를 쿼리할 때 이는 중요합니다.

대소문자를 구분하지 않는 동작

Presto (Java ) 엔진 동작IBM® watsonx.data 버전까지는 대소문자를 구분하지 않았습니다.1.0.3. 버전에 대소문자 구분이 도입되었습니다.1.1.0. 모두Presto (Java ) 엔진 버전1.1.0 이상에서는 기본적으로 대소문자를 구분합니다. 다음 예의 테이블 이름은 별도로 저장되고 가져옵니다.

  1. 선택 *에서catalog1.schema1.table;
  2. 선택 *에서catalog1.schema1.TABLE;
  3. 선택 *에서catalog1.schema1.TaBle;

대소문자 구분 동작

Presto (Java ) 엔진 동작IBM® watsonx.data 버전까지는 대소문자를 구분하지 않았습니다.1.0.3. 버전에 대소문자 구분이 도입되었습니다.1.1.0. 모두Presto (Java ) 엔진 버전1.1.0 이상에서는 기본적으로 대소문자를 구분합니다. 다음 예의 테이블 이름은 별도로 저장되고 가져옵니다.

  1. 선택 *에서catalog1.schema1.table;
  2. 선택 *에서catalog1.schema1.TABLE;
  3. 선택 *에서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으로 변경합니다.

  • 사용자는 모든 테이블에 액세스할 수 있습니다.

대소문자 혼합 동작에 대한 자세한 내용은 다음을 참조하세요.커넥터에 따른 대소문자 혼합 동작.