Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance | Code cleanup to improve performance #1075

Merged
merged 7 commits into from Jun 25, 2019
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 1 addition & 3 deletions src/main/java/com/microsoft/sqlserver/jdbc/AE.java
Expand Up @@ -96,9 +96,7 @@ void add(byte[] encryptedKey, int dbId, int keyId, int keyVersion, byte[] mdVers

assert null != columnEncryptionKeyValues : "columnEncryptionKeyValues should already be initialized.";

if (aeLogger.isLoggable(java.util.logging.Level.FINE)) {
aeLogger.fine("Retrieving CEK values");
}
aeLogger.fine("Retrieving CEK values");

EncryptionKeyInfo encryptionKey = new EncryptionKeyInfo(encryptedKey, dbId, keyId, keyVersion, mdVersion,
keyPath, keyStoreName, algorithmName);
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/microsoft/sqlserver/jdbc/DataTypes.java
Expand Up @@ -601,7 +601,7 @@ private SetterConversionAE(JavaType from, EnumSet<JDBCType> to) {
setterConversionAEMap.get(conversion.from).addAll(conversion.to);
}

static boolean converts(JavaType fromJavaType, JDBCType toJDBCType, Boolean sendStringParametersAsUnicode) {
static boolean converts(JavaType fromJavaType, JDBCType toJDBCType, boolean sendStringParametersAsUnicode) {
if ((null == fromJavaType) || (JavaType.OBJECT == fromJavaType))
return true;
else if (!sendStringParametersAsUnicode && fromJavaType == JavaType.BYTEARRAY
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/microsoft/sqlserver/jdbc/IOBuffer.java
Expand Up @@ -3285,7 +3285,7 @@ void writeInt(int value) throws SQLServerException {
* @param value
* the data value
*/
void writeReal(Float value) throws SQLServerException {
void writeReal(float value) throws SQLServerException {
writeInt(Float.floatToRawIntBits(value));
}

Expand Down
Expand Up @@ -196,10 +196,10 @@ private byte[] intAuthHandShake(byte[] pin, boolean[] done) throws SQLServerExce
* @param impersonatedUserCred
*/
KerbAuthentication(SQLServerConnection con, String address, int port, GSSCredential impersonatedUserCred,
Boolean isUserCreated) {
boolean isUserCreated) {
this(con, address, port);
peerCredentials = impersonatedUserCred;
this.isUserCreatedCredential = (isUserCreated == null ? false : isUserCreated);
this.peerCredentials = impersonatedUserCred;
this.isUserCreatedCredential = isUserCreated;
}

byte[] generateClientContext(byte[] pin, boolean[] done) throws SQLServerException {
Expand Down
Expand Up @@ -51,7 +51,10 @@ public class SQLServerBulkBatchInsertRecord extends SQLServerBulkCommon {
*/
public SQLServerBulkBatchInsertRecord(ArrayList<Parameter[]> batchParam, ArrayList<String> columnList,
ArrayList<String> valueList, String encoding) throws SQLServerException {
loggerExternal.entering(loggerClassName, "SQLServerBulkBatchInsertRecord", new Object[] {batchParam, encoding});
if (loggerExternal.isLoggable(java.util.logging.Level.FINER)) {
loggerExternal.entering(loggerClassName, "SQLServerBulkBatchInsertRecord",
new Object[] {batchParam, encoding});
}

if (null == batchParam) {
throwInvalidArgument("batchParam");
Expand Down Expand Up @@ -331,9 +334,10 @@ public Object[] getRowData() throws SQLServerException {
@Override
void addColumnMetadataInternal(int positionInSource, String name, int jdbcType, int precision, int scale,
DateTimeFormatter dateTimeFormatter) throws SQLServerException {
loggerExternal.entering(loggerClassName, "addColumnMetadata",
new Object[] {positionInSource, name, jdbcType, precision, scale});

if (loggerExternal.isLoggable(java.util.logging.Level.FINER)) {
loggerExternal.entering(loggerClassName, "addColumnMetadata",
new Object[] {positionInSource, name, jdbcType, precision, scale});
}
String colName = "";

if (0 >= positionInSource) {
Expand Down Expand Up @@ -407,7 +411,10 @@ public void setTimestampWithTimezoneFormat(String dateTimeFormat) {

@Override
public void setTimestampWithTimezoneFormat(DateTimeFormatter dateTimeFormatter) {
loggerExternal.entering(loggerClassName, "setTimestampWithTimezoneFormat", new Object[] {dateTimeFormatter});
if (loggerExternal.isLoggable(java.util.logging.Level.FINER)) {
loggerExternal.entering(loggerClassName, "setTimestampWithTimezoneFormat",
new Object[] {dateTimeFormatter});
}

super.setTimestampWithTimezoneFormat(dateTimeFormatter);

Expand All @@ -425,7 +432,9 @@ public void setTimeWithTimezoneFormat(String timeFormat) {

@Override
public void setTimeWithTimezoneFormat(DateTimeFormatter dateTimeFormatter) {
loggerExternal.entering(loggerClassName, "setTimeWithTimezoneFormat", new Object[] {dateTimeFormatter});
if (loggerExternal.isLoggable(java.util.logging.Level.FINER)) {
loggerExternal.entering(loggerClassName, "setTimeWithTimezoneFormat", new Object[] {dateTimeFormatter});
}

super.setTimeWithTimezoneFormat(dateTimeFormatter);

Expand Down
Expand Up @@ -551,7 +551,10 @@ public void setTimestampWithTimezoneFormat(String dateTimeFormat) {

@Override
public void setTimestampWithTimezoneFormat(DateTimeFormatter dateTimeFormatter) {
loggerExternal.entering(loggerClassName, "setTimestampWithTimezoneFormat", new Object[] {dateTimeFormatter});
if (loggerExternal.isLoggable(java.util.logging.Level.FINER)) {
loggerExternal.entering(loggerClassName, "setTimestampWithTimezoneFormat",
new Object[] {dateTimeFormatter});
}

super.setTimestampWithTimezoneFormat(dateTimeFormatter);

Expand All @@ -569,7 +572,9 @@ public void setTimeWithTimezoneFormat(String timeFormat) {

@Override
public void setTimeWithTimezoneFormat(DateTimeFormatter dateTimeFormatter) {
loggerExternal.entering(loggerClassName, "setTimeWithTimezoneFormat", new Object[] {dateTimeFormatter});
if (loggerExternal.isLoggable(java.util.logging.Level.FINER)) {
loggerExternal.entering(loggerClassName, "setTimeWithTimezoneFormat", new Object[] {dateTimeFormatter});
}

super.setTimeWithTimezoneFormat(dateTimeFormatter);

Expand Down
22 changes: 17 additions & 5 deletions src/main/java/com/microsoft/sqlserver/jdbc/SQLServerBulkCopy.java
Expand Up @@ -333,7 +333,10 @@ public SQLServerBulkCopy(String connectionUrl) throws SQLServerException {
* If the column mapping is invalid
*/
public void addColumnMapping(int sourceColumn, int destinationColumn) throws SQLServerException {
loggerExternal.entering(loggerClassName, "addColumnMapping", new Object[] {sourceColumn, destinationColumn});
if (loggerExternal.isLoggable(java.util.logging.Level.FINER)) {
loggerExternal.entering(loggerClassName, "addColumnMapping",
new Object[] {sourceColumn, destinationColumn});
}

if (0 >= sourceColumn) {
throwInvalidArgument("sourceColumn");
Expand All @@ -356,7 +359,10 @@ public void addColumnMapping(int sourceColumn, int destinationColumn) throws SQL
* If the column mapping is invalid
*/
public void addColumnMapping(int sourceColumn, String destinationColumn) throws SQLServerException {
loggerExternal.entering(loggerClassName, "addColumnMapping", new Object[] {sourceColumn, destinationColumn});
if (loggerExternal.isLoggable(java.util.logging.Level.FINER)) {
loggerExternal.entering(loggerClassName, "addColumnMapping",
new Object[] {sourceColumn, destinationColumn});
}

if (0 >= sourceColumn) {
throwInvalidArgument("sourceColumn");
Expand All @@ -380,7 +386,10 @@ public void addColumnMapping(int sourceColumn, String destinationColumn) throws
* If the column mapping is invalid
*/
public void addColumnMapping(String sourceColumn, int destinationColumn) throws SQLServerException {
loggerExternal.entering(loggerClassName, "addColumnMapping", new Object[] {sourceColumn, destinationColumn});
if (loggerExternal.isLoggable(java.util.logging.Level.FINER)) {
loggerExternal.entering(loggerClassName, "addColumnMapping",
new Object[] {sourceColumn, destinationColumn});
}

if (0 >= destinationColumn) {
throwInvalidArgument("destinationColumn");
Expand All @@ -403,7 +412,10 @@ public void addColumnMapping(String sourceColumn, int destinationColumn) throws
* If the column mapping is invalid
*/
public void addColumnMapping(String sourceColumn, String destinationColumn) throws SQLServerException {
loggerExternal.entering(loggerClassName, "addColumnMapping", new Object[] {sourceColumn, destinationColumn});
if (loggerExternal.isLoggable(java.util.logging.Level.FINER)) {
loggerExternal.entering(loggerClassName, "addColumnMapping",
new Object[] {sourceColumn, destinationColumn});
}

if (null == sourceColumn || sourceColumn.isEmpty()) {
throwInvalidArgument("sourceColumn");
Expand Down Expand Up @@ -614,7 +626,7 @@ public void writeToServer(ISQLServerBulkRecord sourceData) throws SQLServerExcep
* Initializes the defaults for member variables that require it.
*/
private void initializeDefaults() {
columnMappings = new LinkedList<>();
columnMappings = new ArrayList<>();
ulvii marked this conversation as resolved.
Show resolved Hide resolved
destinationTableName = null;
sourceBulkRecord = null;
sourceResultSet = null;
Expand Down
Expand Up @@ -1311,7 +1311,7 @@ private int findColumn(String columnName) throws SQLServerException {
// handle `@name` as well as `name`, since `@name` is what's returned
// by DatabaseMetaData#getProcedureColumns
String columnNameWithoutAtSign = null;
if (columnName.startsWith("@")) {
if (columnName.charAt(0) == '@') {
columnNameWithoutAtSign = columnName.substring(1, columnName.length());
} else {
columnNameWithoutAtSign = columnName;
Expand Down Expand Up @@ -1661,7 +1661,6 @@ public final void setAsciiStream(String parameterName, InputStream value, long l

@Override
public final void setBinaryStream(String parameterName, InputStream value) throws SQLException {

if (loggerExternal.isLoggable(java.util.logging.Level.FINER))
loggerExternal.entering(getClassNameLogging(), "setBinaryStream", new Object[] {parameterName, value});
checkClosed();
Expand Down
Expand Up @@ -834,7 +834,7 @@ static synchronized List<String> getColumnEncryptionTrustedMasterKeyPaths(String
private boolean ntlmAuthentication = false;
private AuthenticationScheme intAuthScheme = AuthenticationScheme.nativeAuthentication;
private GSSCredential impersonatedUserCred;
private Boolean isUserCreatedCredential;
private boolean isUserCreatedCredential;
// This is the current connect place holder this should point one of the primary or failover place holder
ServerPortPlaceHolder currentConnectPlaceHolder = null;

Expand Down Expand Up @@ -3924,7 +3924,7 @@ final void processEnvChange(TDSReader tdsReader) throws SQLServerException {
String currentHostName = activeConnectionProperties.getProperty("hostNameInCertificate");

// skip the check for hostNameInCertificate if routingServerName is null
if (null != currentHostName && currentHostName.startsWith("*") && (null != routingServerName)
if (null != currentHostName && currentHostName.charAt(0) == '*' && (null != routingServerName)
&& routingServerName.indexOf('.') != -1) {
char[] currentHostNameCharArray = currentHostName.toCharArray();
char[] routingServerNameCharArray = routingServerName.toCharArray();
Expand Down Expand Up @@ -5180,8 +5180,9 @@ public CallableStatement prepareCall(String sql, int nType, int nConcur, int res

@Override
public PreparedStatement prepareStatement(String sql, int flag) throws SQLServerException {
loggerExternal.entering(getClassNameLogging(), "prepareStatement", new Object[] {sql, flag});

if (loggerExternal.isLoggable(java.util.logging.Level.FINER)) {
loggerExternal.entering(getClassNameLogging(), "prepareStatement", new Object[] {sql, flag});
}
SQLServerPreparedStatement ps = (SQLServerPreparedStatement) prepareStatement(sql, flag,
SQLServerStatementColumnEncryptionSetting.UseConnectionSetting);

Expand All @@ -5192,7 +5193,10 @@ public PreparedStatement prepareStatement(String sql, int flag) throws SQLServer
@Override
public PreparedStatement prepareStatement(String sql, int flag,
SQLServerStatementColumnEncryptionSetting stmtColEncSetting) throws SQLServerException {
loggerExternal.entering(getClassNameLogging(), "prepareStatement", new Object[] {sql, flag, stmtColEncSetting});
if (loggerExternal.isLoggable(java.util.logging.Level.FINER)) {
loggerExternal.entering(getClassNameLogging(), "prepareStatement",
new Object[] {sql, flag, stmtColEncSetting});
}
checkClosed();
SQLServerPreparedStatement ps = (SQLServerPreparedStatement) prepareStatement(sql, ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY, stmtColEncSetting);
Expand All @@ -5203,7 +5207,9 @@ public PreparedStatement prepareStatement(String sql, int flag,

@Override
public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLServerException {
loggerExternal.entering(getClassNameLogging(), "prepareStatement", new Object[] {sql, columnIndexes});
if (loggerExternal.isLoggable(java.util.logging.Level.FINER)) {
loggerExternal.entering(getClassNameLogging(), "prepareStatement", new Object[] {sql, columnIndexes});
}
SQLServerPreparedStatement ps = (SQLServerPreparedStatement) prepareStatement(sql, columnIndexes,
SQLServerStatementColumnEncryptionSetting.UseConnectionSetting);

Expand Down Expand Up @@ -5231,7 +5237,9 @@ public PreparedStatement prepareStatement(String sql, int[] columnIndexes,

@Override
public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLServerException {
loggerExternal.entering(getClassNameLogging(), "prepareStatement", new Object[] {sql, columnNames});
if (loggerExternal.isLoggable(java.util.logging.Level.FINER)) {
loggerExternal.entering(getClassNameLogging(), "prepareStatement", new Object[] {sql, columnNames});
}

SQLServerPreparedStatement ps = (SQLServerPreparedStatement) prepareStatement(sql, columnNames,
SQLServerStatementColumnEncryptionSetting.UseConnectionSetting);
Expand Down Expand Up @@ -5548,7 +5556,9 @@ public void setClientInfo(Properties properties) throws SQLClientInfoException {

@Override
public void setClientInfo(String name, String value) throws SQLClientInfoException {
loggerExternal.entering(getClassNameLogging(), "setClientInfo", new Object[] {name, value});
if (loggerExternal.isLoggable(java.util.logging.Level.FINER)) {
loggerExternal.entering(getClassNameLogging(), "setClientInfo", new Object[] {name, value});
}
// This function is only marked as throwing only SQLClientInfoException so the conversion is necessary
try {
checkClosed();
Expand Down
Expand Up @@ -1015,7 +1015,7 @@ private boolean getBooleanProperty(Properties props, String propKey, boolean def
if (loggerExternal.isLoggable(java.util.logging.Level.FINER))
loggerExternal.entering(getClassNameLogging(), "get" + propKey);
String propValue = props.getProperty(propKey);
Boolean value;
boolean value;
if (null == propValue) {
value = defaultValue;
} else {
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/microsoft/sqlserver/jdbc/TVP.java
Expand Up @@ -9,10 +9,10 @@
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
Expand Down Expand Up @@ -114,7 +114,7 @@ boolean isNull() {
List<Object> getRowData() throws SQLServerException {
if (TVPType.ResultSet == tvpType) {
int colCount = columnMetadata.size();
List<Object> rowData = new LinkedList<>();
List<Object> rowData = new ArrayList<>();
for (int i = 0; i < colCount; i++) {
try {
/*
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/microsoft/sqlserver/jdbc/Util.java
Expand Up @@ -40,7 +40,7 @@ static boolean isIBM() {
return SYSTEM_JRE.startsWith("IBM");
}

static final Boolean isCharType(int jdbcType) {
static final boolean isCharType(int jdbcType) {
switch (jdbcType) {
case java.sql.Types.CHAR:
case java.sql.Types.NCHAR:
Expand Down
Expand Up @@ -31,7 +31,7 @@ public static boolean isRealmValid(String realmName) throws NamingException {
if (realmName == null || realmName.length() < 2) {
return false;
}
if (realmName.startsWith(".")) {
if (realmName.charAt(0) == ('.')) {
realmName = realmName.substring(1);
}
try {
Expand Down
4 changes: 1 addition & 3 deletions src/main/java/com/microsoft/sqlserver/jdbc/dtv.java
Expand Up @@ -3723,9 +3723,7 @@ Object getValue(DTV dtv, JDBCType jdbcType, int scale, InputStreamGetterArgs str
JDBCType.VARBINARY, streamGetterArgs);
}

if (aeLogger.isLoggable(java.util.logging.Level.FINE)) {
aeLogger.fine("Encrypted data is retrieved.");
}
aeLogger.fine("Encrypted data is retrieved.");

// AE does not support streaming types
if ((convertedValue instanceof SimpleInputStream) || (convertedValue instanceof PLPInputStream)) {
Expand Down