IBM Cloud Docs
Presto(Java ) 混合大小写支持概述

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 或 OFFPresto(Java ) 引擎。 建议部署后不要在 ON 和 OFF 配置之间切换,因为这可能会导致系统行为不一致。

要配置标志,您可以使用 定制 API或联系支持团队。

您可以使用以下 curl 命令将标志设置为 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 集群中为小写和混合大小写表名创建多个表。

  • 用户可以访问所有表。

B. 将混合大小写功能标志的设置从 ON 更改为 OFF。

  • 如果有多个表具有相同的名称但混合使用,则这些表可能无法访问或可能导致数据差异,具体取决于所使用的连接器。

场景 1:混合大小写功能标志关闭

答: 在混合大小写功能标志 OFF 集群中创建多个表。

  • 对于重复的表名,仅获取最先创建的表。
  • 对于唯一的表名,将创建并获取所有表。

B. 将混合大小写功能标志的设置从 OFF 更改为 ON。

  • 用户可以访问所有表。

有关混合大小写行为的详细信息,请参阅 基于连接器的混合大小写行为