@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);
 }
Beispiel #2
0
  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();
  }