// Code generated by BobGen psql v0.42.5. DO NOT EDIT.
// This file is meant to be re-generated in place and/or deleted at any time.

package dbinfo

import "github.com/aarondl/opt/null"

var SpatialRefSys = Table[
	spatialRefSyColumns,
	spatialRefSyIndexes,
	spatialRefSyForeignKeys,
	spatialRefSyUniques,
	spatialRefSyChecks,
]{
	Schema: "",
	Name:   "spatial_ref_sys",
	Columns: spatialRefSyColumns{
		Srid: column{
			Name:      "srid",
			DBType:    "integer",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		AuthName: column{
			Name:      "auth_name",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		AuthSrid: column{
			Name:      "auth_srid",
			DBType:    "integer",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Srtext: column{
			Name:      "srtext",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Proj4text: column{
			Name:      "proj4text",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
	},
	Indexes: spatialRefSyIndexes{
		SpatialRefSysPkey: index{
			Type: "btree",
			Name: "spatial_ref_sys_pkey",
			Columns: []indexColumn{
				{
					Name:         "srid",
					Desc:         null.FromCond(false, true),
					IsExpression: false,
				},
			},
			Unique:        true,
			Comment:       "",
			NullsFirst:    []bool{false},
			NullsDistinct: false,
			Where:         "",
			Include:       []string{},
		},
	},
	PrimaryKey: &constraint{
		Name:    "spatial_ref_sys_pkey",
		Columns: []string{"srid"},
		Comment: "",
	},

	Checks: spatialRefSyChecks{
		SpatialRefSysSridCheck: check{
			constraint: constraint{
				Name:    "spatial_ref_sys_srid_check",
				Columns: []string{"srid"},
				Comment: "",
			},
			Expression: "((srid > 0) AND (srid <= 998999))",
		},
	},
	Comment: "",
}

type spatialRefSyColumns struct {
	Srid      column
	AuthName  column
	AuthSrid  column
	Srtext    column
	Proj4text column
}

func (c spatialRefSyColumns) AsSlice() []column {
	return []column{
		c.Srid, c.AuthName, c.AuthSrid, c.Srtext, c.Proj4text,
	}
}

type spatialRefSyIndexes struct {
	SpatialRefSysPkey index
}

func (i spatialRefSyIndexes) AsSlice() []index {
	return []index{
		i.SpatialRefSysPkey,
	}
}

type spatialRefSyForeignKeys struct{}

func (f spatialRefSyForeignKeys) AsSlice() []foreignKey {
	return []foreignKey{}
}

type spatialRefSyUniques struct{}

func (u spatialRefSyUniques) AsSlice() []constraint {
	return []constraint{}
}

type spatialRefSyChecks struct {
	SpatialRefSysSridCheck check
}

func (c spatialRefSyChecks) AsSlice() []check {
	return []check{
		c.SpatialRefSysSridCheck,
	}
}
