// Path: sane-dbc-core/src/main/java/com/novarto/sanedbc/core/ops/Binders.java
// public static final TryEffect1<PreparedStatement, SQLException> NO_BINDER = (s) -> {
// };


import fj.control.db.DB;
import fj.function.TryEffect1;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Iterator;
import static com.novarto.sanedbc.core.ops.Binders.NO_BINDER;
package com.novarto.sanedbc.core.ops;




public class AggregateOp extends DB<Long>
{

    private final SelectOp.List<Long> selectOp;

    public AggregateOp(String sql, TryEffect1<PreparedStatement, SQLException> binder)
    {
        this.selectOp = new SelectOp.List<>(sql, binder, x -> x.getLong(1));
    }

    public AggregateOp(String sql)
    {
// Path: sane-dbc-core/src/main/java/com/novarto/sanedbc/core/ops/Binders.java
// public static final TryEffect1<PreparedStatement, SQLException> NO_BINDER = (s) -> {
// };


// Path: sane-dbc-core/src/main/java/com/novarto/sanedbc/core/ops/AggregateOp.java
import fj.control.db.DB;
import fj.function.TryEffect1;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Iterator;
import static com.novarto.sanedbc.core.ops.Binders.NO_BINDER;

package com.novarto.sanedbc.core.ops;




public class AggregateOp extends DB<Long>
{

    private final SelectOp.List<Long> selectOp;

    public AggregateOp(String sql, TryEffect1<PreparedStatement, SQLException> binder)
    {
        this.selectOp = new SelectOp.List<>(sql, binder, x -> x.getLong(1));
    }

    public AggregateOp(String sql)
    {
        this(sql, NO_BINDER);