Examples of DBDialect


Examples of com.alibaba.otter.node.etl.common.db.dialect.DbDialect

    }

    private boolean checkNeedDbForRowMode(Pipeline pipeline, EventData eventData) {
        // 获取数据表信息
        DataMedia dataMedia = ConfigHelper.findDataMedia(pipeline, eventData.getTableId());
        DbDialect dbDialect = dbDialectFactory.getDbDialect(pipeline.getId(), (DbMediaSource) dataMedia.getSource());
        Table table = dbDialect.findTable(eventData.getSchemaName(), eventData.getTableName());
        if (table.getColumnCount() == eventData.getColumns().size() + eventData.getKeys().size()) {
            return false;
        } else {
            return true;
        }
View Full Code Here

Examples of com.alibaba.otter.node.etl.common.db.dialect.DbDialect

                                          + " and rowdata: " + rowChange.toString());
            }
            if (eventType.isDdl()) {
                // 如果EventType是CREATE/ALTER,需要reload DataMediaInfo;并且把CREATE/ALTER类型的事件丢弃掉.
                if (eventType.isCreate() || eventType.isAlter() || eventType.isRename()) {
                    DbDialect dbDialect = dbDialectFactory.getDbDialect(pipeline.getId(),
                                                                        (DbMediaSource) dataMedia.getSource());
                    dbDialect.reloadTable(schemaName, tableName);// 更新下meta信息
                }

                boolean ddlSync = pipeline.getParameters().getDdlSync();
                if (ddlSync) {
                    // 处理下ddl操作
View Full Code Here

Examples of com.alibaba.otter.node.etl.common.db.dialect.DbDialect

        }
        eventData.setTableId(dataMedia.getId());
        if (useTableTransform || dataMedia.getSource().getType().isOracle()) {// oracle需要反查一次meta
            // 如果设置了需要进行table meta转化,则反查一下table信息
            // 比如oracle erosa解析时可能使用了非物理主键,需要直接使用,信任erosa的信息
            DbDialect dbDialect = dbDialectFactory.getDbDialect(pipeline.getId(), (DbMediaSource) dataMedia.getSource());
            table = dbDialect.findTable(eventData.getSchemaName(), eventData.getTableName());// 查询一下meta信息
            if (table == null) {
                logger.warn("find table[{}.{}] is null , may be drop table.", eventData.getSchemaName(),
                            eventData.getTableName());
            }
            tableHolder = new TableInfoHolder(dbDialect, table, useTableTransform);
View Full Code Here

Examples of com.alibaba.otter.node.etl.common.db.dialect.DbDialect

        dbMediaSource.setPassword("jonathan");
        dbMediaSource.setUrl("jdbc:oracle:thin:@127.0.0.1:1521:ointest");
        dbMediaSource.setEncode("UTF-8");
        dbMediaSource.setType(DataMediaType.ORACLE);

        final DbDialect dbDialect = dbDialectFactory.getDbDialect(2L, dbMediaSource);
        // want.object(dbDialect).clazIs(MysqlDialect.class);

        Table table = dbDialect.findTable("otter2", "test_time");
        System.out.println(table);

        final SqlTemplate sqlTemplate = dbDialect.getSqlTemplate();
        final JdbcTemplate jdbcTemplate = dbDialect.getJdbcTemplate();
        final TransactionTemplate transactionTemplate = dbDialect.getTransactionTemplate();
        final int[] pkColumnTypes = { Types.INTEGER };
        final int[] columnTypes = { Types.TIMESTAMP, Types.TIMESTAMP, Types.DATE, Types.TIME, Types.INTEGER,
                Types.INTEGER };
        transactionTemplate.execute(new TransactionCallback() {
View Full Code Here

Examples of com.alibaba.otter.node.etl.common.db.dialect.DbDialect

        dbMediaSource.setPassword("xxxxx");
        dbMediaSource.setUrl("jdbc:mysql://127.0.0.1:3306");
        dbMediaSource.setEncode("UTF-8");
        dbMediaSource.setType(DataMediaType.MYSQL);

        final DbDialect dbDialect = dbDialectFactory.getDbDialect(2L, dbMediaSource);
        want.object(dbDialect).clazIs(MysqlDialect.class);

        Table table = dbDialect.findTable("test", "ljh_demo");
        System.out.println(table);

        final SqlTemplate sqlTemplate = dbDialect.getSqlTemplate();
        final JdbcTemplate jdbcTemplate = dbDialect.getJdbcTemplate();
        final TransactionTemplate transactionTemplate = dbDialect.getTransactionTemplate();
        final int[] pkColumnTypes = { Types.INTEGER };
        final int[] columnTypes = { Types.VARCHAR, Types.INTEGER, Types.DECIMAL, Types.BIGINT };
        transactionTemplate.execute(new TransactionCallback() {

            public Object doInTransaction(TransactionStatus status) {
View Full Code Here

Examples of com.alibaba.otter.node.etl.common.db.dialect.DbDialect

        dataMedia.setSource(dbMediaSource);
        dataMedia.setId(1L);
        dataMedia.setName("ljhtable1");
        dataMedia.setNamespace("otter");

        final DbDialect dbDialect = dbDialectFactory.getDbDialect(2L, dataMedia.getSource());
        want.object(dbDialect).clazIs(MysqlDialect.class);

        final TransactionTemplate transactionTemplate = dbDialect.getTransactionTemplate();

        // 插入数据准备
        int minute = 5;
        int nextId = 1;
        final int thread = 10;
        final int batch = 50;
        final String sql = "insert into otter.ljhtable1 values(? , ? , ? , ?)";

        final CountDownLatch latch = new CountDownLatch(thread);
        ExecutorService executor = new ThreadPoolExecutor(thread,
            thread,
            60,
            TimeUnit.SECONDS,
            new ArrayBlockingQueue(thread * 2),
            new NamedThreadFactory("load"),
            new ThreadPoolExecutor.CallerRunsPolicy());

        for (int sec = 0; sec < minute * 60; sec++) {
            // 执行秒循环
            long startTime = System.currentTimeMillis();
            for (int i = 0; i < thread; i++) {
                final int start = nextId + i * batch;
                executor.submit(new Runnable() {

                    public void run() {
                        try {
                            transactionTemplate.execute(new TransactionCallback() {

                                public Object doInTransaction(TransactionStatus status) {
                                    JdbcTemplate jdbcTemplate = dbDialect.getJdbcTemplate();
                                    return jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {

                                        public void setValues(PreparedStatement ps, int idx) throws SQLException {
                                            int id = start + idx;
                                            StatementCreatorUtils.setParameterValue(ps, 1, Types.INTEGER, null, id);
View Full Code Here

Examples of com.alibaba.otter.node.etl.common.db.dialect.DbDialect

    private DbDialectFactory dbDialectFactory;

    @Test
    public void testMysqlTable() {
        DbDataMedia mysqlMedia = getMysqlMedia();
        DbDialect dbDialect = dbDialectFactory.getDbDialect(1L, mysqlMedia.getSource());
        Table table = dbDialect.findTable(mysqlMedia.getNamespace(), mysqlMedia.getName());
        want.object(table).notNull();

        System.out.println("tableName = " + table.getName());
        Column[] columns = table.getColumns();
        for (Column column : columns) {
View Full Code Here

Examples of com.alibaba.otter.node.etl.common.db.dialect.DbDialect

    }

    @Test
    public void testOracleTable() {
        DbDataMedia oracleMedia = getOracleMedia();
        DbDialect dbDialect = dbDialectFactory.getDbDialect(1L, oracleMedia.getSource());
        Table table = dbDialect.findTable(oracleMedia.getNamespace(), oracleMedia.getName());
        want.object(table).notNull();

        System.out.println("tableName = " + table.getName());
        Column[] columns = table.getColumns();
        for (Column column : columns) {
View Full Code Here

Examples of com.alibaba.otter.node.etl.common.db.dialect.DbDialect

        dbMediaSource.setPassword("xxxxx");
        dbMediaSource.setUrl("jdbc:mysql://127.0.0.1:3306");
        dbMediaSource.setEncode("UTF-8");
        dbMediaSource.setType(DataMediaType.MYSQL);

        final DbDialect dbDialect = dbDialectFactory.getDbDialect(2L, dbMediaSource);
        want.object(dbDialect).clazIs(MysqlDialect.class);

        Table table = dbDialect.findTable(SCHEMA_NAME, TABLE_NAME);
        System.out.println(table);

        final SqlTemplate sqlTemplate = dbDialect.getSqlTemplate();
        final JdbcTemplate jdbcTemplate = dbDialect.getJdbcTemplate();
        final TransactionTemplate transactionTemplate = dbDialect.getTransactionTemplate();
        final int[] pkColumnTypes = { Types.INTEGER };
        final int[] columnTypes = { Types.BIT, Types.BIT };
        transactionTemplate.execute(new TransactionCallback() {

            public Object doInTransaction(TransactionStatus status) {
View Full Code Here

Examples of com.alibaba.otter.node.etl.common.db.dialect.DbDialect

            "2011-01-01 11:11:11", "2011-01-01 11:11:11" };

    @Test(expectedExceptions = RuntimeException.class)
    public void test_mysql() {
        DbDataMedia media = getMysqlMedia();
        final DbDialect dbDialect = dbDialectFactory.getDbDialect(2L, media.getSource());
        want.object(dbDialect).clazIs(MysqlDialect.class);

        final SqlTemplate sqlTemplate = dbDialect.getSqlTemplate();
        final JdbcTemplate jdbcTemplate = dbDialect.getJdbcTemplate();
        final TransactionTemplate transactionTemplate = dbDialect.getTransactionTemplate();
        final int[] pkColumnTypes = { Types.INTEGER, Types.VARCHAR };
        final int[] columnTypes = { Types.CHAR, Types.DECIMAL, Types.BLOB, Types.CLOB, Types.DATE, Types.TIMESTAMP,
                Types.TIMESTAMP };
        transactionTemplate.execute(new TransactionCallback() {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.