private SchemaBuilder hstoreSchema(){ if (hStoreMode == PostgresConnectorConfig.HStoreHandlingMode.JSON) { return Json.builder(); } else { // keys are not nullable, but values are return SchemaBuilder.map( SchemaBuilder.STRING_SCHEMA, SchemaBuilder.OPTIONAL_STRING_SCHEMA ); } }
/** * Returns a {@link SchemaBuilder} for a JSON field, with all other default Schema settings. * * @return the schema * @see #builder() */ public static Schema schema() { return builder().build(); } }
protected List<SchemaAndValueField> schemaAndValueFieldForJsonEncodedHStoreTypeWithMultipleValues(){ final String expected = "{\"key1\":\"val1\",\"key2\":\"val2\",\"key3\":\"val3\"}"; return Arrays.asList(new SchemaAndValueField("hs", Json.builder().optional().build(), expected)); }
protected List<SchemaAndValueField> schemaAndValueFieldForJsonEncodedHStoreTypeWithNullValues(){ final String expected = "{\"key1\":\"val1\",\"key2\":null}"; return Arrays.asList(new SchemaAndValueField("hs", Json.builder().optional().build(), expected)); }
protected List<SchemaAndValueField> schemaAndValueFieldForJsonEncodedHStoreTypeWithSpcialCharacters(){ final String expected = "{\"key_#1\":\"val 1\",\"key 2\":\" ##123 78\"}"; return Arrays.asList(new SchemaAndValueField("hs", Json.builder().optional().build(), expected)); }
protected List<SchemaAndValueField> schemaAndValueFieldForJsonEncodedHStoreType(){ final String expected = "{\"key\":\"val\"}"; return Arrays.asList(new SchemaAndValueField("hs", Json.builder().optional().build(), expected)); }
protected List<SchemaAndValueField> schemasAndValuesForTextTypes() { return Arrays.asList(new SchemaAndValueField("j", Json.builder().optional().build(), "{\"bar\": \"baz\"}"), new SchemaAndValueField("jb", Json.builder().optional().build(), "{\"bar\": \"baz\"}"), new SchemaAndValueField("x", Xml.builder().optional().build(), "<foo>bar</foo><foo>bar</foo>"), new SchemaAndValueField("u", Uuid.builder().optional().build(), "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11")); }
protected RecordsForCollection(CollectionId collectionId, FieldFilter fieldFilter, SourceInfo source, String topicName, SchemaNameAdjuster adjuster, Function<Document, String> valueTransformer, BlockingConsumer<SourceRecord> recorder, boolean emitTombstonesOnDelete) { this.sourcePartition = source.partition(collectionId.replicaSetName()); this.collectionId = collectionId; this.replicaSetName = this.collectionId.replicaSetName(); this.fieldFilter = fieldFilter; this.source = source; this.topicName = topicName; this.keySchema = SchemaBuilder.struct() .name(adjuster.adjust(topicName + ".Key")) .field("id", Schema.STRING_SCHEMA) .build(); this.valueSchema = SchemaBuilder.struct() .name(adjuster.adjust(topicName + ".Envelope")) .field(FieldName.AFTER, Json.builder().optional().build()) .field("patch", Json.builder().optional().build()) .field(FieldName.SOURCE, source.schema()) .field(FieldName.OPERATION, Schema.OPTIONAL_STRING_SCHEMA) .field(FieldName.TIMESTAMP, Schema.OPTIONAL_INT64_SCHEMA) .build(); this.valueTransformer = valueTransformer; this.recorder = recorder; this.emitTombstonesOnDelete = emitTombstonesOnDelete; }
return Json.builder();
case PgOid.JSONB_OID: case PgOid.JSON: return Json.builder(); case PgOid.TSTZRANGE_OID: return SchemaBuilder.string();
MicroDuration.builder().optional().build()); assertTableSchema("public.text_table", "j, jb, x, u", Json.builder().optional().build(), Json.builder().optional().build(), Xml.builder().optional().build(), Uuid.builder().optional().build()); assertTableSchema("public.geom_table", "p", Point.builder().optional().build());
private SchemaBuilder hstoreSchema(){ if (hStoreMode == PostgresConnectorConfig.HStoreHandlingMode.JSON) { return Json.builder(); } else { // keys are not nullable, but values are return SchemaBuilder.map( SchemaBuilder.STRING_SCHEMA, SchemaBuilder.OPTIONAL_STRING_SCHEMA ); } }
/** * Returns a {@link SchemaBuilder} for a JSON field, with all other default Schema settings. * * @return the schema * @see #builder() */ public static Schema schema() { return builder().build(); } }
protected List<SchemaAndValueField> schemaAndValueFieldForJsonEncodedHStoreTypeWithNullValues(){ final String expected = "{\"key1\":\"val1\",\"key2\":null}"; return Arrays.asList(new SchemaAndValueField("hs", Json.builder().optional().build(), expected)); }
protected List<SchemaAndValueField> schemaAndValueFieldForJsonEncodedHStoreType(){ final String expected = "{\"key\":\"val\"}"; return Arrays.asList(new SchemaAndValueField("hs", Json.builder().optional().build(), expected)); }
protected List<SchemaAndValueField> schemaAndValueFieldForJsonEncodedHStoreTypeWithMultipleValues(){ final String expected = "{\"key1\":\"val1\",\"key2\":\"val2\",\"key3\":\"val3\"}"; return Arrays.asList(new SchemaAndValueField("hs", Json.builder().optional().build(), expected)); }
protected List<SchemaAndValueField> schemaAndValueFieldForJsonEncodedHStoreTypeWithSpcialCharacters(){ final String expected = "{\"key_#1\":\"val 1\",\"key 2\":\" ##123 78\"}"; return Arrays.asList(new SchemaAndValueField("hs", Json.builder().optional().build(), expected)); }
protected List<SchemaAndValueField> schemasAndValuesForTextTypes() { return Arrays.asList(new SchemaAndValueField("j", Json.builder().optional().build(), "{\"bar\": \"baz\"}"), new SchemaAndValueField("jb", Json.builder().optional().build(), "{\"bar\": \"baz\"}"), new SchemaAndValueField("x", Xml.builder().optional().build(), "<foo>bar</foo><foo>bar</foo>"), new SchemaAndValueField("u", Uuid.builder().optional().build(), "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11")); }
case PgOid.JSONB_OID: case PgOid.JSON: return Json.builder(); case PgOid.TSTZRANGE_OID: return SchemaBuilder.string();
MicroDuration.builder().optional().build()); assertTableSchema("public.text_table", "j, jb, x, u", Json.builder().optional().build(), Json.builder().optional().build(), Xml.builder().optional().build(), Uuid.builder().optional().build()); assertTableSchema("public.geom_table", "p", Point.builder().optional().build());