Skip to content

Oracle8iDialect may not name temporary tables with HT_ prefix #3456

Open
@tohidemyname

Description

@tohidemyname

Oracle8iDialect may not name all temporary tables with HT_ prefix. Some may be prefixed with T_ instead.

This bug was reported to hibernate:
https://hibernate.atlassian.net/browse/HHH-9290

The buggy code of hibernate is as follows:

public String generateTemporaryTableName(String baseTableName) {
	final String name = super.generateTemporaryTableName( baseTableName );
	return name.length() > 30 ? name.substring( 1, 30 ) : name;
}

The fixed code is as follows:

public String generateTemporaryTableName(String baseTableName) {
	final String name = super.generateTemporaryTableName( baseTableName );
	return name.length() > 30 ? name.substring( 0, 30 ) : name;
}

The latest NHibernate is identical to the buggy code:

public override string GenerateTemporaryTableName(String baseTableName)
{
	string name = base.GenerateTemporaryTableName(baseTableName);
	return name.Length > 30 ? name.Substring(1, (30) - (1)) : name;
}

As a result, NHibernate can have the identical bug but leave it unfixed.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions