func (this *Queries_ExtraServ) ExtraSelectUserById(ctx context.Context, db persist.Runnable) *Query_ExtraServ_ExtraSelectUserById {
	return &Query_ExtraServ_ExtraSelectUserById{
		opts: this.opts,
		ctx:  ctx,
		db:   db,
	}
}
ExtraSelectUserById returns a struct that will perform the 'extra_select_user_by_id' query.
When Execute is called, it will use the following fields:
[id]
package pb
import (
	sql "database/sql"
	driver "database/sql/driver"
	fmt "fmt"
	io "io"
	proto "github.com/golang/protobuf/proto"
	timestamp "github.com/golang/protobuf/ptypes/timestamp"
	imports "github.com/tcncloud/protoc-gen-persistexamples/user_sql/pb/imports"
	persist "github.com/tcncloud/protoc-gen-persist/persist"
	context "golang.org/x/net/context"
	codes "google.golang.org/grpc/codes"
	gstatus "google.golang.org/grpc/status"
)
type Queries_ExtraServ struct {
	opts Opts_ExtraServ
}
func QueriesExtraServ(opts ...Opts_ExtraServ) *Queries_ExtraServ {
	var myOpts Opts_ExtraServ
	if len(opts) > 0 {
		myOpts = opts[0]
	} else {
		myOpts = OptsExtraServ(&DefaultHooks_ExtraServ{}, &DefaultTypeMappings_ExtraServ{})
	}
	return &Queries_ExtraServ{
		opts: myOpts,
	}
}
func (this *Queries_ExtraServ) ExtraCreateUsersTable(ctx context.Context, db persist.Runnable) *Query_ExtraServ_ExtraCreateUsersTable {
	return &Query_ExtraServ_ExtraCreateUsersTable{
		opts: this.opts,
		ctx:  ctx,
		db:   db,
	}
}
type Query_ExtraServ_ExtraCreateUsersTable struct {
	opts Opts_ExtraServ
	db   persist.Runnable
	ctx  context.Context
}
func (this *Query_ExtraServ_ExtraCreateUsersTable) QueryInType_Empty()  {}
func (this *Query_ExtraServ_ExtraCreateUsersTable) QueryOutType_Empty() {}
func (this *Query_ExtraServ_ExtraCreateUsersTable) Execute(x In_ExtraServ_ExtraCreateUsersTable) *Iter_ExtraServ_ExtraCreateUsersTable {
	var setupErr error
	params := []interface{}{}
	result := &Iter_ExtraServ_ExtraCreateUsersTable{
		tm:  this.opts.MAPPINGS,
		ctx: this.ctx,
	}
	if setupErr != nil {
		result.err = setupErr
		return result
	}
	result.result, result.err = this.db.ExecContext(this.ctx, "CREATE TABLE users(id integer PRIMARY KEY, name VARCHAR(50), friends BYTEA, created_on VARCHAR(50), id2 SMALLINT, counts []BIGINT)", params...)
	return result
}
func (this *Queries_ExtraServ) ExtraGetAllUsers(ctx context.Context, db persist.Runnable) *Query_ExtraServ_ExtraGetAllUsers {
	return &Query_ExtraServ_ExtraGetAllUsers{
		opts: this.opts,
		ctx:  ctx,
		db:   db,
	}
}
type Query_ExtraServ_ExtraGetAllUsers struct {
	opts Opts_ExtraServ
	db   persist.Runnable
	ctx  context.Context
}
func (this *Query_ExtraServ_ExtraGetAllUsers) QueryInType_Empty() {}
func (this *Query_ExtraServ_ExtraGetAllUsers) QueryOutType_User() {}
func (this *Query_ExtraServ_ExtraGetAllUsers) Execute(x In_ExtraServ_ExtraGetAllUsers) *Iter_ExtraServ_ExtraGetAllUsers {
	var setupErr error
	params := []interface{}{}
	result := &Iter_ExtraServ_ExtraGetAllUsers{
		tm:  this.opts.MAPPINGS,
		ctx: this.ctx,
	}
	if setupErr != nil {
		result.err = setupErr
		return result
	}
	result.rows, result.err = this.db.QueryContext(this.ctx, "SELECT id, name, friends, created_on, id2 FROM users", params...)
	return result
}