void String_initialize(void) { s_Object_class = (jclass)JNI_newGlobalRef(PgObject_getJavaClass("java/lang/Object")); s_Object_toString = PgObject_getJavaMethod(s_Object_class, "toString", "()Ljava/lang/String;"); s_String_class = (jclass)JNI_newGlobalRef(PgObject_getJavaClass("java/lang/String")); s_StringClass = TypeClass_alloc2("type.String", sizeof(struct TypeClass_), sizeof(struct String_)); s_StringClass->JNISignature = "Ljava/lang/String;"; s_StringClass->javaTypeName = "java.lang.String"; s_StringClass->canReplaceType = _String_canReplaceType; s_StringClass->coerceDatum = _String_coerceDatum; s_StringClass->coerceObject = _String_coerceObject; /* * Frame push/pop hoisted here out of String_initialize_codec to mollify * pre-C99 compilers that don't want that function to have declarations * after a statement. */ JNI_pushLocalFrame(16); String_initialize_codec(); JNI_popLocalFrame(NULL); /* * Registering known types will increase the performance * a bit. The "default" is used when all else fails. */ Type_registerType2(TEXTOID, 0, String_obtain); Type_registerType2(CSTRINGOID, 0, String_obtain); Type_registerType2(BPCHAROID, 0, String_obtain); Type_registerType2(NAMEOID, 0, String_obtain); Type_registerType2(VARCHAROID, "java.lang.String", String_obtain); }
void String_initialize(void) { s_Object_class = (jclass)JNI_newGlobalRef(PgObject_getJavaClass("java/lang/Object")); s_Object_toString = PgObject_getJavaMethod(s_Object_class, "toString", "()Ljava/lang/String;"); s_String_class = (jclass)JNI_newGlobalRef(PgObject_getJavaClass("java/lang/String")); s_StringClass = TypeClass_alloc2("type.String", sizeof(struct TypeClass_), sizeof(struct String_)); s_StringClass->JNISignature = "Ljava/lang/String;"; s_StringClass->javaTypeName = "java.lang.String"; s_StringClass->canReplaceType = _String_canReplaceType; s_StringClass->coerceDatum = _String_coerceDatum; s_StringClass->coerceObject = _String_coerceObject; /* * Registering known types will increase the performance * a bit. The "default" is used when all else fails. */ Type_registerType2(TEXTOID, 0, String_obtain); Type_registerType2(CSTRINGOID, 0, String_obtain); Type_registerType2(BPCHAROID, 0, String_obtain); Type_registerType2(NAMEOID, 0, String_obtain); Type_registerType2(VARCHAROID, "java.lang.String", String_obtain); }