Class IdentifierProfile

Object
gudusoft.gsqlparser.sqlenv.IdentifierProfile

public final class IdentifierProfile extends Object
厂商标识符配置档案(Vendor Identifier Profile)

封装每个数据库厂商的完整标识符配置,包括:

  • 按对象组(NAME_GROUP, COLUMN_GROUP, ROUTINE_GROUP)的标识符规则
  • Vendor-specific flags(如 MySQL lower_case_table_names, SQL Server collation)
  • 设计目标:

    • 集中管理所有 vendor-specific 配置
    • 统一注入路径,避免配置散落在各处
    • 支持缓存失效(通过 fingerprint)

    使用示例:

     // 创建 Oracle profile(使用默认 flags)
     IdentifierProfile oracleProfile = IdentifierProfile.forVendor(
         EDbVendor.dbvoracle,
         VendorFlags.defaults()
     );
    
     // 创建 MySQL profile(指定 lower_case_table_names)
     IdentifierProfile mysqlProfile = IdentifierProfile.forVendor(
         EDbVendor.dbvmysql,
         new VendorFlags(1, null, false, false)  // lower_case_table_names = 1
     );
    
     // 查询规则
     IdentifierRules tableRules = oracleProfile.getRules(ESQLDataObjectType.dotTable);
     
Since:
3.1.0.9