@Inject public JooqBasedDatasourceValueStoreBuilder( @Named("mev-datasource") DataSource dataSource, String id, boolean isTemporary) throws SQLException { this.id = id; this.isTemporary = isTemporary; context = using(dataSource.getConnection()); table = tableByName(id); row = fieldByName(String.class, ROW_FIELD_NAME); column = fieldByName(String.class, COLUMN_FIELD_NAME); value = fieldByName(Double.class, VALUE_FIELD_NAME); context .query( "CREATE " + (isTemporary ? "TEMPORARY" : "") + " TABLE IF NOT EXISTS {0}({1} VARCHAR(255), {2} VARCHAR(255), {3} DOUBLE)", table, row, column, value) .execute(); context .query("CREATE UNIQUE INDEX IF NOT EXISTS {0} ON {0}({1}, {2})", table, row, column) .execute(); if (log.isDebugEnabled()) log.debug("Created " + table + " with " + row + ", " + column + ", " + value); }
private final int[] executeStatic() { List<Query> queries = new ArrayList<Query>(); for (Object[] bindValues : allBindValues) { for (int i = 0; i < bindValues.length; i++) { query.bind(i + 1, bindValues[i]); } queries.add(create.query(query.getSQL(INLINED))); } return create.batch(queries).execute(); }