Changeset: 926afbe567f5 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=926afbe567f5
Modified Files:
tests/Test_PSmetadata.java
Branch: default
Log Message:
Enhanced the reporting of the parameters. It now shows the name for the
nullable and mode integer codes.
diffs (74 lines):
diff --git a/tests/Test_PSmetadata.java b/tests/Test_PSmetadata.java
--- a/tests/Test_PSmetadata.java
+++ b/tests/Test_PSmetadata.java
@@ -58,19 +58,7 @@ public class Test_PSmetadata {
System.out.println("\twritable " +
rsmd.isWritable(col));
}
- pmd = pstmt.getParameterMetaData();
- System.out.println("1. 1 parameter:\t" +
pmd.getParameterCount());
- for (int col = 1; col <= pmd.getParameterCount();
col++) {
- System.out.println("" + col + ".");
- System.out.println("\tnullable " +
pmd.isNullable(col));
- System.out.println("\tsigned " +
pmd.isSigned(col));
- System.out.println("\tprecision " +
pmd.getPrecision(col));
- System.out.println("\tscale " +
pmd.getScale(col));
- System.out.println("\ttype " +
pmd.getParameterType(col));
- System.out.println("\ttypename " +
pmd.getParameterTypeName(col));
- System.out.println("\tclassname " +
pmd.getParameterClassName(col));
- System.out.println("\tmode " +
pmd.getParameterMode(col));
- }
+ showParams(pstmt);
} catch (SQLException e) {
System.out.println("failed :( "+ e.getMessage());
System.out.println("ABORTING TEST!!!");
@@ -79,4 +67,49 @@ public class Test_PSmetadata {
con.rollback();
con.close();
}
+
+ // some utility methods for showing table content and params meta data
+ static void showParams(PreparedStatement stmt) {
+ try {
+ ParameterMetaData pmd = stmt.getParameterMetaData();
+ System.out.println(pmd.getParameterCount() + "
parameters reported:");
+ for (int parm = 1; parm <= pmd.getParameterCount();
parm++) {
+ System.out.print(parm + ".");
+ int nullable = pmd.isNullable(parm);
+ System.out.println("\tnullable " + nullable +
" (" + paramNullableName(nullable) + ")");
+ System.out.println("\tsigned " +
pmd.isSigned(parm));
+ System.out.println("\tprecision " +
pmd.getPrecision(parm));
+ System.out.println("\tscale " +
pmd.getScale(parm));
+ System.out.println("\ttype " +
pmd.getParameterType(parm));
+ System.out.println("\ttypename " +
pmd.getParameterTypeName(parm));
+ System.out.println("\tclassname " +
pmd.getParameterClassName(parm));
+ int mode = pmd.getParameterMode(parm);
+ System.out.println("\tmode " + mode + " ("
+ paramModeName(mode) + ")");
+ }
+ } catch (SQLException e) {
+ System.out.println("showParams failed: " +
e.getMessage());
+ }
+ }
+
+ static String paramNullableName(int nullable) {
+ if (nullable == ParameterMetaData.parameterNoNulls)
+ return "NO";
+ if (nullable == ParameterMetaData.parameterNullable)
+ return "YA";
+ if (nullable == ParameterMetaData.parameterNullableUnknown)
+ return "UNKNOWN";
+ return "INVALID" + nullable;
+ }
+
+ static String paramModeName(int mode) {
+ if (mode == ParameterMetaData.parameterModeIn)
+ return "IN";
+ if (mode == ParameterMetaData.parameterModeInOut)
+ return "INOUT";
+ if (mode == ParameterMetaData.parameterModeOut)
+ return "OUT";
+ if (mode == ParameterMetaData.parameterModeUnknown)
+ return "UNKNOWN";
+ return "INVALID" + mode;
+ }
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list