maksaska commented on code in PR #311: URL: https://github.com/apache/ignite-extensions/pull/311#discussion_r2195292606
########## modules/cdc-ext/src/main/java/org/apache/ignite/cdc/postgresql/IgniteToPostgreSqlCdcApplier.java: ########## @@ -0,0 +1,575 @@ +package org.apache.ignite.cdc.postgresql; + +import java.math.BigDecimal; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; +import java.util.UUID; +import org.apache.ignite.IgniteException; +import org.apache.ignite.IgniteLogger; +import org.apache.ignite.binary.BinaryObject; +import org.apache.ignite.cache.CacheEntryVersion; +import org.apache.ignite.cache.QueryEntity; +import org.apache.ignite.cdc.CdcCacheEvent; +import org.apache.ignite.cdc.CdcEvent; +import org.apache.ignite.internal.util.typedef.F; + +import static org.apache.ignite.internal.processors.cache.GridCacheUtils.UNDEFINED_CACHE_ID; + +/** */ +class IgniteToPostgreSqlCdcApplier { + /** */ + public static final String DFLT_SQL_TYPE = "BYTEA"; + + /** */ + public static final Map<String, String> JAVA_TO_SQL_TYPES; + + static { + Map<String, String> map = new HashMap<>(); + + map.put("java.lang.String", "TEXT"); + map.put("java.lang.Integer", "INT"); + map.put("int", "INT"); + map.put("java.lang.Long", "BIGINT"); + map.put("long", "BIGINT"); + map.put("java.lang.Boolean", "BOOLEAN"); + map.put("boolean", "BOOLEAN"); + map.put("java.lang.Double", "DOUBLE PRECISION"); + map.put("double", "DOUBLE PRECISION"); + map.put("java.lang.Float", "REAL"); + map.put("float", "REAL"); + map.put("java.math.BigDecimal", "NUMERIC"); + map.put("java.lang.Short", "SMALLINT"); + map.put("short", "SMALLINT"); + map.put("java.lang.Byte", "SMALLINT"); + map.put("byte", "SMALLINT"); Review Comment: "char" is used for internal logic and is not recommended for such usage. Overhead for each row is 23 - 27 bytes anyway according to the documentation. https://www.postgresql.org/docs/current/storage-page-layout.html?utm_source=chatgpt.com#STORAGE-TUPLE-LAYOUT -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@ignite.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org