diff --git a/.bleep/generated-sources/typo-tester-anorm@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/package.scala b/.bleep/generated-sources/typo-tester-anorm@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/package.scala index 0f9803aaa5..873fbccb53 100644 --- a/.bleep/generated-sources/typo-tester-anorm@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/package.scala +++ b/.bleep/generated-sources/typo-tester-anorm@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/package.scala @@ -20,7 +20,16 @@ package object hardcoded { implicit lazy val OffsetTimeWrites: play.api.libs.json.Writes[java.time.OffsetTime] = play.api.libs.json.Writes.StringWrites.contramap(_.toString) implicit lazy val ShortArrayToStatement: anorm.ToStatement[Array[scala.Short]] = anorm.ToStatement[Array[scala.Short]]((ps, index, v) => ps.setArray(index, ps.getConnection.createArrayOf("int2", v.map(v => v: java.lang.Short)))) implicit def arrayParameterMetaData[T](implicit T: anorm.ParameterMetaData[T]): anorm.ParameterMetaData[Array[T]] = new anorm.ParameterMetaData[Array[T]] { - override def sqlType: java.lang.String = "_" + T.sqlType + override def sqlType: java.lang.String = + T.sqlType match { + case "INTEGER" => "int4[]" + case "FLOAT" => "float4[]" + case "DOUBLE PRECISION" => "float8[]" + case "DECIMAL" => "float8[]" + case "VARCHAR" => "text[]" + case other => s"${other}[]" + } + override def jdbcType: scala.Int = java.sql.Types.ARRAY } } diff --git a/.bleep/generated-sources/typo-tester-anorm@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/package.scala b/.bleep/generated-sources/typo-tester-anorm@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/package.scala index 0f9803aaa5..873fbccb53 100644 --- a/.bleep/generated-sources/typo-tester-anorm@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/package.scala +++ b/.bleep/generated-sources/typo-tester-anorm@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/package.scala @@ -20,7 +20,16 @@ package object hardcoded { implicit lazy val OffsetTimeWrites: play.api.libs.json.Writes[java.time.OffsetTime] = play.api.libs.json.Writes.StringWrites.contramap(_.toString) implicit lazy val ShortArrayToStatement: anorm.ToStatement[Array[scala.Short]] = anorm.ToStatement[Array[scala.Short]]((ps, index, v) => ps.setArray(index, ps.getConnection.createArrayOf("int2", v.map(v => v: java.lang.Short)))) implicit def arrayParameterMetaData[T](implicit T: anorm.ParameterMetaData[T]): anorm.ParameterMetaData[Array[T]] = new anorm.ParameterMetaData[Array[T]] { - override def sqlType: java.lang.String = "_" + T.sqlType + override def sqlType: java.lang.String = + T.sqlType match { + case "INTEGER" => "int4[]" + case "FLOAT" => "float4[]" + case "DOUBLE PRECISION" => "float8[]" + case "DECIMAL" => "float8[]" + case "VARCHAR" => "text[]" + case other => s"${other}[]" + } + override def jdbcType: scala.Int = java.sql.Types.ARRAY } } diff --git a/.bleep/generated-sources/typo-tester-doobie@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Number.scala b/.bleep/generated-sources/typo-tester-doobie@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Number.scala index 29a6bd4923..2d84543579 100644 --- a/.bleep/generated-sources/typo-tester-doobie@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Number.scala +++ b/.bleep/generated-sources/typo-tester-doobie@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Number.scala @@ -41,7 +41,7 @@ object Number { val ByName: Map[String, Number] = All.map(x => (x.value, x)).toMap implicit lazy val arrayGet: Get[Array[Number]] = testdb.hardcoded.StringArrayMeta.get.map(_.map(force)) - implicit lazy val arrayPut: Put[Array[Number]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_myschema.number"), "myschema.number").contramap(_.map(_.value)) + implicit lazy val arrayPut: Put[Array[Number]] = Put.Advanced.array[AnyRef](NonEmptyList.one("myschema.number[]"), "myschema.number").contramap(_.map(_.value)) implicit lazy val decoder: Decoder[Number] = Decoder.decodeString.emap(Number.apply) implicit lazy val encoder: Encoder[Number] = Encoder.encodeString.contramap(_.value) implicit lazy val get: Get[Number] = Meta.StringMeta.get.temap(Number.apply) diff --git a/.bleep/generated-sources/typo-tester-doobie@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Sector.scala b/.bleep/generated-sources/typo-tester-doobie@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Sector.scala index 20d8f1fc01..04caadff2e 100644 --- a/.bleep/generated-sources/typo-tester-doobie@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Sector.scala +++ b/.bleep/generated-sources/typo-tester-doobie@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Sector.scala @@ -41,7 +41,7 @@ object Sector { val ByName: Map[String, Sector] = All.map(x => (x.value, x)).toMap implicit lazy val arrayGet: Get[Array[Sector]] = testdb.hardcoded.StringArrayMeta.get.map(_.map(force)) - implicit lazy val arrayPut: Put[Array[Sector]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_myschema.sector"), "myschema.sector").contramap(_.map(_.value)) + implicit lazy val arrayPut: Put[Array[Sector]] = Put.Advanced.array[AnyRef](NonEmptyList.one("myschema.sector[]"), "myschema.sector").contramap(_.map(_.value)) implicit lazy val decoder: Decoder[Sector] = Decoder.decodeString.emap(Sector.apply) implicit lazy val encoder: Encoder[Sector] = Encoder.encodeString.contramap(_.value) implicit lazy val get: Get[Sector] = Meta.StringMeta.get.temap(Sector.apply) diff --git a/.bleep/generated-sources/typo-tester-doobie@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Number.scala b/.bleep/generated-sources/typo-tester-doobie@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Number.scala index 29a6bd4923..2d84543579 100644 --- a/.bleep/generated-sources/typo-tester-doobie@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Number.scala +++ b/.bleep/generated-sources/typo-tester-doobie@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Number.scala @@ -41,7 +41,7 @@ object Number { val ByName: Map[String, Number] = All.map(x => (x.value, x)).toMap implicit lazy val arrayGet: Get[Array[Number]] = testdb.hardcoded.StringArrayMeta.get.map(_.map(force)) - implicit lazy val arrayPut: Put[Array[Number]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_myschema.number"), "myschema.number").contramap(_.map(_.value)) + implicit lazy val arrayPut: Put[Array[Number]] = Put.Advanced.array[AnyRef](NonEmptyList.one("myschema.number[]"), "myschema.number").contramap(_.map(_.value)) implicit lazy val decoder: Decoder[Number] = Decoder.decodeString.emap(Number.apply) implicit lazy val encoder: Encoder[Number] = Encoder.encodeString.contramap(_.value) implicit lazy val get: Get[Number] = Meta.StringMeta.get.temap(Number.apply) diff --git a/.bleep/generated-sources/typo-tester-doobie@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Sector.scala b/.bleep/generated-sources/typo-tester-doobie@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Sector.scala index 20d8f1fc01..04caadff2e 100644 --- a/.bleep/generated-sources/typo-tester-doobie@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Sector.scala +++ b/.bleep/generated-sources/typo-tester-doobie@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Sector.scala @@ -41,7 +41,7 @@ object Sector { val ByName: Map[String, Sector] = All.map(x => (x.value, x)).toMap implicit lazy val arrayGet: Get[Array[Sector]] = testdb.hardcoded.StringArrayMeta.get.map(_.map(force)) - implicit lazy val arrayPut: Put[Array[Sector]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_myschema.sector"), "myschema.sector").contramap(_.map(_.value)) + implicit lazy val arrayPut: Put[Array[Sector]] = Put.Advanced.array[AnyRef](NonEmptyList.one("myschema.sector[]"), "myschema.sector").contramap(_.map(_.value)) implicit lazy val decoder: Decoder[Sector] = Decoder.decodeString.emap(Sector.apply) implicit lazy val encoder: Encoder[Sector] = Encoder.encodeString.contramap(_.value) implicit lazy val get: Get[Sector] = Meta.StringMeta.get.temap(Sector.apply) diff --git a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Number.scala b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Number.scala index 52ce03d59b..619c7e80ad 100644 --- a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Number.scala +++ b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Number.scala @@ -10,7 +10,7 @@ package myschema import java.sql.ResultSet import java.sql.Types import testdb.hardcoded.Text -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcDecoderError import zio.jdbc.JdbcEncoder @@ -65,7 +65,7 @@ object Number { implicit lazy val jsonDecoder: JsonDecoder[Number] = JsonDecoder.string.mapOrFail(Number.apply) implicit lazy val jsonEncoder: JsonEncoder[Number] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[Number] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[Number] = ParameterMetaData.instance[Number]("myschema.number", Types.OTHER) + implicit lazy val pgType: PGType[Number] = PGType.instance[Number]("myschema.number", Types.OTHER) implicit lazy val setter: Setter[Number] = Setter.stringSetter.contramap(_.value) implicit lazy val text: Text[Number] = new Text[Number] { override def unsafeEncode(v: Number, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value, sb) diff --git a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Sector.scala b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Sector.scala index ffabecd1b3..34f7b0ccb0 100644 --- a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Sector.scala +++ b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Sector.scala @@ -10,7 +10,7 @@ package myschema import java.sql.ResultSet import java.sql.Types import testdb.hardcoded.Text -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcDecoderError import zio.jdbc.JdbcEncoder @@ -65,7 +65,7 @@ object Sector { implicit lazy val jsonDecoder: JsonDecoder[Sector] = JsonDecoder.string.mapOrFail(Sector.apply) implicit lazy val jsonEncoder: JsonEncoder[Sector] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[Sector] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[Sector] = ParameterMetaData.instance[Sector]("myschema.sector", Types.OTHER) + implicit lazy val pgType: PGType[Sector] = PGType.instance[Sector]("myschema.sector", Types.OTHER) implicit lazy val setter: Setter[Sector] = Setter.stringSetter.contramap(_.value) implicit lazy val text: Text[Sector] = new Text[Sector] { override def unsafeEncode(v: Sector, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value, sb) diff --git a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/football_club/FootballClubId.scala b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/football_club/FootballClubId.scala index 6d777be707..5d74d179d8 100644 --- a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/football_club/FootballClubId.scala +++ b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/football_club/FootballClubId.scala @@ -10,7 +10,7 @@ package football_club import testdb.hardcoded.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -27,7 +27,7 @@ object FootballClubId { implicit lazy val jsonDecoder: JsonDecoder[FootballClubId] = JsonDecoder.long.map(FootballClubId.apply) implicit lazy val jsonEncoder: JsonEncoder[FootballClubId] = JsonEncoder.long.contramap(_.value) implicit lazy val ordering: Ordering[FootballClubId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[FootballClubId] = ParameterMetaData.instance[FootballClubId](ParameterMetaData.LongParameterMetaData.sqlType, ParameterMetaData.LongParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[FootballClubId] = PGType.PGTypeLong.as implicit lazy val setter: Setter[FootballClubId] = Setter.longSetter.contramap(_.value) implicit lazy val text: Text[FootballClubId] = new Text[FootballClubId] { override def unsafeEncode(v: FootballClubId, sb: StringBuilder) = Text.longInstance.unsafeEncode(v.value, sb) diff --git a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/marital_status/MaritalStatusId.scala b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/marital_status/MaritalStatusId.scala index 940816e592..984e8b372d 100644 --- a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/marital_status/MaritalStatusId.scala +++ b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/marital_status/MaritalStatusId.scala @@ -10,7 +10,7 @@ package marital_status import testdb.hardcoded.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -27,7 +27,7 @@ object MaritalStatusId { implicit lazy val jsonDecoder: JsonDecoder[MaritalStatusId] = JsonDecoder.long.map(MaritalStatusId.apply) implicit lazy val jsonEncoder: JsonEncoder[MaritalStatusId] = JsonEncoder.long.contramap(_.value) implicit lazy val ordering: Ordering[MaritalStatusId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[MaritalStatusId] = ParameterMetaData.instance[MaritalStatusId](ParameterMetaData.LongParameterMetaData.sqlType, ParameterMetaData.LongParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[MaritalStatusId] = PGType.PGTypeLong.as implicit lazy val setter: Setter[MaritalStatusId] = Setter.longSetter.contramap(_.value) implicit lazy val text: Text[MaritalStatusId] = new Text[MaritalStatusId] { override def unsafeEncode(v: MaritalStatusId, sb: StringBuilder) = Text.longInstance.unsafeEncode(v.value, sb) diff --git a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/person/PersonId.scala b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/person/PersonId.scala index 3fa3fe2001..92892d1271 100644 --- a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/person/PersonId.scala +++ b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm213/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/person/PersonId.scala @@ -10,7 +10,7 @@ package person import testdb.hardcoded.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -27,7 +27,7 @@ object PersonId { implicit lazy val jsonDecoder: JsonDecoder[PersonId] = JsonDecoder.long.map(PersonId.apply) implicit lazy val jsonEncoder: JsonEncoder[PersonId] = JsonEncoder.long.contramap(_.value) implicit lazy val ordering: Ordering[PersonId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[PersonId] = ParameterMetaData.instance[PersonId](ParameterMetaData.LongParameterMetaData.sqlType, ParameterMetaData.LongParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[PersonId] = PGType.PGTypeLong.as implicit lazy val setter: Setter[PersonId] = Setter.longSetter.contramap(_.value) implicit lazy val text: Text[PersonId] = new Text[PersonId] { override def unsafeEncode(v: PersonId, sb: StringBuilder) = Text.longInstance.unsafeEncode(v.value, sb) diff --git a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Number.scala b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Number.scala index 52ce03d59b..619c7e80ad 100644 --- a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Number.scala +++ b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Number.scala @@ -10,7 +10,7 @@ package myschema import java.sql.ResultSet import java.sql.Types import testdb.hardcoded.Text -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcDecoderError import zio.jdbc.JdbcEncoder @@ -65,7 +65,7 @@ object Number { implicit lazy val jsonDecoder: JsonDecoder[Number] = JsonDecoder.string.mapOrFail(Number.apply) implicit lazy val jsonEncoder: JsonEncoder[Number] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[Number] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[Number] = ParameterMetaData.instance[Number]("myschema.number", Types.OTHER) + implicit lazy val pgType: PGType[Number] = PGType.instance[Number]("myschema.number", Types.OTHER) implicit lazy val setter: Setter[Number] = Setter.stringSetter.contramap(_.value) implicit lazy val text: Text[Number] = new Text[Number] { override def unsafeEncode(v: Number, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value, sb) diff --git a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Sector.scala b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Sector.scala index ffabecd1b3..34f7b0ccb0 100644 --- a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Sector.scala +++ b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/Sector.scala @@ -10,7 +10,7 @@ package myschema import java.sql.ResultSet import java.sql.Types import testdb.hardcoded.Text -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcDecoderError import zio.jdbc.JdbcEncoder @@ -65,7 +65,7 @@ object Sector { implicit lazy val jsonDecoder: JsonDecoder[Sector] = JsonDecoder.string.mapOrFail(Sector.apply) implicit lazy val jsonEncoder: JsonEncoder[Sector] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[Sector] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[Sector] = ParameterMetaData.instance[Sector]("myschema.sector", Types.OTHER) + implicit lazy val pgType: PGType[Sector] = PGType.instance[Sector]("myschema.sector", Types.OTHER) implicit lazy val setter: Setter[Sector] = Setter.stringSetter.contramap(_.value) implicit lazy val text: Text[Sector] = new Text[Sector] { override def unsafeEncode(v: Sector, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value, sb) diff --git a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/football_club/FootballClubId.scala b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/football_club/FootballClubId.scala index 6d777be707..5d74d179d8 100644 --- a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/football_club/FootballClubId.scala +++ b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/football_club/FootballClubId.scala @@ -10,7 +10,7 @@ package football_club import testdb.hardcoded.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -27,7 +27,7 @@ object FootballClubId { implicit lazy val jsonDecoder: JsonDecoder[FootballClubId] = JsonDecoder.long.map(FootballClubId.apply) implicit lazy val jsonEncoder: JsonEncoder[FootballClubId] = JsonEncoder.long.contramap(_.value) implicit lazy val ordering: Ordering[FootballClubId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[FootballClubId] = ParameterMetaData.instance[FootballClubId](ParameterMetaData.LongParameterMetaData.sqlType, ParameterMetaData.LongParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[FootballClubId] = PGType.PGTypeLong.as implicit lazy val setter: Setter[FootballClubId] = Setter.longSetter.contramap(_.value) implicit lazy val text: Text[FootballClubId] = new Text[FootballClubId] { override def unsafeEncode(v: FootballClubId, sb: StringBuilder) = Text.longInstance.unsafeEncode(v.value, sb) diff --git a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/marital_status/MaritalStatusId.scala b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/marital_status/MaritalStatusId.scala index 940816e592..984e8b372d 100644 --- a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/marital_status/MaritalStatusId.scala +++ b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/marital_status/MaritalStatusId.scala @@ -10,7 +10,7 @@ package marital_status import testdb.hardcoded.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -27,7 +27,7 @@ object MaritalStatusId { implicit lazy val jsonDecoder: JsonDecoder[MaritalStatusId] = JsonDecoder.long.map(MaritalStatusId.apply) implicit lazy val jsonEncoder: JsonEncoder[MaritalStatusId] = JsonEncoder.long.contramap(_.value) implicit lazy val ordering: Ordering[MaritalStatusId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[MaritalStatusId] = ParameterMetaData.instance[MaritalStatusId](ParameterMetaData.LongParameterMetaData.sqlType, ParameterMetaData.LongParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[MaritalStatusId] = PGType.PGTypeLong.as implicit lazy val setter: Setter[MaritalStatusId] = Setter.longSetter.contramap(_.value) implicit lazy val text: Text[MaritalStatusId] = new Text[MaritalStatusId] { override def unsafeEncode(v: MaritalStatusId, sb: StringBuilder) = Text.longInstance.unsafeEncode(v.value, sb) diff --git a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/person/PersonId.scala b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/person/PersonId.scala index 3fa3fe2001..92892d1271 100644 --- a/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/person/PersonId.scala +++ b/.bleep/generated-sources/typo-tester-zio-jdbc@jvm3/scripts.GenHardcodedFiles/testdb/hardcoded/myschema/person/PersonId.scala @@ -10,7 +10,7 @@ package person import testdb.hardcoded.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -27,7 +27,7 @@ object PersonId { implicit lazy val jsonDecoder: JsonDecoder[PersonId] = JsonDecoder.long.map(PersonId.apply) implicit lazy val jsonEncoder: JsonEncoder[PersonId] = JsonEncoder.long.contramap(_.value) implicit lazy val ordering: Ordering[PersonId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[PersonId] = ParameterMetaData.instance[PersonId](ParameterMetaData.LongParameterMetaData.sqlType, ParameterMetaData.LongParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[PersonId] = PGType.PGTypeLong.as implicit lazy val setter: Setter[PersonId] = Setter.longSetter.contramap(_.value) implicit lazy val text: Text[PersonId] = new Text[PersonId] { override def unsafeEncode(v: PersonId, sb: StringBuilder) = Text.longInstance.unsafeEncode(v.value, sb) diff --git a/typo-dsl-zio-jdbc/src/scala/typo/dsl/PGType.scala b/typo-dsl-zio-jdbc/src/scala/typo/dsl/PGType.scala new file mode 100644 index 0000000000..04c667afd1 --- /dev/null +++ b/typo-dsl-zio-jdbc/src/scala/typo/dsl/PGType.scala @@ -0,0 +1,48 @@ +package typo.dsl + +import java.sql.Types + +/** ** Copied from anorm** + * + * Parameter meta data for type `T` + */ +trait PGType[T] { + def sqlType: String + def jdbcType: Int + final def as[U]: PGType[U] = PGType.instance(sqlType, jdbcType) +} + +object PGType { + def instance[T](sqlType: String, jdbcType: Int): PGType[T] = { + val _sqlType = sqlType + val _jdbcType = jdbcType + new PGType[T] { + val sqlType = _sqlType + val jdbcType = _jdbcType + } + } + + implicit def forArray[T](implicit T: PGType[T]): PGType[Array[T]] = new PGType[Array[T]] { + override def sqlType: java.lang.String = T.sqlType + "[]" + override def jdbcType: scala.Int = java.sql.Types.ARRAY + } + + implicit val PGTypeBigDecimal: PGType[BigDecimal] = instance(sqlType = "numeric", jdbcType = Types.DECIMAL) + implicit val PGTypeByteArray: PGType[Array[Byte]] = instance(sqlType = "bytea", jdbcType = Types.ARRAY) + implicit val PGTypeBoolean: PGType[Boolean] = instance(sqlType = "boolean", jdbcType = Types.BOOLEAN) + implicit val PGTypeDouble: PGType[Double] = instance(sqlType = "float8", jdbcType = Types.DOUBLE) + implicit val PGTypeFloat: PGType[Float] = instance(sqlType = "float4", jdbcType = Types.FLOAT) + implicit val PGTypeInt: PGType[Int] = instance(sqlType = "int4", jdbcType = Types.INTEGER) + implicit val PGTypeLong: PGType[Long] = instance(sqlType = "int8", jdbcType = Types.BIGINT) + implicit val PGTypeShort: PGType[Short] = instance(sqlType = "int2", jdbcType = Types.SMALLINT) + implicit val PGTypeString: PGType[String] = instance(sqlType = "text", jdbcType = Types.VARCHAR) + implicit val PGTypeUUID: PGType[java.util.UUID] = instance(sqlType = "uuid", jdbcType = Types.OTHER) + + implicit val PGTypeJBigDecimal: PGType[java.math.BigDecimal] = instance(sqlType = PGTypeBigDecimal.sqlType, jdbcType = PGTypeBigDecimal.jdbcType) + implicit val PGTypeJBool: PGType[java.lang.Boolean] = instance(sqlType = PGTypeBoolean.sqlType, jdbcType = PGTypeBoolean.jdbcType) + implicit val PGTypeJDouble: PGType[java.lang.Double] = instance(sqlType = PGTypeDouble.sqlType, jdbcType = PGTypeDouble.jdbcType) + implicit val PGTypeJInteger: PGType[java.lang.Integer] = instance(sqlType = PGTypeInt.sqlType, jdbcType = PGTypeInt.jdbcType) + implicit val PGTypeJFloat: PGType[java.lang.Float] = instance(sqlType = PGTypeFloat.sqlType, jdbcType = PGTypeFloat.jdbcType) + implicit val PGTypeJLong: PGType[java.lang.Long] = instance(sqlType = PGTypeLong.sqlType, jdbcType = PGTypeLong.jdbcType) + implicit val PGTypeJShort: PGType[java.lang.Short] = instance(sqlType = PGTypeShort.sqlType, jdbcType = PGTypeShort.jdbcType) +} diff --git a/typo-dsl-zio-jdbc/src/scala/typo/dsl/ParameterMetaData.scala b/typo-dsl-zio-jdbc/src/scala/typo/dsl/ParameterMetaData.scala deleted file mode 100644 index bb5608f76c..0000000000 --- a/typo-dsl-zio-jdbc/src/scala/typo/dsl/ParameterMetaData.scala +++ /dev/null @@ -1,248 +0,0 @@ -package typo.dsl - -import java.lang.{Boolean as JBool, Byte as JByte, Double as JDouble, Float as JFloat, Long as JLong, Short as JShort} -import java.math.{BigInteger, BigDecimal as JBigDec} -import java.net.{URI, URL} -import java.sql.{Timestamp, Types} -import java.time.OffsetDateTime -import java.util.{Date, UUID as JUUID} - -/** ** Copied from anorm** - * - * Parameter meta data for type `T` - */ -@annotation.implicitNotFound( - "Meta data not found for parameter of type ${T}: `typo.dsl.ParameterMetaData[${T}]` required; See https://github.com/playframework/anorm/blob/main/docs/manual/working/scalaGuide/main/sql/ScalaAnorm.md#parameters" -) -trait ParameterMetaData[T] { - - /** Name of SQL type (see `java.sql.Types`) - */ - def sqlType: String - - /** JDBC type (see `java.sql.Types`) - */ - def jdbcType: Int -} - -/** ParameterMetaData companion, providing defaults based on SQL92. - */ -object ParameterMetaData extends JavaTimeParameterMetaData { - def instance[T](_sqlType: String, _jdbcType: Int): ParameterMetaData[T] = new ParameterMetaData[T] { - val sqlType = _sqlType - val jdbcType = _jdbcType - } - - /** Binary meta data */ - implicit object BlobParameterMetaData extends ParameterMetaData[java.sql.Blob] { - val sqlType = "BLOB" - val jdbcType = Types.BLOB - } - - /** Array of byte meta data */ - implicit object ByteArrayParameterMetaData extends ParameterMetaData[Array[Byte]] { - val sqlType = "LONGVARBINARY" - val jdbcType = Types.LONGVARBINARY - } - - implicit object InputStreamParameterMetaData extends ParameterMetaData[java.io.InputStream] { - val sqlType = ByteArrayParameterMetaData.sqlType - val jdbcType = ByteArrayParameterMetaData.jdbcType - } - - /** Boolean parameter meta data */ - implicit object BooleanParameterMetaData extends ParameterMetaData[Boolean] { - val sqlType = "BOOLEAN" - val jdbcType = Types.BOOLEAN - } - - implicit object JBooleanParameterMetaData extends ParameterMetaData[JBool] { - val sqlType = BooleanParameterMetaData.sqlType - val jdbcType = BooleanParameterMetaData.jdbcType - } - - /** Clob meta data */ - implicit object ClobParameterMetaData extends ParameterMetaData[java.sql.Clob] { - val sqlType = "CLOB" - val jdbcType = Types.CLOB - } - - /** Double parameter meta data */ - implicit object DoubleParameterMetaData extends ParameterMetaData[Double] { - val sqlType = "DOUBLE PRECISION" - val jdbcType = Types.DOUBLE - } - - implicit object JDoubleParameterMetaData extends ParameterMetaData[JDouble] { - val sqlType = DoubleParameterMetaData.sqlType - val jdbcType = DoubleParameterMetaData.jdbcType - } - - /** Float parameter meta data */ - implicit object FloatParameterMetaData extends ParameterMetaData[Float] { - val sqlType = "FLOAT" - val jdbcType = Types.FLOAT - } - - implicit object JFloatParameterMetaData extends ParameterMetaData[JFloat] { - val sqlType = FloatParameterMetaData.sqlType - val jdbcType = FloatParameterMetaData.jdbcType - } - - /** Integer parameter meta data */ - implicit object IntParameterMetaData extends ParameterMetaData[Int] { - val sqlType = "INTEGER" - val jdbcType = Types.INTEGER - } - - implicit object ByteParameterMetaData extends ParameterMetaData[Byte] { - val sqlType = IntParameterMetaData.sqlType - val jdbcType = Types.TINYINT - } - - implicit object JByteParameterMetaData extends ParameterMetaData[JByte] { - val sqlType = IntParameterMetaData.sqlType - val jdbcType = ByteParameterMetaData.jdbcType - } - - implicit object IntegerParameterMetaData extends ParameterMetaData[Integer] { - val sqlType = IntParameterMetaData.sqlType - val jdbcType = IntParameterMetaData.jdbcType - } - - implicit object ShortParameterMetaData extends ParameterMetaData[Short] { - val sqlType = IntParameterMetaData.sqlType - val jdbcType = Types.SMALLINT - } - - implicit object JShortParameterMetaData extends ParameterMetaData[JShort] { - val sqlType = IntParameterMetaData.sqlType - val jdbcType = ShortParameterMetaData.jdbcType - } - - /** Numeric (big integer) parameter meta data */ - implicit object BigIntParameterMetaData extends ParameterMetaData[BigInt] { - val sqlType = "NUMERIC" - val jdbcType = Types.BIGINT - } - - implicit object BigIntegerParameterMetaData extends ParameterMetaData[BigInteger] { - val sqlType = BigIntParameterMetaData.sqlType - val jdbcType = BigIntParameterMetaData.jdbcType - } - - implicit object LongParameterMetaData extends ParameterMetaData[Long] { - val sqlType = BigIntParameterMetaData.sqlType - val jdbcType = BigIntParameterMetaData.jdbcType - } - - implicit object JLongParameterMetaData extends ParameterMetaData[JLong] { - val sqlType = BigIntParameterMetaData.sqlType - val jdbcType = BigIntParameterMetaData.jdbcType - } - - /** Decimal (big decimal) parameter meta data */ - implicit object BigDecimalParameterMetaData extends ParameterMetaData[BigDecimal] { - val sqlType = "DECIMAL" - val jdbcType = Types.DECIMAL - } - - implicit object JBigDecParameterMetaData extends ParameterMetaData[JBigDec] { - val sqlType = BigDecimalParameterMetaData.sqlType - val jdbcType = BigDecimalParameterMetaData.jdbcType - } - - /** Timestamp parameter meta data */ - implicit object TimestampParameterMetaData extends ParameterMetaData[Timestamp] { - val sqlType = "TIMESTAMP" - val jdbcType = Types.TIMESTAMP - } - - implicit object DateParameterMetaData extends ParameterMetaData[Date] { - val sqlType = TimestampParameterMetaData.sqlType - val jdbcType = TimestampParameterMetaData.jdbcType - } - - @SuppressWarnings(Array("MethodNames")) - implicit def TimestampWrapper1MetaData[T <: { def getTimestamp: java.sql.Timestamp }]: ParameterMetaData[T] = new ParameterMetaData[T] { - val sqlType = TimestampParameterMetaData.sqlType - val jdbcType = TimestampParameterMetaData.jdbcType - } - - /** String/VARCHAR parameter meta data */ - implicit object StringParameterMetaData extends ParameterMetaData[String] { - val sqlType = "VARCHAR" - val jdbcType = Types.VARCHAR - } - - implicit object UUIDParameterMetaData extends ParameterMetaData[JUUID] { - val sqlType = StringParameterMetaData.sqlType - val jdbcType = StringParameterMetaData.jdbcType - } - - implicit object URIParameterMetaData extends ParameterMetaData[URI] { - val sqlType = StringParameterMetaData.sqlType - val jdbcType = StringParameterMetaData.jdbcType - } - - implicit object URLParameterMetaData extends ParameterMetaData[URL] { - val sqlType = StringParameterMetaData.sqlType - val jdbcType = StringParameterMetaData.jdbcType - } - - implicit object CharacterStreamMetaData extends ParameterMetaData[java.io.Reader] { - val sqlType = StringParameterMetaData.sqlType - val jdbcType = StringParameterMetaData.jdbcType - } - - /** Character parameter meta data */ - implicit object CharParameterMetaData extends ParameterMetaData[Char] { - val sqlType = "CHAR" - val jdbcType = Types.CHAR - } - - implicit object CharacterParameterMetaData extends ParameterMetaData[Character] { - val sqlType = CharParameterMetaData.sqlType - val jdbcType = CharParameterMetaData.jdbcType - } -} - -sealed trait JavaTimeParameterMetaData { - import java.time.{Instant, LocalDate, LocalDateTime, ZonedDateTime} - - /** Parameter metadata for Java8 instant */ - implicit object InstantParameterMetaData extends ParameterMetaData[Instant] { - val sqlType = "TIMESTAMPZ" - val jdbcType = Types.TIMESTAMP_WITH_TIMEZONE - } - - /** Parameter metadata for Java8 local date/time */ - implicit object LocalDateTimeParameterMetaData extends ParameterMetaData[LocalDateTime] { - val sqlType = "TIMESTAMP" - val jdbcType = Types.TIMESTAMP - } - - /** Parameter metadata for Java8 local date */ - implicit object LocalDateParameterMetaData extends ParameterMetaData[LocalDate] { - val sqlType = "TIMESTAMP" - val jdbcType = Types.TIMESTAMP - } - - /** Parameter metadata for Java8 zoned date/time */ - implicit object ZonedDateTimeParameterMetaData extends ParameterMetaData[ZonedDateTime] { - val sqlType = "TIMESTAMPZ" - val jdbcType = Types.TIMESTAMP_WITH_TIMEZONE - } - - /** Parameter metadata for Java8 offset date/time */ - implicit object OffsetDateTimeParameterMetaData extends ParameterMetaData[OffsetDateTime] { - val sqlType = "TIMESTAMPZ" - val jdbcType = Types.TIMESTAMP_WITH_TIMEZONE - } - - // added in typo. this is postgres-specific - implicit def arrayParameterMetaData[T](implicit T: ParameterMetaData[T]): ParameterMetaData[Array[T]] = new ParameterMetaData[Array[T]] { - override def sqlType: java.lang.String = "_" + T.sqlType - override def jdbcType: scala.Int = java.sql.Types.ARRAY - } -} diff --git a/typo-dsl-zio-jdbc/src/scala/typo/dsl/SqlExpr.scala b/typo-dsl-zio-jdbc/src/scala/typo/dsl/SqlExpr.scala index 05aa6593d7..2d8d605525 100644 --- a/typo-dsl-zio-jdbc/src/scala/typo/dsl/SqlExpr.scala +++ b/typo-dsl-zio-jdbc/src/scala/typo/dsl/SqlExpr.scala @@ -122,7 +122,7 @@ object SqlExpr { case class OptField[T, R](path: List[Path], name: String, sqlReadCast: Option[String], sqlWriteCast: Option[String], get: R => Option[T], set: (R, Option[T]) => R) extends FieldLikeNotId[T, Option, R] - case class Const[T, N[_]](value: N[T], E: JdbcEncoder[N[T]], P: ParameterMetaData[T]) extends SqlExpr[T, N] { + case class Const[T, N[_]](value: N[T], E: JdbcEncoder[N[T]], P: PGType[T]) extends SqlExpr[T, N] { override def render(ctx: RenderCtx): SqlFragment = sql"${E.encode(value)}" ++ s"::${P.sqlType}" } @@ -132,7 +132,7 @@ object SqlExpr { } object As { - implicit def as[T, N[_], R](implicit E: JdbcEncoder[N[T]], P: ParameterMetaData[T]): As[T, N] = + implicit def as[T, N[_], R](implicit E: JdbcEncoder[N[T]], P: PGType[T]): As[T, N] = (value: N[T]) => SqlExpr.Const(value, E, P) } } @@ -199,10 +199,10 @@ object SqlExpr { } // automatically put values in a constant expression - implicit def asConstOpt[T](t: Option[T])(implicit E: JdbcEncoder[Option[T]], P: ParameterMetaData[T]): SqlExpr.Const[T, Option] = + implicit def asConstOpt[T](t: Option[T])(implicit E: JdbcEncoder[Option[T]], P: PGType[T]): SqlExpr.Const[T, Option] = Const(t, E, P) - implicit def asConstRequired[T: JdbcEncoder: ParameterMetaData](t: T): SqlExpr.Const[T, Required] = + implicit def asConstRequired[T: JdbcEncoder: PGType](t: T): SqlExpr.Const[T, Required] = Const[T, Required](t, implicitly, implicitly) // some syntax to construct field sort order diff --git a/typo-dsl-zio-jdbc/src/scala/typo/dsl/UpdateBuilder.scala b/typo-dsl-zio-jdbc/src/scala/typo/dsl/UpdateBuilder.scala index 1d58aac06d..ed2d692ebf 100644 --- a/typo-dsl-zio-jdbc/src/scala/typo/dsl/UpdateBuilder.scala +++ b/typo-dsl-zio-jdbc/src/scala/typo/dsl/UpdateBuilder.scala @@ -13,7 +13,7 @@ trait UpdateBuilder[Fields, Row] { final def where[N[_]: Nullability](v: Fields => SqlExpr[Boolean, N]): UpdateBuilder[Fields, Row] = withParams(params.where(f => v(f).?.coalesce(false))) - final def setValue[N[_], T](col: Fields => SqlExpr.FieldLikeNotId[T, N, Row])(value: N[T])(implicit E: JdbcEncoder[N[T]], P: ParameterMetaData[T]): UpdateBuilder[Fields, Row] = + final def setValue[N[_], T](col: Fields => SqlExpr.FieldLikeNotId[T, N, Row])(value: N[T])(implicit E: JdbcEncoder[N[T]], P: PGType[T]): UpdateBuilder[Fields, Row] = withParams(params.set(col, _ => SqlExpr.Const[T, N](value, E, P))) final def setComputedValue[T, N[_]](col: Fields => SqlExpr.FieldLikeNotId[T, N, Row])(value: SqlExpr.FieldLikeNotId[T, N, Row] => SqlExpr[T, N]): UpdateBuilder[Fields, Row] = diff --git a/typo-tester-anorm/generated-and-checked-in/adventureworks/package.scala b/typo-tester-anorm/generated-and-checked-in/adventureworks/package.scala index b68f555ebf..4d0453651d 100644 --- a/typo-tester-anorm/generated-and-checked-in/adventureworks/package.scala +++ b/typo-tester-anorm/generated-and-checked-in/adventureworks/package.scala @@ -20,7 +20,16 @@ package object adventureworks { implicit lazy val OffsetTimeWrites: play.api.libs.json.Writes[java.time.OffsetTime] = play.api.libs.json.Writes.StringWrites.contramap(_.toString) implicit lazy val ShortArrayToStatement: anorm.ToStatement[Array[scala.Short]] = anorm.ToStatement[Array[scala.Short]]((ps, index, v) => ps.setArray(index, ps.getConnection.createArrayOf("int2", v.map(v => v: java.lang.Short)))) implicit def arrayParameterMetaData[T](implicit T: anorm.ParameterMetaData[T]): anorm.ParameterMetaData[Array[T]] = new anorm.ParameterMetaData[Array[T]] { - override def sqlType: java.lang.String = "_" + T.sqlType + override def sqlType: java.lang.String = + T.sqlType match { + case "INTEGER" => "int4[]" + case "FLOAT" => "float4[]" + case "DOUBLE PRECISION" => "float8[]" + case "DECIMAL" => "float8[]" + case "VARCHAR" => "text[]" + case other => s"${other}[]" + } + override def jdbcType: scala.Int = java.sql.Types.ARRAY } } diff --git a/typo-tester-anorm/generated-and-checked-in/adventureworks/public/pgtest/PgtestFields.scala b/typo-tester-anorm/generated-and-checked-in/adventureworks/public/pgtest/PgtestFields.scala index 9eac6a6a9c..8cca648df1 100644 --- a/typo-tester-anorm/generated-and-checked-in/adventureworks/public/pgtest/PgtestFields.scala +++ b/typo-tester-anorm/generated-and-checked-in/adventureworks/public/pgtest/PgtestFields.scala @@ -155,38 +155,38 @@ object PgtestFields { override def varchar = Field[String, PgtestRow](_path, "varchar", None, None, x => x.varchar, (row, value) => row.copy(varchar = value)) override def vector = Field[TypoVector, PgtestRow](_path, "vector", Some("float4[]"), Some("vector"), x => x.vector, (row, value) => row.copy(vector = value)) override def xml = Field[TypoXml, PgtestRow](_path, "xml", None, Some("xml"), x => x.xml, (row, value) => row.copy(xml = value)) - override def boxes = Field[Array[TypoBox], PgtestRow](_path, "boxes", None, Some("_box"), x => x.boxes, (row, value) => row.copy(boxes = value)) - override def bpchares = Field[Array[/* bpchar */ String], PgtestRow](_path, "bpchares", None, Some("_bpchar"), x => x.bpchares, (row, value) => row.copy(bpchares = value)) - override def chares = Field[Array[/* bpchar */ String], PgtestRow](_path, "chares", None, Some("_bpchar"), x => x.chares, (row, value) => row.copy(chares = value)) - override def circlees = Field[Array[TypoCircle], PgtestRow](_path, "circlees", None, Some("_circle"), x => x.circlees, (row, value) => row.copy(circlees = value)) - override def datees = Field[Array[TypoLocalDate], PgtestRow](_path, "datees", Some("text[]"), Some("_date"), x => x.datees, (row, value) => row.copy(datees = value)) - override def float4es = Field[Array[Float], PgtestRow](_path, "float4es", None, Some("_float4"), x => x.float4es, (row, value) => row.copy(float4es = value)) - override def float8es = Field[Array[Double], PgtestRow](_path, "float8es", None, Some("_float8"), x => x.float8es, (row, value) => row.copy(float8es = value)) - override def inetes = Field[Array[TypoInet], PgtestRow](_path, "inetes", None, Some("_inet"), x => x.inetes, (row, value) => row.copy(inetes = value)) - override def int2es = Field[Array[TypoShort], PgtestRow](_path, "int2es", None, Some("_int2"), x => x.int2es, (row, value) => row.copy(int2es = value)) - override def int2vectores = Field[Array[TypoInt2Vector], PgtestRow](_path, "int2vectores", None, Some("_int2vector"), x => x.int2vectores, (row, value) => row.copy(int2vectores = value)) - override def int4es = Field[Array[Int], PgtestRow](_path, "int4es", None, Some("_int4"), x => x.int4es, (row, value) => row.copy(int4es = value)) - override def int8es = Field[Array[Long], PgtestRow](_path, "int8es", None, Some("_int8"), x => x.int8es, (row, value) => row.copy(int8es = value)) - override def intervales = Field[Array[TypoInterval], PgtestRow](_path, "intervales", None, Some("_interval"), x => x.intervales, (row, value) => row.copy(intervales = value)) - override def jsones = Field[Array[TypoJson], PgtestRow](_path, "jsones", None, Some("_json"), x => x.jsones, (row, value) => row.copy(jsones = value)) - override def jsonbes = Field[Array[TypoJsonb], PgtestRow](_path, "jsonbes", None, Some("_jsonb"), x => x.jsonbes, (row, value) => row.copy(jsonbes = value)) - override def linees = Field[Array[TypoLine], PgtestRow](_path, "linees", None, Some("_line"), x => x.linees, (row, value) => row.copy(linees = value)) - override def lseges = Field[Array[TypoLineSegment], PgtestRow](_path, "lseges", None, Some("_lseg"), x => x.lseges, (row, value) => row.copy(lseges = value)) - override def moneyes = Field[Array[TypoMoney], PgtestRow](_path, "moneyes", Some("numeric[]"), Some("_money"), x => x.moneyes, (row, value) => row.copy(moneyes = value)) - override def myenumes = Field[Array[Myenum], PgtestRow](_path, "myenumes", None, Some("_myenum"), x => x.myenumes, (row, value) => row.copy(myenumes = value)) - override def namees = Field[Array[String], PgtestRow](_path, "namees", None, Some("_name"), x => x.namees, (row, value) => row.copy(namees = value)) - override def numerices = Field[Array[BigDecimal], PgtestRow](_path, "numerices", None, Some("_numeric"), x => x.numerices, (row, value) => row.copy(numerices = value)) - override def pathes = Field[Array[TypoPath], PgtestRow](_path, "pathes", None, Some("_path"), x => x.pathes, (row, value) => row.copy(pathes = value)) - override def pointes = Field[Array[TypoPoint], PgtestRow](_path, "pointes", None, Some("_point"), x => x.pointes, (row, value) => row.copy(pointes = value)) - override def polygones = Field[Array[TypoPolygon], PgtestRow](_path, "polygones", None, Some("_polygon"), x => x.polygones, (row, value) => row.copy(polygones = value)) - override def textes = Field[Array[String], PgtestRow](_path, "textes", None, Some("_text"), x => x.textes, (row, value) => row.copy(textes = value)) - override def timees = Field[Array[TypoLocalTime], PgtestRow](_path, "timees", Some("text[]"), Some("_time"), x => x.timees, (row, value) => row.copy(timees = value)) - override def timestampes = Field[Array[TypoLocalDateTime], PgtestRow](_path, "timestampes", Some("text[]"), Some("_timestamp"), x => x.timestampes, (row, value) => row.copy(timestampes = value)) - override def timestampzes = Field[Array[TypoInstant], PgtestRow](_path, "timestampzes", Some("text[]"), Some("_timestamptz"), x => x.timestampzes, (row, value) => row.copy(timestampzes = value)) - override def timezes = Field[Array[TypoOffsetTime], PgtestRow](_path, "timezes", Some("text[]"), Some("_timetz"), x => x.timezes, (row, value) => row.copy(timezes = value)) - override def uuides = Field[Array[TypoUUID], PgtestRow](_path, "uuides", None, Some("_uuid"), x => x.uuides, (row, value) => row.copy(uuides = value)) - override def varchares = Field[Array[String], PgtestRow](_path, "varchares", None, Some("_varchar"), x => x.varchares, (row, value) => row.copy(varchares = value)) - override def xmles = Field[Array[TypoXml], PgtestRow](_path, "xmles", None, Some("_xml"), x => x.xmles, (row, value) => row.copy(xmles = value)) + override def boxes = Field[Array[TypoBox], PgtestRow](_path, "boxes", None, Some("box[]"), x => x.boxes, (row, value) => row.copy(boxes = value)) + override def bpchares = Field[Array[/* bpchar */ String], PgtestRow](_path, "bpchares", None, Some("bpchar[]"), x => x.bpchares, (row, value) => row.copy(bpchares = value)) + override def chares = Field[Array[/* bpchar */ String], PgtestRow](_path, "chares", None, Some("bpchar[]"), x => x.chares, (row, value) => row.copy(chares = value)) + override def circlees = Field[Array[TypoCircle], PgtestRow](_path, "circlees", None, Some("circle[]"), x => x.circlees, (row, value) => row.copy(circlees = value)) + override def datees = Field[Array[TypoLocalDate], PgtestRow](_path, "datees", Some("text[]"), Some("date[]"), x => x.datees, (row, value) => row.copy(datees = value)) + override def float4es = Field[Array[Float], PgtestRow](_path, "float4es", None, Some("float4[]"), x => x.float4es, (row, value) => row.copy(float4es = value)) + override def float8es = Field[Array[Double], PgtestRow](_path, "float8es", None, Some("float8[]"), x => x.float8es, (row, value) => row.copy(float8es = value)) + override def inetes = Field[Array[TypoInet], PgtestRow](_path, "inetes", None, Some("inet[]"), x => x.inetes, (row, value) => row.copy(inetes = value)) + override def int2es = Field[Array[TypoShort], PgtestRow](_path, "int2es", None, Some("int2[]"), x => x.int2es, (row, value) => row.copy(int2es = value)) + override def int2vectores = Field[Array[TypoInt2Vector], PgtestRow](_path, "int2vectores", None, Some("int2vector[]"), x => x.int2vectores, (row, value) => row.copy(int2vectores = value)) + override def int4es = Field[Array[Int], PgtestRow](_path, "int4es", None, Some("int4[]"), x => x.int4es, (row, value) => row.copy(int4es = value)) + override def int8es = Field[Array[Long], PgtestRow](_path, "int8es", None, Some("int8[]"), x => x.int8es, (row, value) => row.copy(int8es = value)) + override def intervales = Field[Array[TypoInterval], PgtestRow](_path, "intervales", None, Some("interval[]"), x => x.intervales, (row, value) => row.copy(intervales = value)) + override def jsones = Field[Array[TypoJson], PgtestRow](_path, "jsones", None, Some("json[]"), x => x.jsones, (row, value) => row.copy(jsones = value)) + override def jsonbes = Field[Array[TypoJsonb], PgtestRow](_path, "jsonbes", None, Some("jsonb[]"), x => x.jsonbes, (row, value) => row.copy(jsonbes = value)) + override def linees = Field[Array[TypoLine], PgtestRow](_path, "linees", None, Some("line[]"), x => x.linees, (row, value) => row.copy(linees = value)) + override def lseges = Field[Array[TypoLineSegment], PgtestRow](_path, "lseges", None, Some("lseg[]"), x => x.lseges, (row, value) => row.copy(lseges = value)) + override def moneyes = Field[Array[TypoMoney], PgtestRow](_path, "moneyes", Some("numeric[]"), Some("money[]"), x => x.moneyes, (row, value) => row.copy(moneyes = value)) + override def myenumes = Field[Array[Myenum], PgtestRow](_path, "myenumes", None, Some("myenum[]"), x => x.myenumes, (row, value) => row.copy(myenumes = value)) + override def namees = Field[Array[String], PgtestRow](_path, "namees", None, Some("name[]"), x => x.namees, (row, value) => row.copy(namees = value)) + override def numerices = Field[Array[BigDecimal], PgtestRow](_path, "numerices", None, Some("numeric[]"), x => x.numerices, (row, value) => row.copy(numerices = value)) + override def pathes = Field[Array[TypoPath], PgtestRow](_path, "pathes", None, Some("path[]"), x => x.pathes, (row, value) => row.copy(pathes = value)) + override def pointes = Field[Array[TypoPoint], PgtestRow](_path, "pointes", None, Some("point[]"), x => x.pointes, (row, value) => row.copy(pointes = value)) + override def polygones = Field[Array[TypoPolygon], PgtestRow](_path, "polygones", None, Some("polygon[]"), x => x.polygones, (row, value) => row.copy(polygones = value)) + override def textes = Field[Array[String], PgtestRow](_path, "textes", None, Some("text[]"), x => x.textes, (row, value) => row.copy(textes = value)) + override def timees = Field[Array[TypoLocalTime], PgtestRow](_path, "timees", Some("text[]"), Some("time[]"), x => x.timees, (row, value) => row.copy(timees = value)) + override def timestampes = Field[Array[TypoLocalDateTime], PgtestRow](_path, "timestampes", Some("text[]"), Some("timestamp[]"), x => x.timestampes, (row, value) => row.copy(timestampes = value)) + override def timestampzes = Field[Array[TypoInstant], PgtestRow](_path, "timestampzes", Some("text[]"), Some("timestamptz[]"), x => x.timestampzes, (row, value) => row.copy(timestampzes = value)) + override def timezes = Field[Array[TypoOffsetTime], PgtestRow](_path, "timezes", Some("text[]"), Some("timetz[]"), x => x.timezes, (row, value) => row.copy(timezes = value)) + override def uuides = Field[Array[TypoUUID], PgtestRow](_path, "uuides", None, Some("uuid[]"), x => x.uuides, (row, value) => row.copy(uuides = value)) + override def varchares = Field[Array[String], PgtestRow](_path, "varchares", None, Some("varchar[]"), x => x.varchares, (row, value) => row.copy(varchares = value)) + override def xmles = Field[Array[TypoXml], PgtestRow](_path, "xmles", None, Some("xml[]"), x => x.xmles, (row, value) => row.copy(xmles = value)) } override lazy val columns: List[FieldLikeNoHkt[?, PgtestRow]] = diff --git a/typo-tester-anorm/generated-and-checked-in/adventureworks/public/pgtest/PgtestRepoImpl.scala b/typo-tester-anorm/generated-and-checked-in/adventureworks/public/pgtest/PgtestRepoImpl.scala index 9fed820e0d..41af9aab3c 100644 --- a/typo-tester-anorm/generated-and-checked-in/adventureworks/public/pgtest/PgtestRepoImpl.scala +++ b/typo-tester-anorm/generated-and-checked-in/adventureworks/public/pgtest/PgtestRepoImpl.scala @@ -50,7 +50,7 @@ class PgtestRepoImpl extends PgtestRepo { } override def insert(unsaved: PgtestRow)(implicit c: Connection): PgtestRow = { SQL"""insert into public.pgtest("bool", "box", "bpchar", "bytea", "char", "circle", "date", "float4", "float8", "hstore", "inet", "int2", "int2vector", "int4", "int8", "interval", "json", "jsonb", "line", "lseg", "money", "mydomain", "myenum", "name", "numeric", "path", "point", "polygon", "text", "time", "timestamp", "timestampz", "timez", "uuid", "varchar", "vector", "xml", "boxes", "bpchares", "chares", "circlees", "datees", "float4es", "float8es", "inetes", "int2es", "int2vectores", "int4es", "int8es", "intervales", "jsones", "jsonbes", "linees", "lseges", "moneyes", "myenumes", "namees", "numerices", "pathes", "pointes", "polygones", "textes", "timees", "timestampes", "timestampzes", "timezes", "uuides", "varchares", "xmles") - values (${ParameterValue(unsaved.bool, null, ToStatement.booleanToStatement)}, ${ParameterValue(unsaved.box, null, TypoBox.toStatement)}::box, ${ParameterValue(unsaved.bpchar, null, ToStatement.stringToStatement)}::bpchar, ${ParameterValue(unsaved.bytea, null, TypoBytea.toStatement)}::bytea, ${ParameterValue(unsaved.char, null, ToStatement.stringToStatement)}::bpchar, ${ParameterValue(unsaved.circle, null, TypoCircle.toStatement)}::circle, ${ParameterValue(unsaved.date, null, TypoLocalDate.toStatement)}::date, ${ParameterValue(unsaved.float4, null, ToStatement.floatToStatement)}::float4, ${ParameterValue(unsaved.float8, null, ToStatement.doubleToStatement)}::float8, ${ParameterValue(unsaved.hstore, null, TypoHStore.toStatement)}::hstore, ${ParameterValue(unsaved.inet, null, TypoInet.toStatement)}::inet, ${ParameterValue(unsaved.int2, null, TypoShort.toStatement)}::int2, ${ParameterValue(unsaved.int2vector, null, TypoInt2Vector.toStatement)}::int2vector, ${ParameterValue(unsaved.int4, null, ToStatement.intToStatement)}::int4, ${ParameterValue(unsaved.int8, null, ToStatement.longToStatement)}::int8, ${ParameterValue(unsaved.interval, null, TypoInterval.toStatement)}::interval, ${ParameterValue(unsaved.json, null, TypoJson.toStatement)}::json, ${ParameterValue(unsaved.jsonb, null, TypoJsonb.toStatement)}::jsonb, ${ParameterValue(unsaved.line, null, TypoLine.toStatement)}::line, ${ParameterValue(unsaved.lseg, null, TypoLineSegment.toStatement)}::lseg, ${ParameterValue(unsaved.money, null, TypoMoney.toStatement)}::money, ${ParameterValue(unsaved.mydomain, null, Mydomain.toStatement)}::text, ${ParameterValue(unsaved.myenum, null, Myenum.toStatement)}::public.myenum, ${ParameterValue(unsaved.name, null, ToStatement.stringToStatement)}::name, ${ParameterValue(unsaved.numeric, null, ToStatement.scalaBigDecimalToStatement)}::numeric, ${ParameterValue(unsaved.path, null, TypoPath.toStatement)}::path, ${ParameterValue(unsaved.point, null, TypoPoint.toStatement)}::point, ${ParameterValue(unsaved.polygon, null, TypoPolygon.toStatement)}::polygon, ${ParameterValue(unsaved.text, null, ToStatement.stringToStatement)}, ${ParameterValue(unsaved.time, null, TypoLocalTime.toStatement)}::time, ${ParameterValue(unsaved.timestamp, null, TypoLocalDateTime.toStatement)}::timestamp, ${ParameterValue(unsaved.timestampz, null, TypoInstant.toStatement)}::timestamptz, ${ParameterValue(unsaved.timez, null, TypoOffsetTime.toStatement)}::timetz, ${ParameterValue(unsaved.uuid, null, TypoUUID.toStatement)}::uuid, ${ParameterValue(unsaved.varchar, null, ToStatement.stringToStatement)}, ${ParameterValue(unsaved.vector, null, TypoVector.toStatement)}::vector, ${ParameterValue(unsaved.xml, null, TypoXml.toStatement)}::xml, ${ParameterValue(unsaved.boxes, null, TypoBox.arrayToStatement)}::_box, ${ParameterValue(unsaved.bpchares, null, ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData))}::_bpchar, ${ParameterValue(unsaved.chares, null, ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData))}::_bpchar, ${ParameterValue(unsaved.circlees, null, TypoCircle.arrayToStatement)}::_circle, ${ParameterValue(unsaved.datees, null, TypoLocalDate.arrayToStatement)}::_date, ${ParameterValue(unsaved.float4es, null, adventureworks.FloatArrayToStatement)}::_float4, ${ParameterValue(unsaved.float8es, null, adventureworks.DoubleArrayToStatement)}::_float8, ${ParameterValue(unsaved.inetes, null, TypoInet.arrayToStatement)}::_inet, ${ParameterValue(unsaved.int2es, null, TypoShort.arrayToStatement)}::_int2, ${ParameterValue(unsaved.int2vectores, null, TypoInt2Vector.arrayToStatement)}::_int2vector, ${ParameterValue(unsaved.int4es, null, adventureworks.IntArrayToStatement)}::_int4, ${ParameterValue(unsaved.int8es, null, adventureworks.LongArrayToStatement)}::_int8, ${ParameterValue(unsaved.intervales, null, TypoInterval.arrayToStatement)}::_interval, ${ParameterValue(unsaved.jsones, null, TypoJson.arrayToStatement)}::_json, ${ParameterValue(unsaved.jsonbes, null, TypoJsonb.arrayToStatement)}::_jsonb, ${ParameterValue(unsaved.linees, null, TypoLine.arrayToStatement)}::_line, ${ParameterValue(unsaved.lseges, null, TypoLineSegment.arrayToStatement)}::_lseg, ${ParameterValue(unsaved.moneyes, null, TypoMoney.arrayToStatement)}::_money, ${ParameterValue(unsaved.myenumes, null, Myenum.arrayToStatement)}::_myenum, ${ParameterValue(unsaved.namees, null, ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData))}::_name, ${ParameterValue(unsaved.numerices, null, adventureworks.BigDecimalArrayToStatement)}::_numeric, ${ParameterValue(unsaved.pathes, null, TypoPath.arrayToStatement)}::_path, ${ParameterValue(unsaved.pointes, null, TypoPoint.arrayToStatement)}::_point, ${ParameterValue(unsaved.polygones, null, TypoPolygon.arrayToStatement)}::_polygon, ${ParameterValue(unsaved.textes, null, ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData))}::_text, ${ParameterValue(unsaved.timees, null, TypoLocalTime.arrayToStatement)}::_time, ${ParameterValue(unsaved.timestampes, null, TypoLocalDateTime.arrayToStatement)}::_timestamp, ${ParameterValue(unsaved.timestampzes, null, TypoInstant.arrayToStatement)}::_timestamptz, ${ParameterValue(unsaved.timezes, null, TypoOffsetTime.arrayToStatement)}::_timetz, ${ParameterValue(unsaved.uuides, null, TypoUUID.arrayToStatement)}::_uuid, ${ParameterValue(unsaved.varchares, null, ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData))}::_varchar, ${ParameterValue(unsaved.xmles, null, TypoXml.arrayToStatement)}::_xml) + values (${ParameterValue(unsaved.bool, null, ToStatement.booleanToStatement)}, ${ParameterValue(unsaved.box, null, TypoBox.toStatement)}::box, ${ParameterValue(unsaved.bpchar, null, ToStatement.stringToStatement)}::bpchar, ${ParameterValue(unsaved.bytea, null, TypoBytea.toStatement)}::bytea, ${ParameterValue(unsaved.char, null, ToStatement.stringToStatement)}::bpchar, ${ParameterValue(unsaved.circle, null, TypoCircle.toStatement)}::circle, ${ParameterValue(unsaved.date, null, TypoLocalDate.toStatement)}::date, ${ParameterValue(unsaved.float4, null, ToStatement.floatToStatement)}::float4, ${ParameterValue(unsaved.float8, null, ToStatement.doubleToStatement)}::float8, ${ParameterValue(unsaved.hstore, null, TypoHStore.toStatement)}::hstore, ${ParameterValue(unsaved.inet, null, TypoInet.toStatement)}::inet, ${ParameterValue(unsaved.int2, null, TypoShort.toStatement)}::int2, ${ParameterValue(unsaved.int2vector, null, TypoInt2Vector.toStatement)}::int2vector, ${ParameterValue(unsaved.int4, null, ToStatement.intToStatement)}::int4, ${ParameterValue(unsaved.int8, null, ToStatement.longToStatement)}::int8, ${ParameterValue(unsaved.interval, null, TypoInterval.toStatement)}::interval, ${ParameterValue(unsaved.json, null, TypoJson.toStatement)}::json, ${ParameterValue(unsaved.jsonb, null, TypoJsonb.toStatement)}::jsonb, ${ParameterValue(unsaved.line, null, TypoLine.toStatement)}::line, ${ParameterValue(unsaved.lseg, null, TypoLineSegment.toStatement)}::lseg, ${ParameterValue(unsaved.money, null, TypoMoney.toStatement)}::money, ${ParameterValue(unsaved.mydomain, null, Mydomain.toStatement)}::text, ${ParameterValue(unsaved.myenum, null, Myenum.toStatement)}::public.myenum, ${ParameterValue(unsaved.name, null, ToStatement.stringToStatement)}::name, ${ParameterValue(unsaved.numeric, null, ToStatement.scalaBigDecimalToStatement)}::numeric, ${ParameterValue(unsaved.path, null, TypoPath.toStatement)}::path, ${ParameterValue(unsaved.point, null, TypoPoint.toStatement)}::point, ${ParameterValue(unsaved.polygon, null, TypoPolygon.toStatement)}::polygon, ${ParameterValue(unsaved.text, null, ToStatement.stringToStatement)}, ${ParameterValue(unsaved.time, null, TypoLocalTime.toStatement)}::time, ${ParameterValue(unsaved.timestamp, null, TypoLocalDateTime.toStatement)}::timestamp, ${ParameterValue(unsaved.timestampz, null, TypoInstant.toStatement)}::timestamptz, ${ParameterValue(unsaved.timez, null, TypoOffsetTime.toStatement)}::timetz, ${ParameterValue(unsaved.uuid, null, TypoUUID.toStatement)}::uuid, ${ParameterValue(unsaved.varchar, null, ToStatement.stringToStatement)}, ${ParameterValue(unsaved.vector, null, TypoVector.toStatement)}::vector, ${ParameterValue(unsaved.xml, null, TypoXml.toStatement)}::xml, ${ParameterValue(unsaved.boxes, null, TypoBox.arrayToStatement)}::box[], ${ParameterValue(unsaved.bpchares, null, ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData))}::bpchar[], ${ParameterValue(unsaved.chares, null, ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData))}::bpchar[], ${ParameterValue(unsaved.circlees, null, TypoCircle.arrayToStatement)}::circle[], ${ParameterValue(unsaved.datees, null, TypoLocalDate.arrayToStatement)}::date[], ${ParameterValue(unsaved.float4es, null, adventureworks.FloatArrayToStatement)}::float4[], ${ParameterValue(unsaved.float8es, null, adventureworks.DoubleArrayToStatement)}::float8[], ${ParameterValue(unsaved.inetes, null, TypoInet.arrayToStatement)}::inet[], ${ParameterValue(unsaved.int2es, null, TypoShort.arrayToStatement)}::int2[], ${ParameterValue(unsaved.int2vectores, null, TypoInt2Vector.arrayToStatement)}::int2vector[], ${ParameterValue(unsaved.int4es, null, adventureworks.IntArrayToStatement)}::int4[], ${ParameterValue(unsaved.int8es, null, adventureworks.LongArrayToStatement)}::int8[], ${ParameterValue(unsaved.intervales, null, TypoInterval.arrayToStatement)}::interval[], ${ParameterValue(unsaved.jsones, null, TypoJson.arrayToStatement)}::json[], ${ParameterValue(unsaved.jsonbes, null, TypoJsonb.arrayToStatement)}::jsonb[], ${ParameterValue(unsaved.linees, null, TypoLine.arrayToStatement)}::line[], ${ParameterValue(unsaved.lseges, null, TypoLineSegment.arrayToStatement)}::lseg[], ${ParameterValue(unsaved.moneyes, null, TypoMoney.arrayToStatement)}::money[], ${ParameterValue(unsaved.myenumes, null, Myenum.arrayToStatement)}::myenum[], ${ParameterValue(unsaved.namees, null, ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData))}::name[], ${ParameterValue(unsaved.numerices, null, adventureworks.BigDecimalArrayToStatement)}::numeric[], ${ParameterValue(unsaved.pathes, null, TypoPath.arrayToStatement)}::path[], ${ParameterValue(unsaved.pointes, null, TypoPoint.arrayToStatement)}::point[], ${ParameterValue(unsaved.polygones, null, TypoPolygon.arrayToStatement)}::polygon[], ${ParameterValue(unsaved.textes, null, ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData))}::text[], ${ParameterValue(unsaved.timees, null, TypoLocalTime.arrayToStatement)}::time[], ${ParameterValue(unsaved.timestampes, null, TypoLocalDateTime.arrayToStatement)}::timestamp[], ${ParameterValue(unsaved.timestampzes, null, TypoInstant.arrayToStatement)}::timestamptz[], ${ParameterValue(unsaved.timezes, null, TypoOffsetTime.arrayToStatement)}::timetz[], ${ParameterValue(unsaved.uuides, null, TypoUUID.arrayToStatement)}::uuid[], ${ParameterValue(unsaved.varchares, null, ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData))}::varchar[], ${ParameterValue(unsaved.xmles, null, TypoXml.arrayToStatement)}::xml[]) returning "bool", "box", "bpchar", "bytea", "char", "circle", "date"::text, "float4", "float8", "hstore", "inet", "int2", "int2vector", "int4", "int8", "interval", "json", "jsonb", "line", "lseg", "money"::numeric, "mydomain", "myenum", "name", "numeric", "path", "point", "polygon", "text", "time"::text, "timestamp"::text, "timestampz"::text, "timez"::text, "uuid", "varchar", "vector"::float4[], "xml", "boxes", "bpchares", "chares", "circlees", "datees"::text[], "float4es", "float8es", "inetes", "int2es", "int2vectores", "int4es", "int8es", "intervales", "jsones", "jsonbes", "linees", "lseges", "moneyes"::numeric[], "myenumes", "namees", "numerices", "pathes", "pointes", "polygones", "textes", "timees"::text[], "timestampes"::text[], "timestampzes"::text[], "timezes"::text[], "uuides", "varchares", "xmles" """ .executeInsert(PgtestRow.rowParser(1).single) diff --git a/typo-tester-anorm/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullFields.scala b/typo-tester-anorm/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullFields.scala index 43258f8e24..cc5cbf7653 100644 --- a/typo-tester-anorm/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullFields.scala +++ b/typo-tester-anorm/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullFields.scala @@ -155,38 +155,38 @@ object PgtestnullFields { override def varchar = OptField[String, PgtestnullRow](_path, "varchar", None, None, x => x.varchar, (row, value) => row.copy(varchar = value)) override def vector = OptField[TypoVector, PgtestnullRow](_path, "vector", Some("float4[]"), Some("vector"), x => x.vector, (row, value) => row.copy(vector = value)) override def xml = OptField[TypoXml, PgtestnullRow](_path, "xml", None, Some("xml"), x => x.xml, (row, value) => row.copy(xml = value)) - override def boxes = OptField[Array[TypoBox], PgtestnullRow](_path, "boxes", None, Some("_box"), x => x.boxes, (row, value) => row.copy(boxes = value)) - override def bpchares = OptField[Array[/* bpchar */ String], PgtestnullRow](_path, "bpchares", None, Some("_bpchar"), x => x.bpchares, (row, value) => row.copy(bpchares = value)) - override def chares = OptField[Array[/* bpchar */ String], PgtestnullRow](_path, "chares", None, Some("_bpchar"), x => x.chares, (row, value) => row.copy(chares = value)) - override def circlees = OptField[Array[TypoCircle], PgtestnullRow](_path, "circlees", None, Some("_circle"), x => x.circlees, (row, value) => row.copy(circlees = value)) - override def datees = OptField[Array[TypoLocalDate], PgtestnullRow](_path, "datees", Some("text[]"), Some("_date"), x => x.datees, (row, value) => row.copy(datees = value)) - override def float4es = OptField[Array[Float], PgtestnullRow](_path, "float4es", None, Some("_float4"), x => x.float4es, (row, value) => row.copy(float4es = value)) - override def float8es = OptField[Array[Double], PgtestnullRow](_path, "float8es", None, Some("_float8"), x => x.float8es, (row, value) => row.copy(float8es = value)) - override def inetes = OptField[Array[TypoInet], PgtestnullRow](_path, "inetes", None, Some("_inet"), x => x.inetes, (row, value) => row.copy(inetes = value)) - override def int2es = OptField[Array[TypoShort], PgtestnullRow](_path, "int2es", None, Some("_int2"), x => x.int2es, (row, value) => row.copy(int2es = value)) - override def int2vectores = OptField[Array[TypoInt2Vector], PgtestnullRow](_path, "int2vectores", None, Some("_int2vector"), x => x.int2vectores, (row, value) => row.copy(int2vectores = value)) - override def int4es = OptField[Array[Int], PgtestnullRow](_path, "int4es", None, Some("_int4"), x => x.int4es, (row, value) => row.copy(int4es = value)) - override def int8es = OptField[Array[Long], PgtestnullRow](_path, "int8es", None, Some("_int8"), x => x.int8es, (row, value) => row.copy(int8es = value)) - override def intervales = OptField[Array[TypoInterval], PgtestnullRow](_path, "intervales", None, Some("_interval"), x => x.intervales, (row, value) => row.copy(intervales = value)) - override def jsones = OptField[Array[TypoJson], PgtestnullRow](_path, "jsones", None, Some("_json"), x => x.jsones, (row, value) => row.copy(jsones = value)) - override def jsonbes = OptField[Array[TypoJsonb], PgtestnullRow](_path, "jsonbes", None, Some("_jsonb"), x => x.jsonbes, (row, value) => row.copy(jsonbes = value)) - override def linees = OptField[Array[TypoLine], PgtestnullRow](_path, "linees", None, Some("_line"), x => x.linees, (row, value) => row.copy(linees = value)) - override def lseges = OptField[Array[TypoLineSegment], PgtestnullRow](_path, "lseges", None, Some("_lseg"), x => x.lseges, (row, value) => row.copy(lseges = value)) - override def moneyes = OptField[Array[TypoMoney], PgtestnullRow](_path, "moneyes", Some("numeric[]"), Some("_money"), x => x.moneyes, (row, value) => row.copy(moneyes = value)) - override def myenumes = OptField[Array[Myenum], PgtestnullRow](_path, "myenumes", None, Some("_myenum"), x => x.myenumes, (row, value) => row.copy(myenumes = value)) - override def namees = OptField[Array[String], PgtestnullRow](_path, "namees", None, Some("_name"), x => x.namees, (row, value) => row.copy(namees = value)) - override def numerices = OptField[Array[BigDecimal], PgtestnullRow](_path, "numerices", None, Some("_numeric"), x => x.numerices, (row, value) => row.copy(numerices = value)) - override def pathes = OptField[Array[TypoPath], PgtestnullRow](_path, "pathes", None, Some("_path"), x => x.pathes, (row, value) => row.copy(pathes = value)) - override def pointes = OptField[Array[TypoPoint], PgtestnullRow](_path, "pointes", None, Some("_point"), x => x.pointes, (row, value) => row.copy(pointes = value)) - override def polygones = OptField[Array[TypoPolygon], PgtestnullRow](_path, "polygones", None, Some("_polygon"), x => x.polygones, (row, value) => row.copy(polygones = value)) - override def textes = OptField[Array[String], PgtestnullRow](_path, "textes", None, Some("_text"), x => x.textes, (row, value) => row.copy(textes = value)) - override def timees = OptField[Array[TypoLocalTime], PgtestnullRow](_path, "timees", Some("text[]"), Some("_time"), x => x.timees, (row, value) => row.copy(timees = value)) - override def timestampes = OptField[Array[TypoLocalDateTime], PgtestnullRow](_path, "timestampes", Some("text[]"), Some("_timestamp"), x => x.timestampes, (row, value) => row.copy(timestampes = value)) - override def timestampzes = OptField[Array[TypoInstant], PgtestnullRow](_path, "timestampzes", Some("text[]"), Some("_timestamptz"), x => x.timestampzes, (row, value) => row.copy(timestampzes = value)) - override def timezes = OptField[Array[TypoOffsetTime], PgtestnullRow](_path, "timezes", Some("text[]"), Some("_timetz"), x => x.timezes, (row, value) => row.copy(timezes = value)) - override def uuides = OptField[Array[TypoUUID], PgtestnullRow](_path, "uuides", None, Some("_uuid"), x => x.uuides, (row, value) => row.copy(uuides = value)) - override def varchares = OptField[Array[String], PgtestnullRow](_path, "varchares", None, Some("_varchar"), x => x.varchares, (row, value) => row.copy(varchares = value)) - override def xmles = OptField[Array[TypoXml], PgtestnullRow](_path, "xmles", None, Some("_xml"), x => x.xmles, (row, value) => row.copy(xmles = value)) + override def boxes = OptField[Array[TypoBox], PgtestnullRow](_path, "boxes", None, Some("box[]"), x => x.boxes, (row, value) => row.copy(boxes = value)) + override def bpchares = OptField[Array[/* bpchar */ String], PgtestnullRow](_path, "bpchares", None, Some("bpchar[]"), x => x.bpchares, (row, value) => row.copy(bpchares = value)) + override def chares = OptField[Array[/* bpchar */ String], PgtestnullRow](_path, "chares", None, Some("bpchar[]"), x => x.chares, (row, value) => row.copy(chares = value)) + override def circlees = OptField[Array[TypoCircle], PgtestnullRow](_path, "circlees", None, Some("circle[]"), x => x.circlees, (row, value) => row.copy(circlees = value)) + override def datees = OptField[Array[TypoLocalDate], PgtestnullRow](_path, "datees", Some("text[]"), Some("date[]"), x => x.datees, (row, value) => row.copy(datees = value)) + override def float4es = OptField[Array[Float], PgtestnullRow](_path, "float4es", None, Some("float4[]"), x => x.float4es, (row, value) => row.copy(float4es = value)) + override def float8es = OptField[Array[Double], PgtestnullRow](_path, "float8es", None, Some("float8[]"), x => x.float8es, (row, value) => row.copy(float8es = value)) + override def inetes = OptField[Array[TypoInet], PgtestnullRow](_path, "inetes", None, Some("inet[]"), x => x.inetes, (row, value) => row.copy(inetes = value)) + override def int2es = OptField[Array[TypoShort], PgtestnullRow](_path, "int2es", None, Some("int2[]"), x => x.int2es, (row, value) => row.copy(int2es = value)) + override def int2vectores = OptField[Array[TypoInt2Vector], PgtestnullRow](_path, "int2vectores", None, Some("int2vector[]"), x => x.int2vectores, (row, value) => row.copy(int2vectores = value)) + override def int4es = OptField[Array[Int], PgtestnullRow](_path, "int4es", None, Some("int4[]"), x => x.int4es, (row, value) => row.copy(int4es = value)) + override def int8es = OptField[Array[Long], PgtestnullRow](_path, "int8es", None, Some("int8[]"), x => x.int8es, (row, value) => row.copy(int8es = value)) + override def intervales = OptField[Array[TypoInterval], PgtestnullRow](_path, "intervales", None, Some("interval[]"), x => x.intervales, (row, value) => row.copy(intervales = value)) + override def jsones = OptField[Array[TypoJson], PgtestnullRow](_path, "jsones", None, Some("json[]"), x => x.jsones, (row, value) => row.copy(jsones = value)) + override def jsonbes = OptField[Array[TypoJsonb], PgtestnullRow](_path, "jsonbes", None, Some("jsonb[]"), x => x.jsonbes, (row, value) => row.copy(jsonbes = value)) + override def linees = OptField[Array[TypoLine], PgtestnullRow](_path, "linees", None, Some("line[]"), x => x.linees, (row, value) => row.copy(linees = value)) + override def lseges = OptField[Array[TypoLineSegment], PgtestnullRow](_path, "lseges", None, Some("lseg[]"), x => x.lseges, (row, value) => row.copy(lseges = value)) + override def moneyes = OptField[Array[TypoMoney], PgtestnullRow](_path, "moneyes", Some("numeric[]"), Some("money[]"), x => x.moneyes, (row, value) => row.copy(moneyes = value)) + override def myenumes = OptField[Array[Myenum], PgtestnullRow](_path, "myenumes", None, Some("myenum[]"), x => x.myenumes, (row, value) => row.copy(myenumes = value)) + override def namees = OptField[Array[String], PgtestnullRow](_path, "namees", None, Some("name[]"), x => x.namees, (row, value) => row.copy(namees = value)) + override def numerices = OptField[Array[BigDecimal], PgtestnullRow](_path, "numerices", None, Some("numeric[]"), x => x.numerices, (row, value) => row.copy(numerices = value)) + override def pathes = OptField[Array[TypoPath], PgtestnullRow](_path, "pathes", None, Some("path[]"), x => x.pathes, (row, value) => row.copy(pathes = value)) + override def pointes = OptField[Array[TypoPoint], PgtestnullRow](_path, "pointes", None, Some("point[]"), x => x.pointes, (row, value) => row.copy(pointes = value)) + override def polygones = OptField[Array[TypoPolygon], PgtestnullRow](_path, "polygones", None, Some("polygon[]"), x => x.polygones, (row, value) => row.copy(polygones = value)) + override def textes = OptField[Array[String], PgtestnullRow](_path, "textes", None, Some("text[]"), x => x.textes, (row, value) => row.copy(textes = value)) + override def timees = OptField[Array[TypoLocalTime], PgtestnullRow](_path, "timees", Some("text[]"), Some("time[]"), x => x.timees, (row, value) => row.copy(timees = value)) + override def timestampes = OptField[Array[TypoLocalDateTime], PgtestnullRow](_path, "timestampes", Some("text[]"), Some("timestamp[]"), x => x.timestampes, (row, value) => row.copy(timestampes = value)) + override def timestampzes = OptField[Array[TypoInstant], PgtestnullRow](_path, "timestampzes", Some("text[]"), Some("timestamptz[]"), x => x.timestampzes, (row, value) => row.copy(timestampzes = value)) + override def timezes = OptField[Array[TypoOffsetTime], PgtestnullRow](_path, "timezes", Some("text[]"), Some("timetz[]"), x => x.timezes, (row, value) => row.copy(timezes = value)) + override def uuides = OptField[Array[TypoUUID], PgtestnullRow](_path, "uuides", None, Some("uuid[]"), x => x.uuides, (row, value) => row.copy(uuides = value)) + override def varchares = OptField[Array[String], PgtestnullRow](_path, "varchares", None, Some("varchar[]"), x => x.varchares, (row, value) => row.copy(varchares = value)) + override def xmles = OptField[Array[TypoXml], PgtestnullRow](_path, "xmles", None, Some("xml[]"), x => x.xmles, (row, value) => row.copy(xmles = value)) } override lazy val columns: List[FieldLikeNoHkt[?, PgtestnullRow]] = diff --git a/typo-tester-anorm/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullRepoImpl.scala b/typo-tester-anorm/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullRepoImpl.scala index a1e371eb3b..a0c4d8ce53 100644 --- a/typo-tester-anorm/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullRepoImpl.scala +++ b/typo-tester-anorm/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullRepoImpl.scala @@ -50,7 +50,7 @@ class PgtestnullRepoImpl extends PgtestnullRepo { } override def insert(unsaved: PgtestnullRow)(implicit c: Connection): PgtestnullRow = { SQL"""insert into public.pgtestnull("bool", "box", "bpchar", "bytea", "char", "circle", "date", "float4", "float8", "hstore", "inet", "int2", "int2vector", "int4", "int8", "interval", "json", "jsonb", "line", "lseg", "money", "mydomain", "myenum", "name", "numeric", "path", "point", "polygon", "text", "time", "timestamp", "timestampz", "timez", "uuid", "varchar", "vector", "xml", "boxes", "bpchares", "chares", "circlees", "datees", "float4es", "float8es", "inetes", "int2es", "int2vectores", "int4es", "int8es", "intervales", "jsones", "jsonbes", "linees", "lseges", "moneyes", "myenumes", "namees", "numerices", "pathes", "pointes", "polygones", "textes", "timees", "timestampes", "timestampzes", "timezes", "uuides", "varchares", "xmles") - values (${ParameterValue(unsaved.bool, null, ToStatement.optionToStatement(ToStatement.booleanToStatement, ParameterMetaData.BooleanParameterMetaData))}, ${ParameterValue(unsaved.box, null, ToStatement.optionToStatement(TypoBox.toStatement, TypoBox.parameterMetadata))}::box, ${ParameterValue(unsaved.bpchar, null, ToStatement.optionToStatement(ToStatement.stringToStatement, ParameterMetaData.StringParameterMetaData))}::bpchar, ${ParameterValue(unsaved.bytea, null, ToStatement.optionToStatement(TypoBytea.toStatement, TypoBytea.parameterMetadata))}::bytea, ${ParameterValue(unsaved.char, null, ToStatement.optionToStatement(ToStatement.stringToStatement, ParameterMetaData.StringParameterMetaData))}::bpchar, ${ParameterValue(unsaved.circle, null, ToStatement.optionToStatement(TypoCircle.toStatement, TypoCircle.parameterMetadata))}::circle, ${ParameterValue(unsaved.date, null, ToStatement.optionToStatement(TypoLocalDate.toStatement, TypoLocalDate.parameterMetadata))}::date, ${ParameterValue(unsaved.float4, null, ToStatement.optionToStatement(ToStatement.floatToStatement, ParameterMetaData.FloatParameterMetaData))}::float4, ${ParameterValue(unsaved.float8, null, ToStatement.optionToStatement(ToStatement.doubleToStatement, ParameterMetaData.DoubleParameterMetaData))}::float8, ${ParameterValue(unsaved.hstore, null, ToStatement.optionToStatement(TypoHStore.toStatement, TypoHStore.parameterMetadata))}::hstore, ${ParameterValue(unsaved.inet, null, ToStatement.optionToStatement(TypoInet.toStatement, TypoInet.parameterMetadata))}::inet, ${ParameterValue(unsaved.int2, null, ToStatement.optionToStatement(TypoShort.toStatement, TypoShort.parameterMetadata))}::int2, ${ParameterValue(unsaved.int2vector, null, ToStatement.optionToStatement(TypoInt2Vector.toStatement, TypoInt2Vector.parameterMetadata))}::int2vector, ${ParameterValue(unsaved.int4, null, ToStatement.optionToStatement(ToStatement.intToStatement, ParameterMetaData.IntParameterMetaData))}::int4, ${ParameterValue(unsaved.int8, null, ToStatement.optionToStatement(ToStatement.longToStatement, ParameterMetaData.LongParameterMetaData))}::int8, ${ParameterValue(unsaved.interval, null, ToStatement.optionToStatement(TypoInterval.toStatement, TypoInterval.parameterMetadata))}::interval, ${ParameterValue(unsaved.json, null, ToStatement.optionToStatement(TypoJson.toStatement, TypoJson.parameterMetadata))}::json, ${ParameterValue(unsaved.jsonb, null, ToStatement.optionToStatement(TypoJsonb.toStatement, TypoJsonb.parameterMetadata))}::jsonb, ${ParameterValue(unsaved.line, null, ToStatement.optionToStatement(TypoLine.toStatement, TypoLine.parameterMetadata))}::line, ${ParameterValue(unsaved.lseg, null, ToStatement.optionToStatement(TypoLineSegment.toStatement, TypoLineSegment.parameterMetadata))}::lseg, ${ParameterValue(unsaved.money, null, ToStatement.optionToStatement(TypoMoney.toStatement, TypoMoney.parameterMetadata))}::money, ${ParameterValue(unsaved.mydomain, null, ToStatement.optionToStatement(Mydomain.toStatement, Mydomain.parameterMetadata))}::text, ${ParameterValue(unsaved.myenum, null, ToStatement.optionToStatement(Myenum.toStatement, Myenum.parameterMetadata))}::public.myenum, ${ParameterValue(unsaved.name, null, ToStatement.optionToStatement(ToStatement.stringToStatement, ParameterMetaData.StringParameterMetaData))}::name, ${ParameterValue(unsaved.numeric, null, ToStatement.optionToStatement(ToStatement.scalaBigDecimalToStatement, ParameterMetaData.BigDecimalParameterMetaData))}::numeric, ${ParameterValue(unsaved.path, null, ToStatement.optionToStatement(TypoPath.toStatement, TypoPath.parameterMetadata))}::path, ${ParameterValue(unsaved.point, null, ToStatement.optionToStatement(TypoPoint.toStatement, TypoPoint.parameterMetadata))}::point, ${ParameterValue(unsaved.polygon, null, ToStatement.optionToStatement(TypoPolygon.toStatement, TypoPolygon.parameterMetadata))}::polygon, ${ParameterValue(unsaved.text, null, ToStatement.optionToStatement(ToStatement.stringToStatement, ParameterMetaData.StringParameterMetaData))}, ${ParameterValue(unsaved.time, null, ToStatement.optionToStatement(TypoLocalTime.toStatement, TypoLocalTime.parameterMetadata))}::time, ${ParameterValue(unsaved.timestamp, null, ToStatement.optionToStatement(TypoLocalDateTime.toStatement, TypoLocalDateTime.parameterMetadata))}::timestamp, ${ParameterValue(unsaved.timestampz, null, ToStatement.optionToStatement(TypoInstant.toStatement, TypoInstant.parameterMetadata))}::timestamptz, ${ParameterValue(unsaved.timez, null, ToStatement.optionToStatement(TypoOffsetTime.toStatement, TypoOffsetTime.parameterMetadata))}::timetz, ${ParameterValue(unsaved.uuid, null, ToStatement.optionToStatement(TypoUUID.toStatement, TypoUUID.parameterMetadata))}::uuid, ${ParameterValue(unsaved.varchar, null, ToStatement.optionToStatement(ToStatement.stringToStatement, ParameterMetaData.StringParameterMetaData))}, ${ParameterValue(unsaved.vector, null, ToStatement.optionToStatement(TypoVector.toStatement, TypoVector.parameterMetadata))}::vector, ${ParameterValue(unsaved.xml, null, ToStatement.optionToStatement(TypoXml.toStatement, TypoXml.parameterMetadata))}::xml, ${ParameterValue(unsaved.boxes, null, ToStatement.optionToStatement(TypoBox.arrayToStatement, adventureworks.arrayParameterMetaData(TypoBox.parameterMetadata)))}::_box, ${ParameterValue(unsaved.bpchares, null, ToStatement.optionToStatement(ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData), adventureworks.arrayParameterMetaData(ParameterMetaData.StringParameterMetaData)))}::_bpchar, ${ParameterValue(unsaved.chares, null, ToStatement.optionToStatement(ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData), adventureworks.arrayParameterMetaData(ParameterMetaData.StringParameterMetaData)))}::_bpchar, ${ParameterValue(unsaved.circlees, null, ToStatement.optionToStatement(TypoCircle.arrayToStatement, adventureworks.arrayParameterMetaData(TypoCircle.parameterMetadata)))}::_circle, ${ParameterValue(unsaved.datees, null, ToStatement.optionToStatement(TypoLocalDate.arrayToStatement, adventureworks.arrayParameterMetaData(TypoLocalDate.parameterMetadata)))}::_date, ${ParameterValue(unsaved.float4es, null, ToStatement.optionToStatement(adventureworks.FloatArrayToStatement, adventureworks.arrayParameterMetaData(ParameterMetaData.FloatParameterMetaData)))}::_float4, ${ParameterValue(unsaved.float8es, null, ToStatement.optionToStatement(adventureworks.DoubleArrayToStatement, adventureworks.arrayParameterMetaData(ParameterMetaData.DoubleParameterMetaData)))}::_float8, ${ParameterValue(unsaved.inetes, null, ToStatement.optionToStatement(TypoInet.arrayToStatement, adventureworks.arrayParameterMetaData(TypoInet.parameterMetadata)))}::_inet, ${ParameterValue(unsaved.int2es, null, ToStatement.optionToStatement(TypoShort.arrayToStatement, adventureworks.arrayParameterMetaData(TypoShort.parameterMetadata)))}::_int2, ${ParameterValue(unsaved.int2vectores, null, ToStatement.optionToStatement(TypoInt2Vector.arrayToStatement, adventureworks.arrayParameterMetaData(TypoInt2Vector.parameterMetadata)))}::_int2vector, ${ParameterValue(unsaved.int4es, null, ToStatement.optionToStatement(adventureworks.IntArrayToStatement, adventureworks.arrayParameterMetaData(ParameterMetaData.IntParameterMetaData)))}::_int4, ${ParameterValue(unsaved.int8es, null, ToStatement.optionToStatement(adventureworks.LongArrayToStatement, adventureworks.arrayParameterMetaData(ParameterMetaData.LongParameterMetaData)))}::_int8, ${ParameterValue(unsaved.intervales, null, ToStatement.optionToStatement(TypoInterval.arrayToStatement, adventureworks.arrayParameterMetaData(TypoInterval.parameterMetadata)))}::_interval, ${ParameterValue(unsaved.jsones, null, ToStatement.optionToStatement(TypoJson.arrayToStatement, adventureworks.arrayParameterMetaData(TypoJson.parameterMetadata)))}::_json, ${ParameterValue(unsaved.jsonbes, null, ToStatement.optionToStatement(TypoJsonb.arrayToStatement, adventureworks.arrayParameterMetaData(TypoJsonb.parameterMetadata)))}::_jsonb, ${ParameterValue(unsaved.linees, null, ToStatement.optionToStatement(TypoLine.arrayToStatement, adventureworks.arrayParameterMetaData(TypoLine.parameterMetadata)))}::_line, ${ParameterValue(unsaved.lseges, null, ToStatement.optionToStatement(TypoLineSegment.arrayToStatement, adventureworks.arrayParameterMetaData(TypoLineSegment.parameterMetadata)))}::_lseg, ${ParameterValue(unsaved.moneyes, null, ToStatement.optionToStatement(TypoMoney.arrayToStatement, adventureworks.arrayParameterMetaData(TypoMoney.parameterMetadata)))}::_money, ${ParameterValue(unsaved.myenumes, null, ToStatement.optionToStatement(Myenum.arrayToStatement, adventureworks.arrayParameterMetaData(Myenum.parameterMetadata)))}::_myenum, ${ParameterValue(unsaved.namees, null, ToStatement.optionToStatement(ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData), adventureworks.arrayParameterMetaData(ParameterMetaData.StringParameterMetaData)))}::_name, ${ParameterValue(unsaved.numerices, null, ToStatement.optionToStatement(adventureworks.BigDecimalArrayToStatement, adventureworks.arrayParameterMetaData(ParameterMetaData.BigDecimalParameterMetaData)))}::_numeric, ${ParameterValue(unsaved.pathes, null, ToStatement.optionToStatement(TypoPath.arrayToStatement, adventureworks.arrayParameterMetaData(TypoPath.parameterMetadata)))}::_path, ${ParameterValue(unsaved.pointes, null, ToStatement.optionToStatement(TypoPoint.arrayToStatement, adventureworks.arrayParameterMetaData(TypoPoint.parameterMetadata)))}::_point, ${ParameterValue(unsaved.polygones, null, ToStatement.optionToStatement(TypoPolygon.arrayToStatement, adventureworks.arrayParameterMetaData(TypoPolygon.parameterMetadata)))}::_polygon, ${ParameterValue(unsaved.textes, null, ToStatement.optionToStatement(ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData), adventureworks.arrayParameterMetaData(ParameterMetaData.StringParameterMetaData)))}::_text, ${ParameterValue(unsaved.timees, null, ToStatement.optionToStatement(TypoLocalTime.arrayToStatement, adventureworks.arrayParameterMetaData(TypoLocalTime.parameterMetadata)))}::_time, ${ParameterValue(unsaved.timestampes, null, ToStatement.optionToStatement(TypoLocalDateTime.arrayToStatement, adventureworks.arrayParameterMetaData(TypoLocalDateTime.parameterMetadata)))}::_timestamp, ${ParameterValue(unsaved.timestampzes, null, ToStatement.optionToStatement(TypoInstant.arrayToStatement, adventureworks.arrayParameterMetaData(TypoInstant.parameterMetadata)))}::_timestamptz, ${ParameterValue(unsaved.timezes, null, ToStatement.optionToStatement(TypoOffsetTime.arrayToStatement, adventureworks.arrayParameterMetaData(TypoOffsetTime.parameterMetadata)))}::_timetz, ${ParameterValue(unsaved.uuides, null, ToStatement.optionToStatement(TypoUUID.arrayToStatement, adventureworks.arrayParameterMetaData(TypoUUID.parameterMetadata)))}::_uuid, ${ParameterValue(unsaved.varchares, null, ToStatement.optionToStatement(ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData), adventureworks.arrayParameterMetaData(ParameterMetaData.StringParameterMetaData)))}::_varchar, ${ParameterValue(unsaved.xmles, null, ToStatement.optionToStatement(TypoXml.arrayToStatement, adventureworks.arrayParameterMetaData(TypoXml.parameterMetadata)))}::_xml) + values (${ParameterValue(unsaved.bool, null, ToStatement.optionToStatement(ToStatement.booleanToStatement, ParameterMetaData.BooleanParameterMetaData))}, ${ParameterValue(unsaved.box, null, ToStatement.optionToStatement(TypoBox.toStatement, TypoBox.parameterMetadata))}::box, ${ParameterValue(unsaved.bpchar, null, ToStatement.optionToStatement(ToStatement.stringToStatement, ParameterMetaData.StringParameterMetaData))}::bpchar, ${ParameterValue(unsaved.bytea, null, ToStatement.optionToStatement(TypoBytea.toStatement, TypoBytea.parameterMetadata))}::bytea, ${ParameterValue(unsaved.char, null, ToStatement.optionToStatement(ToStatement.stringToStatement, ParameterMetaData.StringParameterMetaData))}::bpchar, ${ParameterValue(unsaved.circle, null, ToStatement.optionToStatement(TypoCircle.toStatement, TypoCircle.parameterMetadata))}::circle, ${ParameterValue(unsaved.date, null, ToStatement.optionToStatement(TypoLocalDate.toStatement, TypoLocalDate.parameterMetadata))}::date, ${ParameterValue(unsaved.float4, null, ToStatement.optionToStatement(ToStatement.floatToStatement, ParameterMetaData.FloatParameterMetaData))}::float4, ${ParameterValue(unsaved.float8, null, ToStatement.optionToStatement(ToStatement.doubleToStatement, ParameterMetaData.DoubleParameterMetaData))}::float8, ${ParameterValue(unsaved.hstore, null, ToStatement.optionToStatement(TypoHStore.toStatement, TypoHStore.parameterMetadata))}::hstore, ${ParameterValue(unsaved.inet, null, ToStatement.optionToStatement(TypoInet.toStatement, TypoInet.parameterMetadata))}::inet, ${ParameterValue(unsaved.int2, null, ToStatement.optionToStatement(TypoShort.toStatement, TypoShort.parameterMetadata))}::int2, ${ParameterValue(unsaved.int2vector, null, ToStatement.optionToStatement(TypoInt2Vector.toStatement, TypoInt2Vector.parameterMetadata))}::int2vector, ${ParameterValue(unsaved.int4, null, ToStatement.optionToStatement(ToStatement.intToStatement, ParameterMetaData.IntParameterMetaData))}::int4, ${ParameterValue(unsaved.int8, null, ToStatement.optionToStatement(ToStatement.longToStatement, ParameterMetaData.LongParameterMetaData))}::int8, ${ParameterValue(unsaved.interval, null, ToStatement.optionToStatement(TypoInterval.toStatement, TypoInterval.parameterMetadata))}::interval, ${ParameterValue(unsaved.json, null, ToStatement.optionToStatement(TypoJson.toStatement, TypoJson.parameterMetadata))}::json, ${ParameterValue(unsaved.jsonb, null, ToStatement.optionToStatement(TypoJsonb.toStatement, TypoJsonb.parameterMetadata))}::jsonb, ${ParameterValue(unsaved.line, null, ToStatement.optionToStatement(TypoLine.toStatement, TypoLine.parameterMetadata))}::line, ${ParameterValue(unsaved.lseg, null, ToStatement.optionToStatement(TypoLineSegment.toStatement, TypoLineSegment.parameterMetadata))}::lseg, ${ParameterValue(unsaved.money, null, ToStatement.optionToStatement(TypoMoney.toStatement, TypoMoney.parameterMetadata))}::money, ${ParameterValue(unsaved.mydomain, null, ToStatement.optionToStatement(Mydomain.toStatement, Mydomain.parameterMetadata))}::text, ${ParameterValue(unsaved.myenum, null, ToStatement.optionToStatement(Myenum.toStatement, Myenum.parameterMetadata))}::public.myenum, ${ParameterValue(unsaved.name, null, ToStatement.optionToStatement(ToStatement.stringToStatement, ParameterMetaData.StringParameterMetaData))}::name, ${ParameterValue(unsaved.numeric, null, ToStatement.optionToStatement(ToStatement.scalaBigDecimalToStatement, ParameterMetaData.BigDecimalParameterMetaData))}::numeric, ${ParameterValue(unsaved.path, null, ToStatement.optionToStatement(TypoPath.toStatement, TypoPath.parameterMetadata))}::path, ${ParameterValue(unsaved.point, null, ToStatement.optionToStatement(TypoPoint.toStatement, TypoPoint.parameterMetadata))}::point, ${ParameterValue(unsaved.polygon, null, ToStatement.optionToStatement(TypoPolygon.toStatement, TypoPolygon.parameterMetadata))}::polygon, ${ParameterValue(unsaved.text, null, ToStatement.optionToStatement(ToStatement.stringToStatement, ParameterMetaData.StringParameterMetaData))}, ${ParameterValue(unsaved.time, null, ToStatement.optionToStatement(TypoLocalTime.toStatement, TypoLocalTime.parameterMetadata))}::time, ${ParameterValue(unsaved.timestamp, null, ToStatement.optionToStatement(TypoLocalDateTime.toStatement, TypoLocalDateTime.parameterMetadata))}::timestamp, ${ParameterValue(unsaved.timestampz, null, ToStatement.optionToStatement(TypoInstant.toStatement, TypoInstant.parameterMetadata))}::timestamptz, ${ParameterValue(unsaved.timez, null, ToStatement.optionToStatement(TypoOffsetTime.toStatement, TypoOffsetTime.parameterMetadata))}::timetz, ${ParameterValue(unsaved.uuid, null, ToStatement.optionToStatement(TypoUUID.toStatement, TypoUUID.parameterMetadata))}::uuid, ${ParameterValue(unsaved.varchar, null, ToStatement.optionToStatement(ToStatement.stringToStatement, ParameterMetaData.StringParameterMetaData))}, ${ParameterValue(unsaved.vector, null, ToStatement.optionToStatement(TypoVector.toStatement, TypoVector.parameterMetadata))}::vector, ${ParameterValue(unsaved.xml, null, ToStatement.optionToStatement(TypoXml.toStatement, TypoXml.parameterMetadata))}::xml, ${ParameterValue(unsaved.boxes, null, ToStatement.optionToStatement(TypoBox.arrayToStatement, adventureworks.arrayParameterMetaData(TypoBox.parameterMetadata)))}::box[], ${ParameterValue(unsaved.bpchares, null, ToStatement.optionToStatement(ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData), adventureworks.arrayParameterMetaData(ParameterMetaData.StringParameterMetaData)))}::bpchar[], ${ParameterValue(unsaved.chares, null, ToStatement.optionToStatement(ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData), adventureworks.arrayParameterMetaData(ParameterMetaData.StringParameterMetaData)))}::bpchar[], ${ParameterValue(unsaved.circlees, null, ToStatement.optionToStatement(TypoCircle.arrayToStatement, adventureworks.arrayParameterMetaData(TypoCircle.parameterMetadata)))}::circle[], ${ParameterValue(unsaved.datees, null, ToStatement.optionToStatement(TypoLocalDate.arrayToStatement, adventureworks.arrayParameterMetaData(TypoLocalDate.parameterMetadata)))}::date[], ${ParameterValue(unsaved.float4es, null, ToStatement.optionToStatement(adventureworks.FloatArrayToStatement, adventureworks.arrayParameterMetaData(ParameterMetaData.FloatParameterMetaData)))}::float4[], ${ParameterValue(unsaved.float8es, null, ToStatement.optionToStatement(adventureworks.DoubleArrayToStatement, adventureworks.arrayParameterMetaData(ParameterMetaData.DoubleParameterMetaData)))}::float8[], ${ParameterValue(unsaved.inetes, null, ToStatement.optionToStatement(TypoInet.arrayToStatement, adventureworks.arrayParameterMetaData(TypoInet.parameterMetadata)))}::inet[], ${ParameterValue(unsaved.int2es, null, ToStatement.optionToStatement(TypoShort.arrayToStatement, adventureworks.arrayParameterMetaData(TypoShort.parameterMetadata)))}::int2[], ${ParameterValue(unsaved.int2vectores, null, ToStatement.optionToStatement(TypoInt2Vector.arrayToStatement, adventureworks.arrayParameterMetaData(TypoInt2Vector.parameterMetadata)))}::int2vector[], ${ParameterValue(unsaved.int4es, null, ToStatement.optionToStatement(adventureworks.IntArrayToStatement, adventureworks.arrayParameterMetaData(ParameterMetaData.IntParameterMetaData)))}::int4[], ${ParameterValue(unsaved.int8es, null, ToStatement.optionToStatement(adventureworks.LongArrayToStatement, adventureworks.arrayParameterMetaData(ParameterMetaData.LongParameterMetaData)))}::int8[], ${ParameterValue(unsaved.intervales, null, ToStatement.optionToStatement(TypoInterval.arrayToStatement, adventureworks.arrayParameterMetaData(TypoInterval.parameterMetadata)))}::interval[], ${ParameterValue(unsaved.jsones, null, ToStatement.optionToStatement(TypoJson.arrayToStatement, adventureworks.arrayParameterMetaData(TypoJson.parameterMetadata)))}::json[], ${ParameterValue(unsaved.jsonbes, null, ToStatement.optionToStatement(TypoJsonb.arrayToStatement, adventureworks.arrayParameterMetaData(TypoJsonb.parameterMetadata)))}::jsonb[], ${ParameterValue(unsaved.linees, null, ToStatement.optionToStatement(TypoLine.arrayToStatement, adventureworks.arrayParameterMetaData(TypoLine.parameterMetadata)))}::line[], ${ParameterValue(unsaved.lseges, null, ToStatement.optionToStatement(TypoLineSegment.arrayToStatement, adventureworks.arrayParameterMetaData(TypoLineSegment.parameterMetadata)))}::lseg[], ${ParameterValue(unsaved.moneyes, null, ToStatement.optionToStatement(TypoMoney.arrayToStatement, adventureworks.arrayParameterMetaData(TypoMoney.parameterMetadata)))}::money[], ${ParameterValue(unsaved.myenumes, null, ToStatement.optionToStatement(Myenum.arrayToStatement, adventureworks.arrayParameterMetaData(Myenum.parameterMetadata)))}::myenum[], ${ParameterValue(unsaved.namees, null, ToStatement.optionToStatement(ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData), adventureworks.arrayParameterMetaData(ParameterMetaData.StringParameterMetaData)))}::name[], ${ParameterValue(unsaved.numerices, null, ToStatement.optionToStatement(adventureworks.BigDecimalArrayToStatement, adventureworks.arrayParameterMetaData(ParameterMetaData.BigDecimalParameterMetaData)))}::numeric[], ${ParameterValue(unsaved.pathes, null, ToStatement.optionToStatement(TypoPath.arrayToStatement, adventureworks.arrayParameterMetaData(TypoPath.parameterMetadata)))}::path[], ${ParameterValue(unsaved.pointes, null, ToStatement.optionToStatement(TypoPoint.arrayToStatement, adventureworks.arrayParameterMetaData(TypoPoint.parameterMetadata)))}::point[], ${ParameterValue(unsaved.polygones, null, ToStatement.optionToStatement(TypoPolygon.arrayToStatement, adventureworks.arrayParameterMetaData(TypoPolygon.parameterMetadata)))}::polygon[], ${ParameterValue(unsaved.textes, null, ToStatement.optionToStatement(ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData), adventureworks.arrayParameterMetaData(ParameterMetaData.StringParameterMetaData)))}::text[], ${ParameterValue(unsaved.timees, null, ToStatement.optionToStatement(TypoLocalTime.arrayToStatement, adventureworks.arrayParameterMetaData(TypoLocalTime.parameterMetadata)))}::time[], ${ParameterValue(unsaved.timestampes, null, ToStatement.optionToStatement(TypoLocalDateTime.arrayToStatement, adventureworks.arrayParameterMetaData(TypoLocalDateTime.parameterMetadata)))}::timestamp[], ${ParameterValue(unsaved.timestampzes, null, ToStatement.optionToStatement(TypoInstant.arrayToStatement, adventureworks.arrayParameterMetaData(TypoInstant.parameterMetadata)))}::timestamptz[], ${ParameterValue(unsaved.timezes, null, ToStatement.optionToStatement(TypoOffsetTime.arrayToStatement, adventureworks.arrayParameterMetaData(TypoOffsetTime.parameterMetadata)))}::timetz[], ${ParameterValue(unsaved.uuides, null, ToStatement.optionToStatement(TypoUUID.arrayToStatement, adventureworks.arrayParameterMetaData(TypoUUID.parameterMetadata)))}::uuid[], ${ParameterValue(unsaved.varchares, null, ToStatement.optionToStatement(ToStatement.arrayToParameter(ParameterMetaData.StringParameterMetaData), adventureworks.arrayParameterMetaData(ParameterMetaData.StringParameterMetaData)))}::varchar[], ${ParameterValue(unsaved.xmles, null, ToStatement.optionToStatement(TypoXml.arrayToStatement, adventureworks.arrayParameterMetaData(TypoXml.parameterMetadata)))}::xml[]) returning "bool", "box", "bpchar", "bytea", "char", "circle", "date"::text, "float4", "float8", "hstore", "inet", "int2", "int2vector", "int4", "int8", "interval", "json", "jsonb", "line", "lseg", "money"::numeric, "mydomain", "myenum", "name", "numeric", "path", "point", "polygon", "text", "time"::text, "timestamp"::text, "timestampz"::text, "timez"::text, "uuid", "varchar", "vector"::float4[], "xml", "boxes", "bpchares", "chares", "circlees", "datees"::text[], "float4es", "float8es", "inetes", "int2es", "int2vectores", "int4es", "int8es", "intervales", "jsones", "jsonbes", "linees", "lseges", "moneyes"::numeric[], "myenumes", "namees", "numerices", "pathes", "pointes", "polygones", "textes", "timees"::text[], "timestampes"::text[], "timestampzes"::text[], "timezes"::text[], "uuides", "varchares", "xmles" """ .executeInsert(PgtestnullRow.rowParser(1).single) diff --git a/typo-tester-anorm/src/scala/adventureworks/ArrayTest.scala b/typo-tester-anorm/src/scala/adventureworks/ArrayTest.scala index 61c8707c47..df607ca08a 100644 --- a/typo-tester-anorm/src/scala/adventureworks/ArrayTest.scala +++ b/typo-tester-anorm/src/scala/adventureworks/ArrayTest.scala @@ -9,6 +9,8 @@ import org.scalatest.Assertion import org.scalatest.funsuite.AnyFunSuite import play.api.libs.json.{Json, Writes} +import scala.annotation.nowarn + class ArrayTest extends AnyFunSuite with TypeCheckedTripleEquals { val pgtestnullRepo: PgtestnullRepoImpl = new PgtestnullRepoImpl val pgtestRepo: PgtestRepoImpl = new PgtestRepoImpl @@ -58,6 +60,159 @@ class ArrayTest extends AnyFunSuite with TypeCheckedTripleEquals { assertJsonEquals(before, after) } } + + test("can query pgtestnull with DSL") { + withConnection { implicit c => + implicit def ordering[T]: Ordering[T] = null + val row = pgtestnullRepo.insert(ArrayTestData.pgtestnullRowWithValues) + assertJsonEquals(row.bool, pgtestnullRepo.select.where(_.bool === row.bool).toList.head.bool): @nowarn + assertJsonEquals(row.box, pgtestnullRepo.select.where(_.box === row.box).toList.head.box): @nowarn + assertJsonEquals(row.bpchar, pgtestnullRepo.select.where(_.bpchar === row.bpchar).toList.head.bpchar): @nowarn + assertJsonEquals(row.bytea, pgtestnullRepo.select.where(_.bytea === row.bytea).toList.head.bytea): @nowarn + assertJsonEquals(row.char, pgtestnullRepo.select.where(_.char === row.char).toList.head.char): @nowarn + assertJsonEquals(row.circle, pgtestnullRepo.select.where(_.circle === row.circle).toList.head.circle): @nowarn + assertJsonEquals(row.date, pgtestnullRepo.select.where(_.date === row.date).toList.head.date): @nowarn + assertJsonEquals(row.float4, pgtestnullRepo.select.where(_.float4 === row.float4).toList.head.float4): @nowarn + assertJsonEquals(row.float8, pgtestnullRepo.select.where(_.float8 === row.float8).toList.head.float8): @nowarn + assertJsonEquals(row.hstore, pgtestnullRepo.select.where(_.hstore === row.hstore).toList.head.hstore): @nowarn + assertJsonEquals(row.inet, pgtestnullRepo.select.where(_.inet === row.inet).toList.head.inet): @nowarn + assertJsonEquals(row.int2, pgtestnullRepo.select.where(_.int2 === row.int2).toList.head.int2): @nowarn + assertJsonEquals(row.int2vector, pgtestnullRepo.select.where(_.int2vector === row.int2vector).toList.head.int2vector): @nowarn + assertJsonEquals(row.int4, pgtestnullRepo.select.where(_.int4 === row.int4).toList.head.int4): @nowarn + assertJsonEquals(row.int8, pgtestnullRepo.select.where(_.int8 === row.int8).toList.head.int8): @nowarn + assertJsonEquals(row.interval, pgtestnullRepo.select.where(_.interval === row.interval).toList.head.interval): @nowarn +// assertJsonEquals(row.json, pgtestnullRepo.select.where(_.json === row.json).toList.head.json): @nowarn + assertJsonEquals(row.jsonb, pgtestnullRepo.select.where(_.jsonb === row.jsonb).toList.head.jsonb): @nowarn + assertJsonEquals(row.line, pgtestnullRepo.select.where(_.line === row.line).toList.head.line): @nowarn + assertJsonEquals(row.lseg, pgtestnullRepo.select.where(_.lseg === row.lseg).toList.head.lseg): @nowarn + assertJsonEquals(row.money, pgtestnullRepo.select.where(_.money === row.money).toList.head.money): @nowarn + assertJsonEquals(row.mydomain, pgtestnullRepo.select.where(_.mydomain === row.mydomain).toList.head.mydomain): @nowarn +// assertJsonEquals(row.myenum, pgtestnullRepo.select.where(_.myenum === row.myenum).toList.head.myenum): @nowarn + assertJsonEquals(row.name, pgtestnullRepo.select.where(_.name === row.name).toList.head.name): @nowarn + assertJsonEquals(row.numeric, pgtestnullRepo.select.where(_.numeric === row.numeric).toList.head.numeric): @nowarn + assertJsonEquals(row.path, pgtestnullRepo.select.where(_.path === row.path).toList.head.path): @nowarn +// assertJsonEquals(row.point, pgtestnullRepo.select.where(_.point === row.point).toList.head.point): @nowarn +// assertJsonEquals(row.polygon, pgtestnullRepo.select.where(_.polygon === row.polygon).toList.head.polygon): @nowarn + assertJsonEquals(row.text, pgtestnullRepo.select.where(_.text === row.text).toList.head.text): @nowarn + assertJsonEquals(row.time, pgtestnullRepo.select.where(_.time === row.time).toList.head.time): @nowarn + assertJsonEquals(row.timestamp, pgtestnullRepo.select.where(_.timestamp === row.timestamp).toList.head.timestamp): @nowarn + assertJsonEquals(row.timestampz, pgtestnullRepo.select.where(_.timestampz === row.timestampz).toList.head.timestampz): @nowarn + assertJsonEquals(row.timez, pgtestnullRepo.select.where(_.timez === row.timez).toList.head.timez): @nowarn + assertJsonEquals(row.uuid, pgtestnullRepo.select.where(_.uuid === row.uuid).toList.head.uuid): @nowarn + assertJsonEquals(row.varchar, pgtestnullRepo.select.where(_.varchar === row.varchar).toList.head.varchar): @nowarn + assertJsonEquals(row.vector, pgtestnullRepo.select.where(_.vector === row.vector).toList.head.vector): @nowarn +// assertJsonEquals(row.xml, pgtestnullRepo.select.where(_.xml === row.xml).toList.head.xml): @nowarn +// assertJsonEquals(row.boxes, pgtestnullRepo.select.where(_.boxes === row.boxes).toList.head.boxes): @nowarn +// assertJsonEquals(row.bpchares, pgtestnullRepo.select.where(_.bpchares === row.bpchares).toList.head.bpchares) // can fix with custom type: @nowarn +// assertJsonEquals(row.chares, pgtestnullRepo.select.where(_.chares === row.chares).toList.head.chares) // can fix with custom type: @nowarn +// assertJsonEquals(row.circlees, pgtestnullRepo.select.where(_.circlees === row.circlees).toList.head.circlees): @nowarn + assertJsonEquals(row.datees, pgtestnullRepo.select.where(_.datees === row.datees).toList.head.datees): @nowarn + assertJsonEquals(row.float4es, pgtestnullRepo.select.where(_.float4es === row.float4es).toList.head.float4es): @nowarn + assertJsonEquals(row.float8es, pgtestnullRepo.select.where(_.float8es === row.float8es).toList.head.float8es): @nowarn + assertJsonEquals(row.inetes, pgtestnullRepo.select.where(_.inetes === row.inetes).toList.head.inetes): @nowarn + assertJsonEquals(row.int2es, pgtestnullRepo.select.where(_.int2es === row.int2es).toList.head.int2es): @nowarn + assertJsonEquals(row.int2vectores, pgtestnullRepo.select.where(_.int2vectores === row.int2vectores).toList.head.int2vectores): @nowarn + assertJsonEquals(row.int4es, pgtestnullRepo.select.where(_.int4es === row.int4es).toList.head.int4es): @nowarn +// assertJsonEquals(row.int8es, pgtestnullRepo.select.where(_.int8es === row.int8es).toList.head.int8es): @nowarn + assertJsonEquals(row.intervales, pgtestnullRepo.select.where(_.intervales === row.intervales).toList.head.intervales): @nowarn +// assertJsonEquals(row.jsones, pgtestnullRepo.select.where(_.jsones === row.jsones).toList.head.jsones): @nowarn +// assertJsonEquals(row.jsonbes, pgtestnullRepo.select.where(_.jsonbes === row.jsonbes).toList.head.jsonbes): @nowarn +// assertJsonEquals(row.linees, pgtestnullRepo.select.where(_.linees === row.linees).toList.head.linees): @nowarn +// assertJsonEquals(row.lseges, pgtestnullRepo.select.where(_.lseges === row.lseges).toList.head.lseges): @nowarn + assertJsonEquals(row.moneyes, pgtestnullRepo.select.where(_.moneyes === row.moneyes).toList.head.moneyes): @nowarn + assertJsonEquals(row.myenumes, pgtestnullRepo.select.where(_.myenumes === row.myenumes).toList.head.myenumes): @nowarn +// assertJsonEquals(row.namees, pgtestnullRepo.select.where(_.namees === row.namees).toList.head.namees): @nowarn +// assertJsonEquals(row.numerices, pgtestnullRepo.select.where(_.numerices === row.numerices).toList.head.numerices): @nowarn +// assertJsonEquals(row.pathes, pgtestnullRepo.select.where(_.pathes === row.pathes).toList.head.pathes): @nowarn +// assertJsonEquals(row.pointes, pgtestnullRepo.select.where(_.pointes === row.pointes).toList.head.pointes): @nowarn +// assertJsonEquals(row.polygones, pgtestnullRepo.select.where(_.polygones === row.polygones).toList.head.polygones): @nowarn + assertJsonEquals(row.textes, pgtestnullRepo.select.where(_.textes === row.textes).toList.head.textes): @nowarn + assertJsonEquals(row.timees, pgtestnullRepo.select.where(_.timees === row.timees).toList.head.timees): @nowarn + assertJsonEquals(row.timestampes, pgtestnullRepo.select.where(_.timestampes === row.timestampes).toList.head.timestampes): @nowarn + assertJsonEquals(row.timestampzes, pgtestnullRepo.select.where(_.timestampzes === row.timestampzes).toList.head.timestampzes): @nowarn + assertJsonEquals(row.timezes, pgtestnullRepo.select.where(_.timezes === row.timezes).toList.head.timezes): @nowarn + assertJsonEquals(row.uuides, pgtestnullRepo.select.where(_.uuides === row.uuides).toList.head.uuides) +// assertJsonEquals(row.varchares, pgtestnullRepo.select.where(_.varchares === row.varchares).toList.head.varchares) +// assertJsonEquals(row.xmles, pgtestnullRepo.select.where(_.xmles === row.xmles).toList.head.xmles): @nowarn + } + } + + test("can query pgtest with DSL") { + withConnection { implicit c => + implicit def ordering[T]: Ordering[T] = null + val row = pgtestRepo.insert(ArrayTestData.pgTestRow) + pgtestRepo.update.setValue(_.bool)(row.bool).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.box)(row.box).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.bpchar)(row.bpchar).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.bytea)(row.bytea).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.char)(row.char).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.circle)(row.circle).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.date)(row.date).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.float4)(row.float4).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.float8)(row.float8).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.hstore)(row.hstore).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.inet)(row.inet).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.int2)(row.int2).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.int2vector)(row.int2vector).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.int4)(row.int4).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.int8)(row.int8).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.interval)(row.interval).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.json)(row.json).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.jsonb)(row.jsonb).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.line)(row.line).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.lseg)(row.lseg).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.money)(row.money).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.mydomain)(row.mydomain).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.myenum)(row.myenum).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.name)(row.name).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.numeric)(row.numeric).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.path)(row.path).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.point)(row.point).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.polygon)(row.polygon).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.text)(row.text).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.time)(row.time).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.timestamp)(row.timestamp).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.timestampz)(row.timestampz).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.timez)(row.timez).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.uuid)(row.uuid).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.varchar)(row.varchar).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.vector)(row.vector).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.xml)(row.xml).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.boxes)(row.boxes).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.bpchares)(row.bpchares).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.chares)(row.chares).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.circlees)(row.circlees).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.datees)(row.datees).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.float4es)(row.float4es).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.float8es)(row.float8es).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.inetes)(row.inetes).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.int2es)(row.int2es).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.int2vectores)(row.int2vectores).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.int4es)(row.int4es).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.int8es)(row.int8es).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.intervales)(row.intervales).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.jsones)(row.jsones).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.jsonbes)(row.jsonbes).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.linees)(row.linees).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.lseges)(row.lseges).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.moneyes)(row.moneyes).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.myenumes)(row.myenumes).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.namees)(row.namees).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.numerices)(row.numerices).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.pathes)(row.pathes).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.pointes)(row.pointes).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.polygones)(row.polygones).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.textes)(row.textes).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.timees)(row.timees).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.timestampes)(row.timestampes).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.timestampzes)(row.timestampzes).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.timezes)(row.timezes).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.uuides)(row.uuides).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.varchares)(row.varchares).where(_.uuid === row.uuid).execute(): @nowarn + pgtestRepo.update.setValue(_.xmles)(row.xmles).where(_.uuid === row.uuid).execute() + } + } + } object ArrayTestData { diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoBox.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoBox.scala index 22d8e2e946..cb050a3668 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoBox.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoBox.scala @@ -18,9 +18,9 @@ import org.postgresql.geometric.PGbox case class TypoBox(x1: Double, y1: Double, x2: Double, y2: Double) object TypoBox { - implicit lazy val arrayGet: Get[Array[TypoBox]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_box")) + implicit lazy val arrayGet: Get[Array[TypoBox]] = Get.Advanced.array[AnyRef](NonEmptyList.one("box[]")) .map(_.map(v => TypoBox(v.asInstanceOf[PGbox].point(0).x, v.asInstanceOf[PGbox].point(0).y, v.asInstanceOf[PGbox].point(1).x, v.asInstanceOf[PGbox].point(1).y))) - implicit lazy val arrayPut: Put[Array[TypoBox]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_box"), "box") + implicit lazy val arrayPut: Put[Array[TypoBox]] = Put.Advanced.array[AnyRef](NonEmptyList.one("box[]"), "box") .contramap(_.map(v => new PGbox(v.x1, v.y1, v.x2, v.y2))) implicit lazy val decoder: Decoder[TypoBox] = Decoder.forProduct4[TypoBox, Double, Double, Double, Double]("x1", "y1", "x2", "y2")(TypoBox.apply)(Decoder.decodeDouble, Decoder.decodeDouble, Decoder.decodeDouble, Decoder.decodeDouble) implicit lazy val encoder: Encoder[TypoBox] = Encoder.forProduct4[TypoBox, Double, Double, Double, Double]("x1", "y1", "x2", "y2")(x => (x.x1, x.y1, x.x2, x.y2))(Encoder.encodeDouble, Encoder.encodeDouble, Encoder.encodeDouble, Encoder.encodeDouble) diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoCircle.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoCircle.scala index 4aa631fdbb..adce46f650 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoCircle.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoCircle.scala @@ -18,9 +18,9 @@ import org.postgresql.geometric.PGcircle case class TypoCircle(center: TypoPoint, radius: Double) object TypoCircle { - implicit lazy val arrayGet: Get[Array[TypoCircle]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_circle")) + implicit lazy val arrayGet: Get[Array[TypoCircle]] = Get.Advanced.array[AnyRef](NonEmptyList.one("circle[]")) .map(_.map(v => TypoCircle(TypoPoint(v.asInstanceOf[PGcircle].center.x, v.asInstanceOf[PGcircle].center.y), v.asInstanceOf[PGcircle].radius))) - implicit lazy val arrayPut: Put[Array[TypoCircle]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_circle"), "circle") + implicit lazy val arrayPut: Put[Array[TypoCircle]] = Put.Advanced.array[AnyRef](NonEmptyList.one("circle[]"), "circle") .contramap(_.map(v => new PGcircle(v.center.x, v.center.y, v.radius))) implicit lazy val decoder: Decoder[TypoCircle] = Decoder.forProduct2[TypoCircle, TypoPoint, Double]("center", "radius")(TypoCircle.apply)(TypoPoint.decoder, Decoder.decodeDouble) implicit lazy val encoder: Encoder[TypoCircle] = Encoder.forProduct2[TypoCircle, TypoPoint, Double]("center", "radius")(x => (x.center, x.radius))(TypoPoint.encoder, Encoder.encodeDouble) diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoInet.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoInet.scala index 45cbe04d1b..a37f8b5483 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoInet.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoInet.scala @@ -19,9 +19,9 @@ import typo.dsl.Bijection case class TypoInet(value: String) object TypoInet { - implicit lazy val arrayGet: Get[Array[TypoInet]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_inet")) + implicit lazy val arrayGet: Get[Array[TypoInet]] = Get.Advanced.array[AnyRef](NonEmptyList.one("inet[]")) .map(_.map(v => TypoInet(v.asInstanceOf[PGobject].getValue))) - implicit lazy val arrayPut: Put[Array[TypoInet]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_inet"), "inet") + implicit lazy val arrayPut: Put[Array[TypoInet]] = Put.Advanced.array[AnyRef](NonEmptyList.one("inet[]"), "inet") .contramap(_.map(v => { val obj = new PGobject obj.setType("inet") diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoInstant.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoInstant.scala index ed07dbe9a4..c72576bf85 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoInstant.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoInstant.scala @@ -28,9 +28,9 @@ object TypoInstant { def apply(value: Instant): TypoInstant = new TypoInstant(value.truncatedTo(ChronoUnit.MICROS)) def apply(str: String): TypoInstant = apply(OffsetDateTime.parse(str, parser).toInstant) def now = TypoInstant(Instant.now) - implicit lazy val arrayGet: Get[Array[TypoInstant]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_timestamptz")) + implicit lazy val arrayGet: Get[Array[TypoInstant]] = Get.Advanced.array[AnyRef](NonEmptyList.one("timestamptz[]")) .map(_.map(v => TypoInstant(v.asInstanceOf[String]))) - implicit lazy val arrayPut: Put[Array[TypoInstant]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_timestamptz"), "timestamptz") + implicit lazy val arrayPut: Put[Array[TypoInstant]] = Put.Advanced.array[AnyRef](NonEmptyList.one("timestamptz[]"), "timestamptz") .contramap(_.map(v => v.value.toString)) implicit lazy val bijection: Bijection[TypoInstant, Instant] = Bijection[TypoInstant, Instant](_.value)(TypoInstant.apply) implicit lazy val decoder: Decoder[TypoInstant] = Decoder.decodeInstant.map(TypoInstant.apply) diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoInt2Vector.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoInt2Vector.scala index b3b4e5e8b9..f5d8b62caf 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoInt2Vector.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoInt2Vector.scala @@ -19,9 +19,9 @@ import typo.dsl.Bijection case class TypoInt2Vector(value: String) object TypoInt2Vector { - implicit lazy val arrayGet: Get[Array[TypoInt2Vector]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_int2vector")) + implicit lazy val arrayGet: Get[Array[TypoInt2Vector]] = Get.Advanced.array[AnyRef](NonEmptyList.one("int2vector[]")) .map(_.map(v => TypoInt2Vector(v.asInstanceOf[PGobject].getValue))) - implicit lazy val arrayPut: Put[Array[TypoInt2Vector]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_int2vector"), "int2vector") + implicit lazy val arrayPut: Put[Array[TypoInt2Vector]] = Put.Advanced.array[AnyRef](NonEmptyList.one("int2vector[]"), "int2vector") .contramap(_.map(v => { val obj = new PGobject obj.setType("int2vector") diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoInterval.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoInterval.scala index c27483640b..7a7fa5c52a 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoInterval.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoInterval.scala @@ -18,9 +18,9 @@ import org.postgresql.util.PGInterval case class TypoInterval(years: Int, months: Int, days: Int, hours: Int, minutes: Int, seconds: Double) object TypoInterval { - implicit lazy val arrayGet: Get[Array[TypoInterval]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_interval")) + implicit lazy val arrayGet: Get[Array[TypoInterval]] = Get.Advanced.array[AnyRef](NonEmptyList.one("interval[]")) .map(_.map(v => TypoInterval(v.asInstanceOf[PGInterval].getYears, v.asInstanceOf[PGInterval].getMonths, v.asInstanceOf[PGInterval].getDays, v.asInstanceOf[PGInterval].getHours, v.asInstanceOf[PGInterval].getMinutes, v.asInstanceOf[PGInterval].getSeconds))) - implicit lazy val arrayPut: Put[Array[TypoInterval]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_interval"), "interval") + implicit lazy val arrayPut: Put[Array[TypoInterval]] = Put.Advanced.array[AnyRef](NonEmptyList.one("interval[]"), "interval") .contramap(_.map(v => new PGInterval(v.years, v.months, v.days, v.hours, v.minutes, v.seconds))) implicit lazy val decoder: Decoder[TypoInterval] = Decoder.forProduct6[TypoInterval, Int, Int, Int, Int, Int, Double]("years", "months", "days", "hours", "minutes", "seconds")(TypoInterval.apply)(Decoder.decodeInt, Decoder.decodeInt, Decoder.decodeInt, Decoder.decodeInt, Decoder.decodeInt, Decoder.decodeDouble) implicit lazy val encoder: Encoder[TypoInterval] = Encoder.forProduct6[TypoInterval, Int, Int, Int, Int, Int, Double]("years", "months", "days", "hours", "minutes", "seconds")(x => (x.years, x.months, x.days, x.hours, x.minutes, x.seconds))(Encoder.encodeInt, Encoder.encodeInt, Encoder.encodeInt, Encoder.encodeInt, Encoder.encodeInt, Encoder.encodeDouble) diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoJson.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoJson.scala index a540e7b46d..54325ccdbd 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoJson.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoJson.scala @@ -19,9 +19,9 @@ import typo.dsl.Bijection case class TypoJson(value: String) object TypoJson { - implicit lazy val arrayGet: Get[Array[TypoJson]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_json")) + implicit lazy val arrayGet: Get[Array[TypoJson]] = Get.Advanced.array[AnyRef](NonEmptyList.one("json[]")) .map(_.map(v => TypoJson(v.asInstanceOf[String]))) - implicit lazy val arrayPut: Put[Array[TypoJson]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_json"), "json") + implicit lazy val arrayPut: Put[Array[TypoJson]] = Put.Advanced.array[AnyRef](NonEmptyList.one("json[]"), "json") .contramap(_.map(v => { val obj = new PGobject obj.setType("json") diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoJsonb.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoJsonb.scala index 6480a1edb7..73cc624c7c 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoJsonb.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoJsonb.scala @@ -19,9 +19,9 @@ import typo.dsl.Bijection case class TypoJsonb(value: String) object TypoJsonb { - implicit lazy val arrayGet: Get[Array[TypoJsonb]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_jsonb")) + implicit lazy val arrayGet: Get[Array[TypoJsonb]] = Get.Advanced.array[AnyRef](NonEmptyList.one("jsonb[]")) .map(_.map(v => TypoJsonb(v.asInstanceOf[String]))) - implicit lazy val arrayPut: Put[Array[TypoJsonb]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_jsonb"), "jsonb") + implicit lazy val arrayPut: Put[Array[TypoJsonb]] = Put.Advanced.array[AnyRef](NonEmptyList.one("jsonb[]"), "jsonb") .contramap(_.map(v => { val obj = new PGobject obj.setType("jsonb") diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLine.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLine.scala index f9ad475f47..ed1b11f1fa 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLine.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLine.scala @@ -18,9 +18,9 @@ import org.postgresql.geometric.PGline case class TypoLine(a: Double, b: Double, c: Double) object TypoLine { - implicit lazy val arrayGet: Get[Array[TypoLine]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_line")) + implicit lazy val arrayGet: Get[Array[TypoLine]] = Get.Advanced.array[AnyRef](NonEmptyList.one("line[]")) .map(_.map(v => TypoLine(v.asInstanceOf[PGline].a, v.asInstanceOf[PGline].b, v.asInstanceOf[PGline].c))) - implicit lazy val arrayPut: Put[Array[TypoLine]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_line"), "line") + implicit lazy val arrayPut: Put[Array[TypoLine]] = Put.Advanced.array[AnyRef](NonEmptyList.one("line[]"), "line") .contramap(_.map(v => new PGline(v.a, v.b, v.c))) implicit lazy val decoder: Decoder[TypoLine] = Decoder.forProduct3[TypoLine, Double, Double, Double]("a", "b", "c")(TypoLine.apply)(Decoder.decodeDouble, Decoder.decodeDouble, Decoder.decodeDouble) implicit lazy val encoder: Encoder[TypoLine] = Encoder.forProduct3[TypoLine, Double, Double, Double]("a", "b", "c")(x => (x.a, x.b, x.c))(Encoder.encodeDouble, Encoder.encodeDouble, Encoder.encodeDouble) diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLineSegment.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLineSegment.scala index 51cdba826d..48d60b561f 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLineSegment.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLineSegment.scala @@ -19,9 +19,9 @@ import org.postgresql.geometric.PGpoint case class TypoLineSegment(p1: TypoPoint, p2: TypoPoint) object TypoLineSegment { - implicit lazy val arrayGet: Get[Array[TypoLineSegment]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_lseg")) + implicit lazy val arrayGet: Get[Array[TypoLineSegment]] = Get.Advanced.array[AnyRef](NonEmptyList.one("lseg[]")) .map(_.map(v => TypoLineSegment(TypoPoint(v.asInstanceOf[PGlseg].point(0).x, v.asInstanceOf[PGlseg].point(0).y), TypoPoint(v.asInstanceOf[PGlseg].point(1).x, v.asInstanceOf[PGlseg].point(1).y)))) - implicit lazy val arrayPut: Put[Array[TypoLineSegment]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_lseg"), "lseg") + implicit lazy val arrayPut: Put[Array[TypoLineSegment]] = Put.Advanced.array[AnyRef](NonEmptyList.one("lseg[]"), "lseg") .contramap(_.map(v => new PGlseg(new PGpoint(v.p1.x, v.p1.y), new PGpoint(v.p2.x, v.p2.y)))) implicit lazy val decoder: Decoder[TypoLineSegment] = Decoder.forProduct2[TypoLineSegment, TypoPoint, TypoPoint]("p1", "p2")(TypoLineSegment.apply)(TypoPoint.decoder, TypoPoint.decoder) implicit lazy val encoder: Encoder[TypoLineSegment] = Encoder.forProduct2[TypoLineSegment, TypoPoint, TypoPoint]("p1", "p2")(x => (x.p1, x.p2))(TypoPoint.encoder, TypoPoint.encoder) diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLocalDate.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLocalDate.scala index 189a14e889..ad6b7e8700 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLocalDate.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLocalDate.scala @@ -21,9 +21,9 @@ case class TypoLocalDate(value: LocalDate) object TypoLocalDate { def now = TypoLocalDate(LocalDate.now) def apply(str: String): TypoLocalDate = TypoLocalDate(LocalDate.parse(str)) - implicit lazy val arrayGet: Get[Array[TypoLocalDate]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_date")) + implicit lazy val arrayGet: Get[Array[TypoLocalDate]] = Get.Advanced.array[AnyRef](NonEmptyList.one("date[]")) .map(_.map(v => TypoLocalDate(LocalDate.parse(v.asInstanceOf[String])))) - implicit lazy val arrayPut: Put[Array[TypoLocalDate]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_date"), "date") + implicit lazy val arrayPut: Put[Array[TypoLocalDate]] = Put.Advanced.array[AnyRef](NonEmptyList.one("date[]"), "date") .contramap(_.map(v => v.value.toString)) implicit lazy val bijection: Bijection[TypoLocalDate, LocalDate] = Bijection[TypoLocalDate, LocalDate](_.value)(TypoLocalDate.apply) implicit lazy val decoder: Decoder[TypoLocalDate] = Decoder.decodeLocalDate.map(TypoLocalDate.apply) diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLocalDateTime.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLocalDateTime.scala index 85d30926fa..14089ed015 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLocalDateTime.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLocalDateTime.scala @@ -27,9 +27,9 @@ object TypoLocalDateTime { def apply(value: LocalDateTime): TypoLocalDateTime = new TypoLocalDateTime(value.truncatedTo(ChronoUnit.MICROS)) def apply(str: String): TypoLocalDateTime = apply(LocalDateTime.parse(str, parser)) def now = TypoLocalDateTime(LocalDateTime.now) - implicit lazy val arrayGet: Get[Array[TypoLocalDateTime]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_timestamp")) + implicit lazy val arrayGet: Get[Array[TypoLocalDateTime]] = Get.Advanced.array[AnyRef](NonEmptyList.one("timestamp[]")) .map(_.map(v => TypoLocalDateTime(LocalDateTime.parse(v.asInstanceOf[String], parser)))) - implicit lazy val arrayPut: Put[Array[TypoLocalDateTime]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_timestamp"), "timestamp") + implicit lazy val arrayPut: Put[Array[TypoLocalDateTime]] = Put.Advanced.array[AnyRef](NonEmptyList.one("timestamp[]"), "timestamp") .contramap(_.map(v => v.value.toString)) implicit lazy val bijection: Bijection[TypoLocalDateTime, LocalDateTime] = Bijection[TypoLocalDateTime, LocalDateTime](_.value)(TypoLocalDateTime.apply) implicit lazy val decoder: Decoder[TypoLocalDateTime] = Decoder.decodeLocalDateTime.map(TypoLocalDateTime.apply) diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLocalTime.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLocalTime.scala index fbee60e010..68229608d1 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLocalTime.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoLocalTime.scala @@ -23,9 +23,9 @@ object TypoLocalTime { def apply(value: LocalTime): TypoLocalTime = new TypoLocalTime(value.truncatedTo(ChronoUnit.MICROS)) def apply(str: String): TypoLocalTime = apply(LocalTime.parse(str)) def now: TypoLocalTime = TypoLocalTime(LocalTime.now) - implicit lazy val arrayGet: Get[Array[TypoLocalTime]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_time")) + implicit lazy val arrayGet: Get[Array[TypoLocalTime]] = Get.Advanced.array[AnyRef](NonEmptyList.one("time[]")) .map(_.map(v => TypoLocalTime(LocalTime.parse(v.asInstanceOf[String])))) - implicit lazy val arrayPut: Put[Array[TypoLocalTime]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_time"), "time") + implicit lazy val arrayPut: Put[Array[TypoLocalTime]] = Put.Advanced.array[AnyRef](NonEmptyList.one("time[]"), "time") .contramap(_.map(v => v.value.toString)) implicit lazy val bijection: Bijection[TypoLocalTime, LocalTime] = Bijection[TypoLocalTime, LocalTime](_.value)(TypoLocalTime.apply) implicit lazy val decoder: Decoder[TypoLocalTime] = Decoder.decodeLocalTime.map(TypoLocalTime.apply) diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoMoney.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoMoney.scala index f4105f8a7d..672ccbdae8 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoMoney.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoMoney.scala @@ -18,9 +18,9 @@ import typo.dsl.Bijection case class TypoMoney(value: BigDecimal) object TypoMoney { - implicit lazy val arrayGet: Get[Array[TypoMoney]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_money")) + implicit lazy val arrayGet: Get[Array[TypoMoney]] = Get.Advanced.array[AnyRef](NonEmptyList.one("money[]")) .map(_.map(v => TypoMoney(BigDecimal(v.asInstanceOf[java.math.BigDecimal])))) - implicit lazy val arrayPut: Put[Array[TypoMoney]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_money"), "money") + implicit lazy val arrayPut: Put[Array[TypoMoney]] = Put.Advanced.array[AnyRef](NonEmptyList.one("money[]"), "money") .contramap(_.map(v => v.value.bigDecimal)) implicit lazy val bijection: Bijection[TypoMoney, BigDecimal] = Bijection[TypoMoney, BigDecimal](_.value)(TypoMoney.apply) implicit lazy val decoder: Decoder[TypoMoney] = Decoder.decodeBigDecimal.map(TypoMoney.apply) diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoOffsetTime.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoOffsetTime.scala index a7fc78b874..71fa330963 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoOffsetTime.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoOffsetTime.scala @@ -27,9 +27,9 @@ object TypoOffsetTime { def apply(value: OffsetTime): TypoOffsetTime = new TypoOffsetTime(value.truncatedTo(ChronoUnit.MICROS)) def apply(str: String): TypoOffsetTime = apply(OffsetTime.parse(str, parser)) def now = TypoOffsetTime(OffsetTime.now) - implicit lazy val arrayGet: Get[Array[TypoOffsetTime]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_timetz")) + implicit lazy val arrayGet: Get[Array[TypoOffsetTime]] = Get.Advanced.array[AnyRef](NonEmptyList.one("timetz[]")) .map(_.map(v => TypoOffsetTime(OffsetTime.parse(v.asInstanceOf[String], parser)))) - implicit lazy val arrayPut: Put[Array[TypoOffsetTime]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_timetz"), "timetz") + implicit lazy val arrayPut: Put[Array[TypoOffsetTime]] = Put.Advanced.array[AnyRef](NonEmptyList.one("timetz[]"), "timetz") .contramap(_.map(v => v.value.toString)) implicit lazy val bijection: Bijection[TypoOffsetTime, OffsetTime] = Bijection[TypoOffsetTime, OffsetTime](_.value)(TypoOffsetTime.apply) implicit lazy val decoder: Decoder[TypoOffsetTime] = Decoder.decodeOffsetTime.map(TypoOffsetTime.apply) diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoPath.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoPath.scala index 03cec7bef9..2fe0c11ade 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoPath.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoPath.scala @@ -19,9 +19,9 @@ import org.postgresql.geometric.PGpoint case class TypoPath(open: Boolean, points: List[TypoPoint]) object TypoPath { - implicit lazy val arrayGet: Get[Array[TypoPath]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_path")) + implicit lazy val arrayGet: Get[Array[TypoPath]] = Get.Advanced.array[AnyRef](NonEmptyList.one("path[]")) .map(_.map(v => TypoPath(v.asInstanceOf[PGpath].isOpen, v.asInstanceOf[PGpath].points.map(p => TypoPoint(p.x, p.y)).toList))) - implicit lazy val arrayPut: Put[Array[TypoPath]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_path"), "path") + implicit lazy val arrayPut: Put[Array[TypoPath]] = Put.Advanced.array[AnyRef](NonEmptyList.one("path[]"), "path") .contramap(_.map(v => new PGpath(v.points.map(p => new PGpoint(p.x, p.y)).toArray, v.open))) implicit lazy val decoder: Decoder[TypoPath] = Decoder.forProduct2[TypoPath, Boolean, List[TypoPoint]]("open", "points")(TypoPath.apply)(Decoder.decodeBoolean, Decoder[List[TypoPoint]]) implicit lazy val encoder: Encoder[TypoPath] = Encoder.forProduct2[TypoPath, Boolean, List[TypoPoint]]("open", "points")(x => (x.open, x.points))(Encoder.encodeBoolean, Encoder[List[TypoPoint]]) diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoPoint.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoPoint.scala index aaa27cf01e..d234a153e2 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoPoint.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoPoint.scala @@ -18,9 +18,9 @@ import org.postgresql.geometric.PGpoint case class TypoPoint(x: Double, y: Double) object TypoPoint { - implicit lazy val arrayGet: Get[Array[TypoPoint]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_point")) + implicit lazy val arrayGet: Get[Array[TypoPoint]] = Get.Advanced.array[AnyRef](NonEmptyList.one("point[]")) .map(_.map(v => TypoPoint(v.asInstanceOf[PGpoint].x, v.asInstanceOf[PGpoint].y))) - implicit lazy val arrayPut: Put[Array[TypoPoint]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_point"), "point") + implicit lazy val arrayPut: Put[Array[TypoPoint]] = Put.Advanced.array[AnyRef](NonEmptyList.one("point[]"), "point") .contramap(_.map(v => new PGpoint(v.x, v.y))) implicit lazy val decoder: Decoder[TypoPoint] = Decoder.forProduct2[TypoPoint, Double, Double]("x", "y")(TypoPoint.apply)(Decoder.decodeDouble, Decoder.decodeDouble) implicit lazy val encoder: Encoder[TypoPoint] = Encoder.forProduct2[TypoPoint, Double, Double]("x", "y")(x => (x.x, x.y))(Encoder.encodeDouble, Encoder.encodeDouble) diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoPolygon.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoPolygon.scala index 6dbbfd9aa4..bb7c106d2f 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoPolygon.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoPolygon.scala @@ -20,9 +20,9 @@ import typo.dsl.Bijection case class TypoPolygon(points: List[TypoPoint]) object TypoPolygon { - implicit lazy val arrayGet: Get[Array[TypoPolygon]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_polygon")) + implicit lazy val arrayGet: Get[Array[TypoPolygon]] = Get.Advanced.array[AnyRef](NonEmptyList.one("polygon[]")) .map(_.map(v => TypoPolygon(v.asInstanceOf[PGpolygon].points.map(p => TypoPoint(p.x, p.y)).toList))) - implicit lazy val arrayPut: Put[Array[TypoPolygon]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_polygon"), "polygon") + implicit lazy val arrayPut: Put[Array[TypoPolygon]] = Put.Advanced.array[AnyRef](NonEmptyList.one("polygon[]"), "polygon") .contramap(_.map(v => new PGpolygon(v.points.map(p => new PGpoint(p.x, p.y)).toArray))) implicit lazy val bijection: Bijection[TypoPolygon, List[TypoPoint]] = Bijection[TypoPolygon, List[TypoPoint]](_.points)(TypoPolygon.apply) implicit lazy val decoder: Decoder[TypoPolygon] = Decoder[List[TypoPoint]].map(TypoPolygon.apply) diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoRecord.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoRecord.scala index 7ceae4eb1e..cf3cd0a723 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoRecord.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoRecord.scala @@ -19,9 +19,9 @@ import typo.dsl.Bijection case class TypoRecord(value: String) object TypoRecord { - implicit lazy val arrayGet: Get[Array[TypoRecord]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_record")) + implicit lazy val arrayGet: Get[Array[TypoRecord]] = Get.Advanced.array[AnyRef](NonEmptyList.one("record[]")) .map(_.map(v => TypoRecord(v.asInstanceOf[PGobject].getValue))) - implicit lazy val arrayPut: Put[Array[TypoRecord]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_record"), "record") + implicit lazy val arrayPut: Put[Array[TypoRecord]] = Put.Advanced.array[AnyRef](NonEmptyList.one("record[]"), "record") .contramap(_.map(v => { val obj = new PGobject obj.setType("record") diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoShort.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoShort.scala index 7d07f52c0b..2ba2b606ba 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoShort.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoShort.scala @@ -31,9 +31,9 @@ object TypoShort { override def toDouble(x: TypoShort): Double = x.value.toDouble def parseString(str: String): Option[TypoShort] = str.toShortOption.map(TypoShort.apply) } - implicit lazy val arrayGet: Get[Array[TypoShort]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_int2")) + implicit lazy val arrayGet: Get[Array[TypoShort]] = Get.Advanced.array[AnyRef](NonEmptyList.one("int2[]")) .map(_.map(v => TypoShort(v.asInstanceOf[java.lang.Short]))) - implicit lazy val arrayPut: Put[Array[TypoShort]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_int2"), "int2") + implicit lazy val arrayPut: Put[Array[TypoShort]] = Put.Advanced.array[AnyRef](NonEmptyList.one("int2[]"), "int2") .contramap(_.map(v => v.value: java.lang.Short)) implicit lazy val bijection: Bijection[TypoShort, Short] = Bijection[TypoShort, Short](_.value)(TypoShort.apply) implicit lazy val decoder: Decoder[TypoShort] = Decoder[Short].map(TypoShort.apply) diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoUUID.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoUUID.scala index bc60b3f644..3708fe7478 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoUUID.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoUUID.scala @@ -21,9 +21,9 @@ case class TypoUUID(value: UUID) object TypoUUID { def apply(str: String): TypoUUID = TypoUUID(UUID.fromString(str)) def randomUUID: TypoUUID = TypoUUID(UUID.randomUUID()) - implicit lazy val arrayGet: Get[Array[TypoUUID]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_uuid")) + implicit lazy val arrayGet: Get[Array[TypoUUID]] = Get.Advanced.array[AnyRef](NonEmptyList.one("uuid[]")) .map(_.map(v => TypoUUID(v.asInstanceOf[UUID]))) - implicit lazy val arrayPut: Put[Array[TypoUUID]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_uuid"), "uuid") + implicit lazy val arrayPut: Put[Array[TypoUUID]] = Put.Advanced.array[AnyRef](NonEmptyList.one("uuid[]"), "uuid") .contramap(_.map(v => v.value)) implicit lazy val bijection: Bijection[TypoUUID, UUID] = Bijection[TypoUUID, UUID](_.value)(TypoUUID.apply) implicit lazy val decoder: Decoder[TypoUUID] = Decoder.decodeUUID.map(TypoUUID.apply) diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoUnknownCitext.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoUnknownCitext.scala index 1d8d860b21..713d265cf4 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoUnknownCitext.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoUnknownCitext.scala @@ -18,9 +18,9 @@ import typo.dsl.Bijection case class TypoUnknownCitext(value: String) object TypoUnknownCitext { - implicit lazy val arrayGet: Get[Array[TypoUnknownCitext]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_citext")) + implicit lazy val arrayGet: Get[Array[TypoUnknownCitext]] = Get.Advanced.array[AnyRef](NonEmptyList.one("citext[]")) .map(_.map(v => TypoUnknownCitext(v.asInstanceOf[String]))) - implicit lazy val arrayPut: Put[Array[TypoUnknownCitext]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_citext"), "citext") + implicit lazy val arrayPut: Put[Array[TypoUnknownCitext]] = Put.Advanced.array[AnyRef](NonEmptyList.one("citext[]"), "citext") .contramap(_.map(v => v.value)) implicit lazy val bijection: Bijection[TypoUnknownCitext, String] = Bijection[TypoUnknownCitext, String](_.value)(TypoUnknownCitext.apply) implicit lazy val decoder: Decoder[TypoUnknownCitext] = Decoder.decodeString.map(TypoUnknownCitext.apply) diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoXml.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoXml.scala index 797f8a0197..c7de56bc38 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoXml.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/customtypes/TypoXml.scala @@ -20,9 +20,9 @@ import typo.dsl.Bijection case class TypoXml(value: String) object TypoXml { - implicit lazy val arrayGet: Get[Array[TypoXml]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_xml")) + implicit lazy val arrayGet: Get[Array[TypoXml]] = Get.Advanced.array[AnyRef](NonEmptyList.one("xml[]")) .map(_.map(v => TypoXml(v.asInstanceOf[PGobject].getValue))) - implicit lazy val arrayPut: Put[Array[TypoXml]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_xml"), "xml") + implicit lazy val arrayPut: Put[Array[TypoXml]] = Put.Advanced.array[AnyRef](NonEmptyList.one("xml[]"), "xml") .contramap(_.map(v => { val obj = new PGobject obj.setType("xml") diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/public/Myenum.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/public/Myenum.scala index df44b97d56..5864795960 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/public/Myenum.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/public/Myenum.scala @@ -40,7 +40,7 @@ object Myenum { val ByName: Map[String, Myenum] = All.map(x => (x.value, x)).toMap implicit lazy val arrayGet: Get[Array[Myenum]] = adventureworks.StringArrayMeta.get.map(_.map(force)) - implicit lazy val arrayPut: Put[Array[Myenum]] = Put.Advanced.array[AnyRef](NonEmptyList.one("_public.myenum"), "public.myenum").contramap(_.map(_.value)) + implicit lazy val arrayPut: Put[Array[Myenum]] = Put.Advanced.array[AnyRef](NonEmptyList.one("public.myenum[]"), "public.myenum").contramap(_.map(_.value)) implicit lazy val decoder: Decoder[Myenum] = Decoder.decodeString.emap(Myenum.apply) implicit lazy val encoder: Encoder[Myenum] = Encoder.encodeString.contramap(_.value) implicit lazy val get: Get[Myenum] = Meta.StringMeta.get.temap(Myenum.apply) diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/public/pgtest/PgtestFields.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/public/pgtest/PgtestFields.scala index 9eac6a6a9c..8cca648df1 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/public/pgtest/PgtestFields.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/public/pgtest/PgtestFields.scala @@ -155,38 +155,38 @@ object PgtestFields { override def varchar = Field[String, PgtestRow](_path, "varchar", None, None, x => x.varchar, (row, value) => row.copy(varchar = value)) override def vector = Field[TypoVector, PgtestRow](_path, "vector", Some("float4[]"), Some("vector"), x => x.vector, (row, value) => row.copy(vector = value)) override def xml = Field[TypoXml, PgtestRow](_path, "xml", None, Some("xml"), x => x.xml, (row, value) => row.copy(xml = value)) - override def boxes = Field[Array[TypoBox], PgtestRow](_path, "boxes", None, Some("_box"), x => x.boxes, (row, value) => row.copy(boxes = value)) - override def bpchares = Field[Array[/* bpchar */ String], PgtestRow](_path, "bpchares", None, Some("_bpchar"), x => x.bpchares, (row, value) => row.copy(bpchares = value)) - override def chares = Field[Array[/* bpchar */ String], PgtestRow](_path, "chares", None, Some("_bpchar"), x => x.chares, (row, value) => row.copy(chares = value)) - override def circlees = Field[Array[TypoCircle], PgtestRow](_path, "circlees", None, Some("_circle"), x => x.circlees, (row, value) => row.copy(circlees = value)) - override def datees = Field[Array[TypoLocalDate], PgtestRow](_path, "datees", Some("text[]"), Some("_date"), x => x.datees, (row, value) => row.copy(datees = value)) - override def float4es = Field[Array[Float], PgtestRow](_path, "float4es", None, Some("_float4"), x => x.float4es, (row, value) => row.copy(float4es = value)) - override def float8es = Field[Array[Double], PgtestRow](_path, "float8es", None, Some("_float8"), x => x.float8es, (row, value) => row.copy(float8es = value)) - override def inetes = Field[Array[TypoInet], PgtestRow](_path, "inetes", None, Some("_inet"), x => x.inetes, (row, value) => row.copy(inetes = value)) - override def int2es = Field[Array[TypoShort], PgtestRow](_path, "int2es", None, Some("_int2"), x => x.int2es, (row, value) => row.copy(int2es = value)) - override def int2vectores = Field[Array[TypoInt2Vector], PgtestRow](_path, "int2vectores", None, Some("_int2vector"), x => x.int2vectores, (row, value) => row.copy(int2vectores = value)) - override def int4es = Field[Array[Int], PgtestRow](_path, "int4es", None, Some("_int4"), x => x.int4es, (row, value) => row.copy(int4es = value)) - override def int8es = Field[Array[Long], PgtestRow](_path, "int8es", None, Some("_int8"), x => x.int8es, (row, value) => row.copy(int8es = value)) - override def intervales = Field[Array[TypoInterval], PgtestRow](_path, "intervales", None, Some("_interval"), x => x.intervales, (row, value) => row.copy(intervales = value)) - override def jsones = Field[Array[TypoJson], PgtestRow](_path, "jsones", None, Some("_json"), x => x.jsones, (row, value) => row.copy(jsones = value)) - override def jsonbes = Field[Array[TypoJsonb], PgtestRow](_path, "jsonbes", None, Some("_jsonb"), x => x.jsonbes, (row, value) => row.copy(jsonbes = value)) - override def linees = Field[Array[TypoLine], PgtestRow](_path, "linees", None, Some("_line"), x => x.linees, (row, value) => row.copy(linees = value)) - override def lseges = Field[Array[TypoLineSegment], PgtestRow](_path, "lseges", None, Some("_lseg"), x => x.lseges, (row, value) => row.copy(lseges = value)) - override def moneyes = Field[Array[TypoMoney], PgtestRow](_path, "moneyes", Some("numeric[]"), Some("_money"), x => x.moneyes, (row, value) => row.copy(moneyes = value)) - override def myenumes = Field[Array[Myenum], PgtestRow](_path, "myenumes", None, Some("_myenum"), x => x.myenumes, (row, value) => row.copy(myenumes = value)) - override def namees = Field[Array[String], PgtestRow](_path, "namees", None, Some("_name"), x => x.namees, (row, value) => row.copy(namees = value)) - override def numerices = Field[Array[BigDecimal], PgtestRow](_path, "numerices", None, Some("_numeric"), x => x.numerices, (row, value) => row.copy(numerices = value)) - override def pathes = Field[Array[TypoPath], PgtestRow](_path, "pathes", None, Some("_path"), x => x.pathes, (row, value) => row.copy(pathes = value)) - override def pointes = Field[Array[TypoPoint], PgtestRow](_path, "pointes", None, Some("_point"), x => x.pointes, (row, value) => row.copy(pointes = value)) - override def polygones = Field[Array[TypoPolygon], PgtestRow](_path, "polygones", None, Some("_polygon"), x => x.polygones, (row, value) => row.copy(polygones = value)) - override def textes = Field[Array[String], PgtestRow](_path, "textes", None, Some("_text"), x => x.textes, (row, value) => row.copy(textes = value)) - override def timees = Field[Array[TypoLocalTime], PgtestRow](_path, "timees", Some("text[]"), Some("_time"), x => x.timees, (row, value) => row.copy(timees = value)) - override def timestampes = Field[Array[TypoLocalDateTime], PgtestRow](_path, "timestampes", Some("text[]"), Some("_timestamp"), x => x.timestampes, (row, value) => row.copy(timestampes = value)) - override def timestampzes = Field[Array[TypoInstant], PgtestRow](_path, "timestampzes", Some("text[]"), Some("_timestamptz"), x => x.timestampzes, (row, value) => row.copy(timestampzes = value)) - override def timezes = Field[Array[TypoOffsetTime], PgtestRow](_path, "timezes", Some("text[]"), Some("_timetz"), x => x.timezes, (row, value) => row.copy(timezes = value)) - override def uuides = Field[Array[TypoUUID], PgtestRow](_path, "uuides", None, Some("_uuid"), x => x.uuides, (row, value) => row.copy(uuides = value)) - override def varchares = Field[Array[String], PgtestRow](_path, "varchares", None, Some("_varchar"), x => x.varchares, (row, value) => row.copy(varchares = value)) - override def xmles = Field[Array[TypoXml], PgtestRow](_path, "xmles", None, Some("_xml"), x => x.xmles, (row, value) => row.copy(xmles = value)) + override def boxes = Field[Array[TypoBox], PgtestRow](_path, "boxes", None, Some("box[]"), x => x.boxes, (row, value) => row.copy(boxes = value)) + override def bpchares = Field[Array[/* bpchar */ String], PgtestRow](_path, "bpchares", None, Some("bpchar[]"), x => x.bpchares, (row, value) => row.copy(bpchares = value)) + override def chares = Field[Array[/* bpchar */ String], PgtestRow](_path, "chares", None, Some("bpchar[]"), x => x.chares, (row, value) => row.copy(chares = value)) + override def circlees = Field[Array[TypoCircle], PgtestRow](_path, "circlees", None, Some("circle[]"), x => x.circlees, (row, value) => row.copy(circlees = value)) + override def datees = Field[Array[TypoLocalDate], PgtestRow](_path, "datees", Some("text[]"), Some("date[]"), x => x.datees, (row, value) => row.copy(datees = value)) + override def float4es = Field[Array[Float], PgtestRow](_path, "float4es", None, Some("float4[]"), x => x.float4es, (row, value) => row.copy(float4es = value)) + override def float8es = Field[Array[Double], PgtestRow](_path, "float8es", None, Some("float8[]"), x => x.float8es, (row, value) => row.copy(float8es = value)) + override def inetes = Field[Array[TypoInet], PgtestRow](_path, "inetes", None, Some("inet[]"), x => x.inetes, (row, value) => row.copy(inetes = value)) + override def int2es = Field[Array[TypoShort], PgtestRow](_path, "int2es", None, Some("int2[]"), x => x.int2es, (row, value) => row.copy(int2es = value)) + override def int2vectores = Field[Array[TypoInt2Vector], PgtestRow](_path, "int2vectores", None, Some("int2vector[]"), x => x.int2vectores, (row, value) => row.copy(int2vectores = value)) + override def int4es = Field[Array[Int], PgtestRow](_path, "int4es", None, Some("int4[]"), x => x.int4es, (row, value) => row.copy(int4es = value)) + override def int8es = Field[Array[Long], PgtestRow](_path, "int8es", None, Some("int8[]"), x => x.int8es, (row, value) => row.copy(int8es = value)) + override def intervales = Field[Array[TypoInterval], PgtestRow](_path, "intervales", None, Some("interval[]"), x => x.intervales, (row, value) => row.copy(intervales = value)) + override def jsones = Field[Array[TypoJson], PgtestRow](_path, "jsones", None, Some("json[]"), x => x.jsones, (row, value) => row.copy(jsones = value)) + override def jsonbes = Field[Array[TypoJsonb], PgtestRow](_path, "jsonbes", None, Some("jsonb[]"), x => x.jsonbes, (row, value) => row.copy(jsonbes = value)) + override def linees = Field[Array[TypoLine], PgtestRow](_path, "linees", None, Some("line[]"), x => x.linees, (row, value) => row.copy(linees = value)) + override def lseges = Field[Array[TypoLineSegment], PgtestRow](_path, "lseges", None, Some("lseg[]"), x => x.lseges, (row, value) => row.copy(lseges = value)) + override def moneyes = Field[Array[TypoMoney], PgtestRow](_path, "moneyes", Some("numeric[]"), Some("money[]"), x => x.moneyes, (row, value) => row.copy(moneyes = value)) + override def myenumes = Field[Array[Myenum], PgtestRow](_path, "myenumes", None, Some("myenum[]"), x => x.myenumes, (row, value) => row.copy(myenumes = value)) + override def namees = Field[Array[String], PgtestRow](_path, "namees", None, Some("name[]"), x => x.namees, (row, value) => row.copy(namees = value)) + override def numerices = Field[Array[BigDecimal], PgtestRow](_path, "numerices", None, Some("numeric[]"), x => x.numerices, (row, value) => row.copy(numerices = value)) + override def pathes = Field[Array[TypoPath], PgtestRow](_path, "pathes", None, Some("path[]"), x => x.pathes, (row, value) => row.copy(pathes = value)) + override def pointes = Field[Array[TypoPoint], PgtestRow](_path, "pointes", None, Some("point[]"), x => x.pointes, (row, value) => row.copy(pointes = value)) + override def polygones = Field[Array[TypoPolygon], PgtestRow](_path, "polygones", None, Some("polygon[]"), x => x.polygones, (row, value) => row.copy(polygones = value)) + override def textes = Field[Array[String], PgtestRow](_path, "textes", None, Some("text[]"), x => x.textes, (row, value) => row.copy(textes = value)) + override def timees = Field[Array[TypoLocalTime], PgtestRow](_path, "timees", Some("text[]"), Some("time[]"), x => x.timees, (row, value) => row.copy(timees = value)) + override def timestampes = Field[Array[TypoLocalDateTime], PgtestRow](_path, "timestampes", Some("text[]"), Some("timestamp[]"), x => x.timestampes, (row, value) => row.copy(timestampes = value)) + override def timestampzes = Field[Array[TypoInstant], PgtestRow](_path, "timestampzes", Some("text[]"), Some("timestamptz[]"), x => x.timestampzes, (row, value) => row.copy(timestampzes = value)) + override def timezes = Field[Array[TypoOffsetTime], PgtestRow](_path, "timezes", Some("text[]"), Some("timetz[]"), x => x.timezes, (row, value) => row.copy(timezes = value)) + override def uuides = Field[Array[TypoUUID], PgtestRow](_path, "uuides", None, Some("uuid[]"), x => x.uuides, (row, value) => row.copy(uuides = value)) + override def varchares = Field[Array[String], PgtestRow](_path, "varchares", None, Some("varchar[]"), x => x.varchares, (row, value) => row.copy(varchares = value)) + override def xmles = Field[Array[TypoXml], PgtestRow](_path, "xmles", None, Some("xml[]"), x => x.xmles, (row, value) => row.copy(xmles = value)) } override lazy val columns: List[FieldLikeNoHkt[?, PgtestRow]] = diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/public/pgtest/PgtestRepoImpl.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/public/pgtest/PgtestRepoImpl.scala index 648b190ce6..f07683e9a3 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/public/pgtest/PgtestRepoImpl.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/public/pgtest/PgtestRepoImpl.scala @@ -51,7 +51,7 @@ class PgtestRepoImpl extends PgtestRepo { } override def insert(unsaved: PgtestRow): ConnectionIO[PgtestRow] = { sql"""insert into public.pgtest("bool", "box", "bpchar", "bytea", "char", "circle", "date", "float4", "float8", "hstore", "inet", "int2", "int2vector", "int4", "int8", "interval", "json", "jsonb", "line", "lseg", "money", "mydomain", "myenum", "name", "numeric", "path", "point", "polygon", "text", "time", "timestamp", "timestampz", "timez", "uuid", "varchar", "vector", "xml", "boxes", "bpchares", "chares", "circlees", "datees", "float4es", "float8es", "inetes", "int2es", "int2vectores", "int4es", "int8es", "intervales", "jsones", "jsonbes", "linees", "lseges", "moneyes", "myenumes", "namees", "numerices", "pathes", "pointes", "polygones", "textes", "timees", "timestampes", "timestampzes", "timezes", "uuides", "varchares", "xmles") - values (${fromWrite(unsaved.bool)(Write.fromPut(Meta.BooleanMeta.put))}, ${fromWrite(unsaved.box)(Write.fromPut(TypoBox.put))}::box, ${fromWrite(unsaved.bpchar)(Write.fromPut(Meta.StringMeta.put))}::bpchar, ${fromWrite(unsaved.bytea)(Write.fromPut(TypoBytea.put))}::bytea, ${fromWrite(unsaved.char)(Write.fromPut(Meta.StringMeta.put))}::bpchar, ${fromWrite(unsaved.circle)(Write.fromPut(TypoCircle.put))}::circle, ${fromWrite(unsaved.date)(Write.fromPut(TypoLocalDate.put))}::date, ${fromWrite(unsaved.float4)(Write.fromPut(Meta.FloatMeta.put))}::float4, ${fromWrite(unsaved.float8)(Write.fromPut(Meta.DoubleMeta.put))}::float8, ${fromWrite(unsaved.hstore)(Write.fromPut(TypoHStore.put))}::hstore, ${fromWrite(unsaved.inet)(Write.fromPut(TypoInet.put))}::inet, ${fromWrite(unsaved.int2)(Write.fromPut(TypoShort.put))}::int2, ${fromWrite(unsaved.int2vector)(Write.fromPut(TypoInt2Vector.put))}::int2vector, ${fromWrite(unsaved.int4)(Write.fromPut(Meta.IntMeta.put))}::int4, ${fromWrite(unsaved.int8)(Write.fromPut(Meta.LongMeta.put))}::int8, ${fromWrite(unsaved.interval)(Write.fromPut(TypoInterval.put))}::interval, ${fromWrite(unsaved.json)(Write.fromPut(TypoJson.put))}::json, ${fromWrite(unsaved.jsonb)(Write.fromPut(TypoJsonb.put))}::jsonb, ${fromWrite(unsaved.line)(Write.fromPut(TypoLine.put))}::line, ${fromWrite(unsaved.lseg)(Write.fromPut(TypoLineSegment.put))}::lseg, ${fromWrite(unsaved.money)(Write.fromPut(TypoMoney.put))}::money, ${fromWrite(unsaved.mydomain)(Write.fromPut(Mydomain.put))}::text, ${fromWrite(unsaved.myenum)(Write.fromPut(Myenum.put))}::public.myenum, ${fromWrite(unsaved.name)(Write.fromPut(Meta.StringMeta.put))}::name, ${fromWrite(unsaved.numeric)(Write.fromPut(Meta.ScalaBigDecimalMeta.put))}::numeric, ${fromWrite(unsaved.path)(Write.fromPut(TypoPath.put))}::path, ${fromWrite(unsaved.point)(Write.fromPut(TypoPoint.put))}::point, ${fromWrite(unsaved.polygon)(Write.fromPut(TypoPolygon.put))}::polygon, ${fromWrite(unsaved.text)(Write.fromPut(Meta.StringMeta.put))}, ${fromWrite(unsaved.time)(Write.fromPut(TypoLocalTime.put))}::time, ${fromWrite(unsaved.timestamp)(Write.fromPut(TypoLocalDateTime.put))}::timestamp, ${fromWrite(unsaved.timestampz)(Write.fromPut(TypoInstant.put))}::timestamptz, ${fromWrite(unsaved.timez)(Write.fromPut(TypoOffsetTime.put))}::timetz, ${fromWrite(unsaved.uuid)(Write.fromPut(TypoUUID.put))}::uuid, ${fromWrite(unsaved.varchar)(Write.fromPut(Meta.StringMeta.put))}, ${fromWrite(unsaved.vector)(Write.fromPut(TypoVector.put))}::vector, ${fromWrite(unsaved.xml)(Write.fromPut(TypoXml.put))}::xml, ${fromWrite(unsaved.boxes)(Write.fromPut(TypoBox.arrayPut))}::_box, ${fromWrite(unsaved.bpchares)(Write.fromPut(adventureworks.StringArrayMeta.put))}::_bpchar, ${fromWrite(unsaved.chares)(Write.fromPut(adventureworks.StringArrayMeta.put))}::_bpchar, ${fromWrite(unsaved.circlees)(Write.fromPut(TypoCircle.arrayPut))}::_circle, ${fromWrite(unsaved.datees)(Write.fromPut(TypoLocalDate.arrayPut))}::_date, ${fromWrite(unsaved.float4es)(Write.fromPut(adventureworks.FloatArrayMeta.put))}::_float4, ${fromWrite(unsaved.float8es)(Write.fromPut(adventureworks.DoubleArrayMeta.put))}::_float8, ${fromWrite(unsaved.inetes)(Write.fromPut(TypoInet.arrayPut))}::_inet, ${fromWrite(unsaved.int2es)(Write.fromPut(TypoShort.arrayPut))}::_int2, ${fromWrite(unsaved.int2vectores)(Write.fromPut(TypoInt2Vector.arrayPut))}::_int2vector, ${fromWrite(unsaved.int4es)(Write.fromPut(adventureworks.IntegerArrayMeta.put))}::_int4, ${fromWrite(unsaved.int8es)(Write.fromPut(adventureworks.LongArrayMeta.put))}::_int8, ${fromWrite(unsaved.intervales)(Write.fromPut(TypoInterval.arrayPut))}::_interval, ${fromWrite(unsaved.jsones)(Write.fromPut(TypoJson.arrayPut))}::_json, ${fromWrite(unsaved.jsonbes)(Write.fromPut(TypoJsonb.arrayPut))}::_jsonb, ${fromWrite(unsaved.linees)(Write.fromPut(TypoLine.arrayPut))}::_line, ${fromWrite(unsaved.lseges)(Write.fromPut(TypoLineSegment.arrayPut))}::_lseg, ${fromWrite(unsaved.moneyes)(Write.fromPut(TypoMoney.arrayPut))}::_money, ${fromWrite(unsaved.myenumes)(Write.fromPut(Myenum.arrayPut))}::_myenum, ${fromWrite(unsaved.namees)(Write.fromPut(adventureworks.StringArrayMeta.put))}::_name, ${fromWrite(unsaved.numerices)(Write.fromPut(adventureworks.BigDecimalMeta.put))}::_numeric, ${fromWrite(unsaved.pathes)(Write.fromPut(TypoPath.arrayPut))}::_path, ${fromWrite(unsaved.pointes)(Write.fromPut(TypoPoint.arrayPut))}::_point, ${fromWrite(unsaved.polygones)(Write.fromPut(TypoPolygon.arrayPut))}::_polygon, ${fromWrite(unsaved.textes)(Write.fromPut(adventureworks.StringArrayMeta.put))}::_text, ${fromWrite(unsaved.timees)(Write.fromPut(TypoLocalTime.arrayPut))}::_time, ${fromWrite(unsaved.timestampes)(Write.fromPut(TypoLocalDateTime.arrayPut))}::_timestamp, ${fromWrite(unsaved.timestampzes)(Write.fromPut(TypoInstant.arrayPut))}::_timestamptz, ${fromWrite(unsaved.timezes)(Write.fromPut(TypoOffsetTime.arrayPut))}::_timetz, ${fromWrite(unsaved.uuides)(Write.fromPut(TypoUUID.arrayPut))}::_uuid, ${fromWrite(unsaved.varchares)(Write.fromPut(adventureworks.StringArrayMeta.put))}::_varchar, ${fromWrite(unsaved.xmles)(Write.fromPut(TypoXml.arrayPut))}::_xml) + values (${fromWrite(unsaved.bool)(Write.fromPut(Meta.BooleanMeta.put))}, ${fromWrite(unsaved.box)(Write.fromPut(TypoBox.put))}::box, ${fromWrite(unsaved.bpchar)(Write.fromPut(Meta.StringMeta.put))}::bpchar, ${fromWrite(unsaved.bytea)(Write.fromPut(TypoBytea.put))}::bytea, ${fromWrite(unsaved.char)(Write.fromPut(Meta.StringMeta.put))}::bpchar, ${fromWrite(unsaved.circle)(Write.fromPut(TypoCircle.put))}::circle, ${fromWrite(unsaved.date)(Write.fromPut(TypoLocalDate.put))}::date, ${fromWrite(unsaved.float4)(Write.fromPut(Meta.FloatMeta.put))}::float4, ${fromWrite(unsaved.float8)(Write.fromPut(Meta.DoubleMeta.put))}::float8, ${fromWrite(unsaved.hstore)(Write.fromPut(TypoHStore.put))}::hstore, ${fromWrite(unsaved.inet)(Write.fromPut(TypoInet.put))}::inet, ${fromWrite(unsaved.int2)(Write.fromPut(TypoShort.put))}::int2, ${fromWrite(unsaved.int2vector)(Write.fromPut(TypoInt2Vector.put))}::int2vector, ${fromWrite(unsaved.int4)(Write.fromPut(Meta.IntMeta.put))}::int4, ${fromWrite(unsaved.int8)(Write.fromPut(Meta.LongMeta.put))}::int8, ${fromWrite(unsaved.interval)(Write.fromPut(TypoInterval.put))}::interval, ${fromWrite(unsaved.json)(Write.fromPut(TypoJson.put))}::json, ${fromWrite(unsaved.jsonb)(Write.fromPut(TypoJsonb.put))}::jsonb, ${fromWrite(unsaved.line)(Write.fromPut(TypoLine.put))}::line, ${fromWrite(unsaved.lseg)(Write.fromPut(TypoLineSegment.put))}::lseg, ${fromWrite(unsaved.money)(Write.fromPut(TypoMoney.put))}::money, ${fromWrite(unsaved.mydomain)(Write.fromPut(Mydomain.put))}::text, ${fromWrite(unsaved.myenum)(Write.fromPut(Myenum.put))}::public.myenum, ${fromWrite(unsaved.name)(Write.fromPut(Meta.StringMeta.put))}::name, ${fromWrite(unsaved.numeric)(Write.fromPut(Meta.ScalaBigDecimalMeta.put))}::numeric, ${fromWrite(unsaved.path)(Write.fromPut(TypoPath.put))}::path, ${fromWrite(unsaved.point)(Write.fromPut(TypoPoint.put))}::point, ${fromWrite(unsaved.polygon)(Write.fromPut(TypoPolygon.put))}::polygon, ${fromWrite(unsaved.text)(Write.fromPut(Meta.StringMeta.put))}, ${fromWrite(unsaved.time)(Write.fromPut(TypoLocalTime.put))}::time, ${fromWrite(unsaved.timestamp)(Write.fromPut(TypoLocalDateTime.put))}::timestamp, ${fromWrite(unsaved.timestampz)(Write.fromPut(TypoInstant.put))}::timestamptz, ${fromWrite(unsaved.timez)(Write.fromPut(TypoOffsetTime.put))}::timetz, ${fromWrite(unsaved.uuid)(Write.fromPut(TypoUUID.put))}::uuid, ${fromWrite(unsaved.varchar)(Write.fromPut(Meta.StringMeta.put))}, ${fromWrite(unsaved.vector)(Write.fromPut(TypoVector.put))}::vector, ${fromWrite(unsaved.xml)(Write.fromPut(TypoXml.put))}::xml, ${fromWrite(unsaved.boxes)(Write.fromPut(TypoBox.arrayPut))}::box[], ${fromWrite(unsaved.bpchares)(Write.fromPut(adventureworks.StringArrayMeta.put))}::bpchar[], ${fromWrite(unsaved.chares)(Write.fromPut(adventureworks.StringArrayMeta.put))}::bpchar[], ${fromWrite(unsaved.circlees)(Write.fromPut(TypoCircle.arrayPut))}::circle[], ${fromWrite(unsaved.datees)(Write.fromPut(TypoLocalDate.arrayPut))}::date[], ${fromWrite(unsaved.float4es)(Write.fromPut(adventureworks.FloatArrayMeta.put))}::float4[], ${fromWrite(unsaved.float8es)(Write.fromPut(adventureworks.DoubleArrayMeta.put))}::float8[], ${fromWrite(unsaved.inetes)(Write.fromPut(TypoInet.arrayPut))}::inet[], ${fromWrite(unsaved.int2es)(Write.fromPut(TypoShort.arrayPut))}::int2[], ${fromWrite(unsaved.int2vectores)(Write.fromPut(TypoInt2Vector.arrayPut))}::int2vector[], ${fromWrite(unsaved.int4es)(Write.fromPut(adventureworks.IntegerArrayMeta.put))}::int4[], ${fromWrite(unsaved.int8es)(Write.fromPut(adventureworks.LongArrayMeta.put))}::int8[], ${fromWrite(unsaved.intervales)(Write.fromPut(TypoInterval.arrayPut))}::interval[], ${fromWrite(unsaved.jsones)(Write.fromPut(TypoJson.arrayPut))}::json[], ${fromWrite(unsaved.jsonbes)(Write.fromPut(TypoJsonb.arrayPut))}::jsonb[], ${fromWrite(unsaved.linees)(Write.fromPut(TypoLine.arrayPut))}::line[], ${fromWrite(unsaved.lseges)(Write.fromPut(TypoLineSegment.arrayPut))}::lseg[], ${fromWrite(unsaved.moneyes)(Write.fromPut(TypoMoney.arrayPut))}::money[], ${fromWrite(unsaved.myenumes)(Write.fromPut(Myenum.arrayPut))}::myenum[], ${fromWrite(unsaved.namees)(Write.fromPut(adventureworks.StringArrayMeta.put))}::name[], ${fromWrite(unsaved.numerices)(Write.fromPut(adventureworks.BigDecimalMeta.put))}::numeric[], ${fromWrite(unsaved.pathes)(Write.fromPut(TypoPath.arrayPut))}::path[], ${fromWrite(unsaved.pointes)(Write.fromPut(TypoPoint.arrayPut))}::point[], ${fromWrite(unsaved.polygones)(Write.fromPut(TypoPolygon.arrayPut))}::polygon[], ${fromWrite(unsaved.textes)(Write.fromPut(adventureworks.StringArrayMeta.put))}::text[], ${fromWrite(unsaved.timees)(Write.fromPut(TypoLocalTime.arrayPut))}::time[], ${fromWrite(unsaved.timestampes)(Write.fromPut(TypoLocalDateTime.arrayPut))}::timestamp[], ${fromWrite(unsaved.timestampzes)(Write.fromPut(TypoInstant.arrayPut))}::timestamptz[], ${fromWrite(unsaved.timezes)(Write.fromPut(TypoOffsetTime.arrayPut))}::timetz[], ${fromWrite(unsaved.uuides)(Write.fromPut(TypoUUID.arrayPut))}::uuid[], ${fromWrite(unsaved.varchares)(Write.fromPut(adventureworks.StringArrayMeta.put))}::varchar[], ${fromWrite(unsaved.xmles)(Write.fromPut(TypoXml.arrayPut))}::xml[]) returning "bool", "box", "bpchar", "bytea", "char", "circle", "date"::text, "float4", "float8", "hstore", "inet", "int2", "int2vector", "int4", "int8", "interval", "json", "jsonb", "line", "lseg", "money"::numeric, "mydomain", "myenum", "name", "numeric", "path", "point", "polygon", "text", "time"::text, "timestamp"::text, "timestampz"::text, "timez"::text, "uuid", "varchar", "vector"::float4[], "xml", "boxes", "bpchares", "chares", "circlees", "datees"::text[], "float4es", "float8es", "inetes", "int2es", "int2vectores", "int4es", "int8es", "intervales", "jsones", "jsonbes", "linees", "lseges", "moneyes"::numeric[], "myenumes", "namees", "numerices", "pathes", "pointes", "polygones", "textes", "timees"::text[], "timestampes"::text[], "timestampzes"::text[], "timezes"::text[], "uuides", "varchares", "xmles" """.query(using PgtestRow.read).unique } diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullFields.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullFields.scala index 43258f8e24..cc5cbf7653 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullFields.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullFields.scala @@ -155,38 +155,38 @@ object PgtestnullFields { override def varchar = OptField[String, PgtestnullRow](_path, "varchar", None, None, x => x.varchar, (row, value) => row.copy(varchar = value)) override def vector = OptField[TypoVector, PgtestnullRow](_path, "vector", Some("float4[]"), Some("vector"), x => x.vector, (row, value) => row.copy(vector = value)) override def xml = OptField[TypoXml, PgtestnullRow](_path, "xml", None, Some("xml"), x => x.xml, (row, value) => row.copy(xml = value)) - override def boxes = OptField[Array[TypoBox], PgtestnullRow](_path, "boxes", None, Some("_box"), x => x.boxes, (row, value) => row.copy(boxes = value)) - override def bpchares = OptField[Array[/* bpchar */ String], PgtestnullRow](_path, "bpchares", None, Some("_bpchar"), x => x.bpchares, (row, value) => row.copy(bpchares = value)) - override def chares = OptField[Array[/* bpchar */ String], PgtestnullRow](_path, "chares", None, Some("_bpchar"), x => x.chares, (row, value) => row.copy(chares = value)) - override def circlees = OptField[Array[TypoCircle], PgtestnullRow](_path, "circlees", None, Some("_circle"), x => x.circlees, (row, value) => row.copy(circlees = value)) - override def datees = OptField[Array[TypoLocalDate], PgtestnullRow](_path, "datees", Some("text[]"), Some("_date"), x => x.datees, (row, value) => row.copy(datees = value)) - override def float4es = OptField[Array[Float], PgtestnullRow](_path, "float4es", None, Some("_float4"), x => x.float4es, (row, value) => row.copy(float4es = value)) - override def float8es = OptField[Array[Double], PgtestnullRow](_path, "float8es", None, Some("_float8"), x => x.float8es, (row, value) => row.copy(float8es = value)) - override def inetes = OptField[Array[TypoInet], PgtestnullRow](_path, "inetes", None, Some("_inet"), x => x.inetes, (row, value) => row.copy(inetes = value)) - override def int2es = OptField[Array[TypoShort], PgtestnullRow](_path, "int2es", None, Some("_int2"), x => x.int2es, (row, value) => row.copy(int2es = value)) - override def int2vectores = OptField[Array[TypoInt2Vector], PgtestnullRow](_path, "int2vectores", None, Some("_int2vector"), x => x.int2vectores, (row, value) => row.copy(int2vectores = value)) - override def int4es = OptField[Array[Int], PgtestnullRow](_path, "int4es", None, Some("_int4"), x => x.int4es, (row, value) => row.copy(int4es = value)) - override def int8es = OptField[Array[Long], PgtestnullRow](_path, "int8es", None, Some("_int8"), x => x.int8es, (row, value) => row.copy(int8es = value)) - override def intervales = OptField[Array[TypoInterval], PgtestnullRow](_path, "intervales", None, Some("_interval"), x => x.intervales, (row, value) => row.copy(intervales = value)) - override def jsones = OptField[Array[TypoJson], PgtestnullRow](_path, "jsones", None, Some("_json"), x => x.jsones, (row, value) => row.copy(jsones = value)) - override def jsonbes = OptField[Array[TypoJsonb], PgtestnullRow](_path, "jsonbes", None, Some("_jsonb"), x => x.jsonbes, (row, value) => row.copy(jsonbes = value)) - override def linees = OptField[Array[TypoLine], PgtestnullRow](_path, "linees", None, Some("_line"), x => x.linees, (row, value) => row.copy(linees = value)) - override def lseges = OptField[Array[TypoLineSegment], PgtestnullRow](_path, "lseges", None, Some("_lseg"), x => x.lseges, (row, value) => row.copy(lseges = value)) - override def moneyes = OptField[Array[TypoMoney], PgtestnullRow](_path, "moneyes", Some("numeric[]"), Some("_money"), x => x.moneyes, (row, value) => row.copy(moneyes = value)) - override def myenumes = OptField[Array[Myenum], PgtestnullRow](_path, "myenumes", None, Some("_myenum"), x => x.myenumes, (row, value) => row.copy(myenumes = value)) - override def namees = OptField[Array[String], PgtestnullRow](_path, "namees", None, Some("_name"), x => x.namees, (row, value) => row.copy(namees = value)) - override def numerices = OptField[Array[BigDecimal], PgtestnullRow](_path, "numerices", None, Some("_numeric"), x => x.numerices, (row, value) => row.copy(numerices = value)) - override def pathes = OptField[Array[TypoPath], PgtestnullRow](_path, "pathes", None, Some("_path"), x => x.pathes, (row, value) => row.copy(pathes = value)) - override def pointes = OptField[Array[TypoPoint], PgtestnullRow](_path, "pointes", None, Some("_point"), x => x.pointes, (row, value) => row.copy(pointes = value)) - override def polygones = OptField[Array[TypoPolygon], PgtestnullRow](_path, "polygones", None, Some("_polygon"), x => x.polygones, (row, value) => row.copy(polygones = value)) - override def textes = OptField[Array[String], PgtestnullRow](_path, "textes", None, Some("_text"), x => x.textes, (row, value) => row.copy(textes = value)) - override def timees = OptField[Array[TypoLocalTime], PgtestnullRow](_path, "timees", Some("text[]"), Some("_time"), x => x.timees, (row, value) => row.copy(timees = value)) - override def timestampes = OptField[Array[TypoLocalDateTime], PgtestnullRow](_path, "timestampes", Some("text[]"), Some("_timestamp"), x => x.timestampes, (row, value) => row.copy(timestampes = value)) - override def timestampzes = OptField[Array[TypoInstant], PgtestnullRow](_path, "timestampzes", Some("text[]"), Some("_timestamptz"), x => x.timestampzes, (row, value) => row.copy(timestampzes = value)) - override def timezes = OptField[Array[TypoOffsetTime], PgtestnullRow](_path, "timezes", Some("text[]"), Some("_timetz"), x => x.timezes, (row, value) => row.copy(timezes = value)) - override def uuides = OptField[Array[TypoUUID], PgtestnullRow](_path, "uuides", None, Some("_uuid"), x => x.uuides, (row, value) => row.copy(uuides = value)) - override def varchares = OptField[Array[String], PgtestnullRow](_path, "varchares", None, Some("_varchar"), x => x.varchares, (row, value) => row.copy(varchares = value)) - override def xmles = OptField[Array[TypoXml], PgtestnullRow](_path, "xmles", None, Some("_xml"), x => x.xmles, (row, value) => row.copy(xmles = value)) + override def boxes = OptField[Array[TypoBox], PgtestnullRow](_path, "boxes", None, Some("box[]"), x => x.boxes, (row, value) => row.copy(boxes = value)) + override def bpchares = OptField[Array[/* bpchar */ String], PgtestnullRow](_path, "bpchares", None, Some("bpchar[]"), x => x.bpchares, (row, value) => row.copy(bpchares = value)) + override def chares = OptField[Array[/* bpchar */ String], PgtestnullRow](_path, "chares", None, Some("bpchar[]"), x => x.chares, (row, value) => row.copy(chares = value)) + override def circlees = OptField[Array[TypoCircle], PgtestnullRow](_path, "circlees", None, Some("circle[]"), x => x.circlees, (row, value) => row.copy(circlees = value)) + override def datees = OptField[Array[TypoLocalDate], PgtestnullRow](_path, "datees", Some("text[]"), Some("date[]"), x => x.datees, (row, value) => row.copy(datees = value)) + override def float4es = OptField[Array[Float], PgtestnullRow](_path, "float4es", None, Some("float4[]"), x => x.float4es, (row, value) => row.copy(float4es = value)) + override def float8es = OptField[Array[Double], PgtestnullRow](_path, "float8es", None, Some("float8[]"), x => x.float8es, (row, value) => row.copy(float8es = value)) + override def inetes = OptField[Array[TypoInet], PgtestnullRow](_path, "inetes", None, Some("inet[]"), x => x.inetes, (row, value) => row.copy(inetes = value)) + override def int2es = OptField[Array[TypoShort], PgtestnullRow](_path, "int2es", None, Some("int2[]"), x => x.int2es, (row, value) => row.copy(int2es = value)) + override def int2vectores = OptField[Array[TypoInt2Vector], PgtestnullRow](_path, "int2vectores", None, Some("int2vector[]"), x => x.int2vectores, (row, value) => row.copy(int2vectores = value)) + override def int4es = OptField[Array[Int], PgtestnullRow](_path, "int4es", None, Some("int4[]"), x => x.int4es, (row, value) => row.copy(int4es = value)) + override def int8es = OptField[Array[Long], PgtestnullRow](_path, "int8es", None, Some("int8[]"), x => x.int8es, (row, value) => row.copy(int8es = value)) + override def intervales = OptField[Array[TypoInterval], PgtestnullRow](_path, "intervales", None, Some("interval[]"), x => x.intervales, (row, value) => row.copy(intervales = value)) + override def jsones = OptField[Array[TypoJson], PgtestnullRow](_path, "jsones", None, Some("json[]"), x => x.jsones, (row, value) => row.copy(jsones = value)) + override def jsonbes = OptField[Array[TypoJsonb], PgtestnullRow](_path, "jsonbes", None, Some("jsonb[]"), x => x.jsonbes, (row, value) => row.copy(jsonbes = value)) + override def linees = OptField[Array[TypoLine], PgtestnullRow](_path, "linees", None, Some("line[]"), x => x.linees, (row, value) => row.copy(linees = value)) + override def lseges = OptField[Array[TypoLineSegment], PgtestnullRow](_path, "lseges", None, Some("lseg[]"), x => x.lseges, (row, value) => row.copy(lseges = value)) + override def moneyes = OptField[Array[TypoMoney], PgtestnullRow](_path, "moneyes", Some("numeric[]"), Some("money[]"), x => x.moneyes, (row, value) => row.copy(moneyes = value)) + override def myenumes = OptField[Array[Myenum], PgtestnullRow](_path, "myenumes", None, Some("myenum[]"), x => x.myenumes, (row, value) => row.copy(myenumes = value)) + override def namees = OptField[Array[String], PgtestnullRow](_path, "namees", None, Some("name[]"), x => x.namees, (row, value) => row.copy(namees = value)) + override def numerices = OptField[Array[BigDecimal], PgtestnullRow](_path, "numerices", None, Some("numeric[]"), x => x.numerices, (row, value) => row.copy(numerices = value)) + override def pathes = OptField[Array[TypoPath], PgtestnullRow](_path, "pathes", None, Some("path[]"), x => x.pathes, (row, value) => row.copy(pathes = value)) + override def pointes = OptField[Array[TypoPoint], PgtestnullRow](_path, "pointes", None, Some("point[]"), x => x.pointes, (row, value) => row.copy(pointes = value)) + override def polygones = OptField[Array[TypoPolygon], PgtestnullRow](_path, "polygones", None, Some("polygon[]"), x => x.polygones, (row, value) => row.copy(polygones = value)) + override def textes = OptField[Array[String], PgtestnullRow](_path, "textes", None, Some("text[]"), x => x.textes, (row, value) => row.copy(textes = value)) + override def timees = OptField[Array[TypoLocalTime], PgtestnullRow](_path, "timees", Some("text[]"), Some("time[]"), x => x.timees, (row, value) => row.copy(timees = value)) + override def timestampes = OptField[Array[TypoLocalDateTime], PgtestnullRow](_path, "timestampes", Some("text[]"), Some("timestamp[]"), x => x.timestampes, (row, value) => row.copy(timestampes = value)) + override def timestampzes = OptField[Array[TypoInstant], PgtestnullRow](_path, "timestampzes", Some("text[]"), Some("timestamptz[]"), x => x.timestampzes, (row, value) => row.copy(timestampzes = value)) + override def timezes = OptField[Array[TypoOffsetTime], PgtestnullRow](_path, "timezes", Some("text[]"), Some("timetz[]"), x => x.timezes, (row, value) => row.copy(timezes = value)) + override def uuides = OptField[Array[TypoUUID], PgtestnullRow](_path, "uuides", None, Some("uuid[]"), x => x.uuides, (row, value) => row.copy(uuides = value)) + override def varchares = OptField[Array[String], PgtestnullRow](_path, "varchares", None, Some("varchar[]"), x => x.varchares, (row, value) => row.copy(varchares = value)) + override def xmles = OptField[Array[TypoXml], PgtestnullRow](_path, "xmles", None, Some("xml[]"), x => x.xmles, (row, value) => row.copy(xmles = value)) } override lazy val columns: List[FieldLikeNoHkt[?, PgtestnullRow]] = diff --git a/typo-tester-doobie/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullRepoImpl.scala b/typo-tester-doobie/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullRepoImpl.scala index 38cfecbc81..9a0587f6b1 100644 --- a/typo-tester-doobie/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullRepoImpl.scala +++ b/typo-tester-doobie/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullRepoImpl.scala @@ -51,7 +51,7 @@ class PgtestnullRepoImpl extends PgtestnullRepo { } override def insert(unsaved: PgtestnullRow): ConnectionIO[PgtestnullRow] = { sql"""insert into public.pgtestnull("bool", "box", "bpchar", "bytea", "char", "circle", "date", "float4", "float8", "hstore", "inet", "int2", "int2vector", "int4", "int8", "interval", "json", "jsonb", "line", "lseg", "money", "mydomain", "myenum", "name", "numeric", "path", "point", "polygon", "text", "time", "timestamp", "timestampz", "timez", "uuid", "varchar", "vector", "xml", "boxes", "bpchares", "chares", "circlees", "datees", "float4es", "float8es", "inetes", "int2es", "int2vectores", "int4es", "int8es", "intervales", "jsones", "jsonbes", "linees", "lseges", "moneyes", "myenumes", "namees", "numerices", "pathes", "pointes", "polygones", "textes", "timees", "timestampes", "timestampzes", "timezes", "uuides", "varchares", "xmles") - values (${fromWrite(unsaved.bool)(Write.fromPutOption(Meta.BooleanMeta.put))}, ${fromWrite(unsaved.box)(Write.fromPutOption(TypoBox.put))}::box, ${fromWrite(unsaved.bpchar)(Write.fromPutOption(Meta.StringMeta.put))}::bpchar, ${fromWrite(unsaved.bytea)(Write.fromPutOption(TypoBytea.put))}::bytea, ${fromWrite(unsaved.char)(Write.fromPutOption(Meta.StringMeta.put))}::bpchar, ${fromWrite(unsaved.circle)(Write.fromPutOption(TypoCircle.put))}::circle, ${fromWrite(unsaved.date)(Write.fromPutOption(TypoLocalDate.put))}::date, ${fromWrite(unsaved.float4)(Write.fromPutOption(Meta.FloatMeta.put))}::float4, ${fromWrite(unsaved.float8)(Write.fromPutOption(Meta.DoubleMeta.put))}::float8, ${fromWrite(unsaved.hstore)(Write.fromPutOption(TypoHStore.put))}::hstore, ${fromWrite(unsaved.inet)(Write.fromPutOption(TypoInet.put))}::inet, ${fromWrite(unsaved.int2)(Write.fromPutOption(TypoShort.put))}::int2, ${fromWrite(unsaved.int2vector)(Write.fromPutOption(TypoInt2Vector.put))}::int2vector, ${fromWrite(unsaved.int4)(Write.fromPutOption(Meta.IntMeta.put))}::int4, ${fromWrite(unsaved.int8)(Write.fromPutOption(Meta.LongMeta.put))}::int8, ${fromWrite(unsaved.interval)(Write.fromPutOption(TypoInterval.put))}::interval, ${fromWrite(unsaved.json)(Write.fromPutOption(TypoJson.put))}::json, ${fromWrite(unsaved.jsonb)(Write.fromPutOption(TypoJsonb.put))}::jsonb, ${fromWrite(unsaved.line)(Write.fromPutOption(TypoLine.put))}::line, ${fromWrite(unsaved.lseg)(Write.fromPutOption(TypoLineSegment.put))}::lseg, ${fromWrite(unsaved.money)(Write.fromPutOption(TypoMoney.put))}::money, ${fromWrite(unsaved.mydomain)(Write.fromPutOption(Mydomain.put))}::text, ${fromWrite(unsaved.myenum)(Write.fromPutOption(Myenum.put))}::public.myenum, ${fromWrite(unsaved.name)(Write.fromPutOption(Meta.StringMeta.put))}::name, ${fromWrite(unsaved.numeric)(Write.fromPutOption(Meta.ScalaBigDecimalMeta.put))}::numeric, ${fromWrite(unsaved.path)(Write.fromPutOption(TypoPath.put))}::path, ${fromWrite(unsaved.point)(Write.fromPutOption(TypoPoint.put))}::point, ${fromWrite(unsaved.polygon)(Write.fromPutOption(TypoPolygon.put))}::polygon, ${fromWrite(unsaved.text)(Write.fromPutOption(Meta.StringMeta.put))}, ${fromWrite(unsaved.time)(Write.fromPutOption(TypoLocalTime.put))}::time, ${fromWrite(unsaved.timestamp)(Write.fromPutOption(TypoLocalDateTime.put))}::timestamp, ${fromWrite(unsaved.timestampz)(Write.fromPutOption(TypoInstant.put))}::timestamptz, ${fromWrite(unsaved.timez)(Write.fromPutOption(TypoOffsetTime.put))}::timetz, ${fromWrite(unsaved.uuid)(Write.fromPutOption(TypoUUID.put))}::uuid, ${fromWrite(unsaved.varchar)(Write.fromPutOption(Meta.StringMeta.put))}, ${fromWrite(unsaved.vector)(Write.fromPutOption(TypoVector.put))}::vector, ${fromWrite(unsaved.xml)(Write.fromPutOption(TypoXml.put))}::xml, ${fromWrite(unsaved.boxes)(Write.fromPutOption(TypoBox.arrayPut))}::_box, ${fromWrite(unsaved.bpchares)(Write.fromPutOption(adventureworks.StringArrayMeta.put))}::_bpchar, ${fromWrite(unsaved.chares)(Write.fromPutOption(adventureworks.StringArrayMeta.put))}::_bpchar, ${fromWrite(unsaved.circlees)(Write.fromPutOption(TypoCircle.arrayPut))}::_circle, ${fromWrite(unsaved.datees)(Write.fromPutOption(TypoLocalDate.arrayPut))}::_date, ${fromWrite(unsaved.float4es)(Write.fromPutOption(adventureworks.FloatArrayMeta.put))}::_float4, ${fromWrite(unsaved.float8es)(Write.fromPutOption(adventureworks.DoubleArrayMeta.put))}::_float8, ${fromWrite(unsaved.inetes)(Write.fromPutOption(TypoInet.arrayPut))}::_inet, ${fromWrite(unsaved.int2es)(Write.fromPutOption(TypoShort.arrayPut))}::_int2, ${fromWrite(unsaved.int2vectores)(Write.fromPutOption(TypoInt2Vector.arrayPut))}::_int2vector, ${fromWrite(unsaved.int4es)(Write.fromPutOption(adventureworks.IntegerArrayMeta.put))}::_int4, ${fromWrite(unsaved.int8es)(Write.fromPutOption(adventureworks.LongArrayMeta.put))}::_int8, ${fromWrite(unsaved.intervales)(Write.fromPutOption(TypoInterval.arrayPut))}::_interval, ${fromWrite(unsaved.jsones)(Write.fromPutOption(TypoJson.arrayPut))}::_json, ${fromWrite(unsaved.jsonbes)(Write.fromPutOption(TypoJsonb.arrayPut))}::_jsonb, ${fromWrite(unsaved.linees)(Write.fromPutOption(TypoLine.arrayPut))}::_line, ${fromWrite(unsaved.lseges)(Write.fromPutOption(TypoLineSegment.arrayPut))}::_lseg, ${fromWrite(unsaved.moneyes)(Write.fromPutOption(TypoMoney.arrayPut))}::_money, ${fromWrite(unsaved.myenumes)(Write.fromPutOption(Myenum.arrayPut))}::_myenum, ${fromWrite(unsaved.namees)(Write.fromPutOption(adventureworks.StringArrayMeta.put))}::_name, ${fromWrite(unsaved.numerices)(Write.fromPutOption(adventureworks.BigDecimalMeta.put))}::_numeric, ${fromWrite(unsaved.pathes)(Write.fromPutOption(TypoPath.arrayPut))}::_path, ${fromWrite(unsaved.pointes)(Write.fromPutOption(TypoPoint.arrayPut))}::_point, ${fromWrite(unsaved.polygones)(Write.fromPutOption(TypoPolygon.arrayPut))}::_polygon, ${fromWrite(unsaved.textes)(Write.fromPutOption(adventureworks.StringArrayMeta.put))}::_text, ${fromWrite(unsaved.timees)(Write.fromPutOption(TypoLocalTime.arrayPut))}::_time, ${fromWrite(unsaved.timestampes)(Write.fromPutOption(TypoLocalDateTime.arrayPut))}::_timestamp, ${fromWrite(unsaved.timestampzes)(Write.fromPutOption(TypoInstant.arrayPut))}::_timestamptz, ${fromWrite(unsaved.timezes)(Write.fromPutOption(TypoOffsetTime.arrayPut))}::_timetz, ${fromWrite(unsaved.uuides)(Write.fromPutOption(TypoUUID.arrayPut))}::_uuid, ${fromWrite(unsaved.varchares)(Write.fromPutOption(adventureworks.StringArrayMeta.put))}::_varchar, ${fromWrite(unsaved.xmles)(Write.fromPutOption(TypoXml.arrayPut))}::_xml) + values (${fromWrite(unsaved.bool)(Write.fromPutOption(Meta.BooleanMeta.put))}, ${fromWrite(unsaved.box)(Write.fromPutOption(TypoBox.put))}::box, ${fromWrite(unsaved.bpchar)(Write.fromPutOption(Meta.StringMeta.put))}::bpchar, ${fromWrite(unsaved.bytea)(Write.fromPutOption(TypoBytea.put))}::bytea, ${fromWrite(unsaved.char)(Write.fromPutOption(Meta.StringMeta.put))}::bpchar, ${fromWrite(unsaved.circle)(Write.fromPutOption(TypoCircle.put))}::circle, ${fromWrite(unsaved.date)(Write.fromPutOption(TypoLocalDate.put))}::date, ${fromWrite(unsaved.float4)(Write.fromPutOption(Meta.FloatMeta.put))}::float4, ${fromWrite(unsaved.float8)(Write.fromPutOption(Meta.DoubleMeta.put))}::float8, ${fromWrite(unsaved.hstore)(Write.fromPutOption(TypoHStore.put))}::hstore, ${fromWrite(unsaved.inet)(Write.fromPutOption(TypoInet.put))}::inet, ${fromWrite(unsaved.int2)(Write.fromPutOption(TypoShort.put))}::int2, ${fromWrite(unsaved.int2vector)(Write.fromPutOption(TypoInt2Vector.put))}::int2vector, ${fromWrite(unsaved.int4)(Write.fromPutOption(Meta.IntMeta.put))}::int4, ${fromWrite(unsaved.int8)(Write.fromPutOption(Meta.LongMeta.put))}::int8, ${fromWrite(unsaved.interval)(Write.fromPutOption(TypoInterval.put))}::interval, ${fromWrite(unsaved.json)(Write.fromPutOption(TypoJson.put))}::json, ${fromWrite(unsaved.jsonb)(Write.fromPutOption(TypoJsonb.put))}::jsonb, ${fromWrite(unsaved.line)(Write.fromPutOption(TypoLine.put))}::line, ${fromWrite(unsaved.lseg)(Write.fromPutOption(TypoLineSegment.put))}::lseg, ${fromWrite(unsaved.money)(Write.fromPutOption(TypoMoney.put))}::money, ${fromWrite(unsaved.mydomain)(Write.fromPutOption(Mydomain.put))}::text, ${fromWrite(unsaved.myenum)(Write.fromPutOption(Myenum.put))}::public.myenum, ${fromWrite(unsaved.name)(Write.fromPutOption(Meta.StringMeta.put))}::name, ${fromWrite(unsaved.numeric)(Write.fromPutOption(Meta.ScalaBigDecimalMeta.put))}::numeric, ${fromWrite(unsaved.path)(Write.fromPutOption(TypoPath.put))}::path, ${fromWrite(unsaved.point)(Write.fromPutOption(TypoPoint.put))}::point, ${fromWrite(unsaved.polygon)(Write.fromPutOption(TypoPolygon.put))}::polygon, ${fromWrite(unsaved.text)(Write.fromPutOption(Meta.StringMeta.put))}, ${fromWrite(unsaved.time)(Write.fromPutOption(TypoLocalTime.put))}::time, ${fromWrite(unsaved.timestamp)(Write.fromPutOption(TypoLocalDateTime.put))}::timestamp, ${fromWrite(unsaved.timestampz)(Write.fromPutOption(TypoInstant.put))}::timestamptz, ${fromWrite(unsaved.timez)(Write.fromPutOption(TypoOffsetTime.put))}::timetz, ${fromWrite(unsaved.uuid)(Write.fromPutOption(TypoUUID.put))}::uuid, ${fromWrite(unsaved.varchar)(Write.fromPutOption(Meta.StringMeta.put))}, ${fromWrite(unsaved.vector)(Write.fromPutOption(TypoVector.put))}::vector, ${fromWrite(unsaved.xml)(Write.fromPutOption(TypoXml.put))}::xml, ${fromWrite(unsaved.boxes)(Write.fromPutOption(TypoBox.arrayPut))}::box[], ${fromWrite(unsaved.bpchares)(Write.fromPutOption(adventureworks.StringArrayMeta.put))}::bpchar[], ${fromWrite(unsaved.chares)(Write.fromPutOption(adventureworks.StringArrayMeta.put))}::bpchar[], ${fromWrite(unsaved.circlees)(Write.fromPutOption(TypoCircle.arrayPut))}::circle[], ${fromWrite(unsaved.datees)(Write.fromPutOption(TypoLocalDate.arrayPut))}::date[], ${fromWrite(unsaved.float4es)(Write.fromPutOption(adventureworks.FloatArrayMeta.put))}::float4[], ${fromWrite(unsaved.float8es)(Write.fromPutOption(adventureworks.DoubleArrayMeta.put))}::float8[], ${fromWrite(unsaved.inetes)(Write.fromPutOption(TypoInet.arrayPut))}::inet[], ${fromWrite(unsaved.int2es)(Write.fromPutOption(TypoShort.arrayPut))}::int2[], ${fromWrite(unsaved.int2vectores)(Write.fromPutOption(TypoInt2Vector.arrayPut))}::int2vector[], ${fromWrite(unsaved.int4es)(Write.fromPutOption(adventureworks.IntegerArrayMeta.put))}::int4[], ${fromWrite(unsaved.int8es)(Write.fromPutOption(adventureworks.LongArrayMeta.put))}::int8[], ${fromWrite(unsaved.intervales)(Write.fromPutOption(TypoInterval.arrayPut))}::interval[], ${fromWrite(unsaved.jsones)(Write.fromPutOption(TypoJson.arrayPut))}::json[], ${fromWrite(unsaved.jsonbes)(Write.fromPutOption(TypoJsonb.arrayPut))}::jsonb[], ${fromWrite(unsaved.linees)(Write.fromPutOption(TypoLine.arrayPut))}::line[], ${fromWrite(unsaved.lseges)(Write.fromPutOption(TypoLineSegment.arrayPut))}::lseg[], ${fromWrite(unsaved.moneyes)(Write.fromPutOption(TypoMoney.arrayPut))}::money[], ${fromWrite(unsaved.myenumes)(Write.fromPutOption(Myenum.arrayPut))}::myenum[], ${fromWrite(unsaved.namees)(Write.fromPutOption(adventureworks.StringArrayMeta.put))}::name[], ${fromWrite(unsaved.numerices)(Write.fromPutOption(adventureworks.BigDecimalMeta.put))}::numeric[], ${fromWrite(unsaved.pathes)(Write.fromPutOption(TypoPath.arrayPut))}::path[], ${fromWrite(unsaved.pointes)(Write.fromPutOption(TypoPoint.arrayPut))}::point[], ${fromWrite(unsaved.polygones)(Write.fromPutOption(TypoPolygon.arrayPut))}::polygon[], ${fromWrite(unsaved.textes)(Write.fromPutOption(adventureworks.StringArrayMeta.put))}::text[], ${fromWrite(unsaved.timees)(Write.fromPutOption(TypoLocalTime.arrayPut))}::time[], ${fromWrite(unsaved.timestampes)(Write.fromPutOption(TypoLocalDateTime.arrayPut))}::timestamp[], ${fromWrite(unsaved.timestampzes)(Write.fromPutOption(TypoInstant.arrayPut))}::timestamptz[], ${fromWrite(unsaved.timezes)(Write.fromPutOption(TypoOffsetTime.arrayPut))}::timetz[], ${fromWrite(unsaved.uuides)(Write.fromPutOption(TypoUUID.arrayPut))}::uuid[], ${fromWrite(unsaved.varchares)(Write.fromPutOption(adventureworks.StringArrayMeta.put))}::varchar[], ${fromWrite(unsaved.xmles)(Write.fromPutOption(TypoXml.arrayPut))}::xml[]) returning "bool", "box", "bpchar", "bytea", "char", "circle", "date"::text, "float4", "float8", "hstore", "inet", "int2", "int2vector", "int4", "int8", "interval", "json", "jsonb", "line", "lseg", "money"::numeric, "mydomain", "myenum", "name", "numeric", "path", "point", "polygon", "text", "time"::text, "timestamp"::text, "timestampz"::text, "timez"::text, "uuid", "varchar", "vector"::float4[], "xml", "boxes", "bpchares", "chares", "circlees", "datees"::text[], "float4es", "float8es", "inetes", "int2es", "int2vectores", "int4es", "int8es", "intervales", "jsones", "jsonbes", "linees", "lseges", "moneyes"::numeric[], "myenumes", "namees", "numerices", "pathes", "pointes", "polygones", "textes", "timees"::text[], "timestampes"::text[], "timestampzes"::text[], "timezes"::text[], "uuides", "varchares", "xmles" """.query(using PgtestnullRow.read).unique } diff --git a/typo-tester-doobie/src/scala/adventureworks/ArrayTest.scala b/typo-tester-doobie/src/scala/adventureworks/ArrayTest.scala index 4e6b92ee1a..2d1e6af166 100644 --- a/typo-tester-doobie/src/scala/adventureworks/ArrayTest.scala +++ b/typo-tester-doobie/src/scala/adventureworks/ArrayTest.scala @@ -81,6 +81,163 @@ class ArrayTest extends AnyFunSuite with TypeCheckedTripleEquals { transaction.transact(withConnection.testXa) } } + test("can query pgtestnull with DSL") { + withConnection { + implicit def ordering[T]: Ordering[T] = null + + for { + row <- pgtestnullRepo.insert(ArrayTestData.pgtestnullRowWithValues) + _ <- pgtestnullRepo.select.where(_.bool === row.bool).toList.map(x => assertJsonEquals(row.bool, x.head.bool)) + _ <- pgtestnullRepo.select.where(_.box === row.box).toList.map(x => assertJsonEquals(row.box, x.head.box)) + _ <- pgtestnullRepo.select.where(_.bpchar === row.bpchar).toList.map(x => assertJsonEquals(row.bpchar, x.head.bpchar)) + _ <- pgtestnullRepo.select.where(_.bytea === row.bytea).toList.map(x => assertJsonEquals(row.bytea, x.head.bytea)) + _ <- pgtestnullRepo.select.where(_.char === row.char).toList.map(x => assertJsonEquals(row.char, x.head.char)) + _ <- pgtestnullRepo.select.where(_.circle === row.circle).toList.map(x => assertJsonEquals(row.circle, x.head.circle)) + _ <- pgtestnullRepo.select.where(_.date === row.date).toList.map(x => assertJsonEquals(row.date, x.head.date)) + _ <- pgtestnullRepo.select.where(_.float4 === row.float4).toList.map(x => assertJsonEquals(row.float4, x.head.float4)) + _ <- pgtestnullRepo.select.where(_.float8 === row.float8).toList.map(x => assertJsonEquals(row.float8, x.head.float8)) + _ <- pgtestnullRepo.select.where(_.hstore === row.hstore).toList.map(x => assertJsonEquals(row.hstore, x.head.hstore)) + _ <- pgtestnullRepo.select.where(_.inet === row.inet).toList.map(x => assertJsonEquals(row.inet, x.head.inet)) + _ <- pgtestnullRepo.select.where(_.int2 === row.int2).toList.map(x => assertJsonEquals(row.int2, x.head.int2)) + _ <- pgtestnullRepo.select.where(_.int2vector === row.int2vector).toList.map(x => assertJsonEquals(row.int2vector, x.head.int2vector)) + _ <- pgtestnullRepo.select.where(_.int4 === row.int4).toList.map(x => assertJsonEquals(row.int4, x.head.int4)) + _ <- pgtestnullRepo.select.where(_.int8 === row.int8).toList.map(x => assertJsonEquals(row.int8, x.head.int8)) + _ <- pgtestnullRepo.select.where(_.interval === row.interval).toList.map(x => assertJsonEquals(row.interval, x.head.interval)) + // _ <- pgtestnullRepo.select.where(_.json === row.json).toList.map(x => assertJsonEquals(row.json, x.head.json)) + _ <- pgtestnullRepo.select.where(_.jsonb === row.jsonb).toList.map(x => assertJsonEquals(row.jsonb, x.head.jsonb)) + _ <- pgtestnullRepo.select.where(_.line === row.line).toList.map(x => assertJsonEquals(row.line, x.head.line)) + _ <- pgtestnullRepo.select.where(_.lseg === row.lseg).toList.map(x => assertJsonEquals(row.lseg, x.head.lseg)) + _ <- pgtestnullRepo.select.where(_.money === row.money).toList.map(x => assertJsonEquals(row.money, x.head.money)) + _ <- pgtestnullRepo.select.where(_.mydomain === row.mydomain).toList.map(x => assertJsonEquals(row.mydomain, x.head.mydomain)) + _ <- pgtestnullRepo.select.where(_.myenum === row.myenum).toList.map(x => assertJsonEquals(row.myenum, x.head.myenum)) + _ <- pgtestnullRepo.select.where(_.name === row.name).toList.map(x => assertJsonEquals(row.name, x.head.name)) + _ <- pgtestnullRepo.select.where(_.numeric === row.numeric).toList.map(x => assertJsonEquals(row.numeric, x.head.numeric)) // only doobie + _ <- pgtestnullRepo.select.where(_.path === row.path).toList.map(x => assertJsonEquals(row.path, x.head.path)) +// _ <- pgtestnullRepo.select.where(_.point === row.point).toList.map(x => assertJsonEquals(row.point, x.head.point)) + // _ <- pgtestnullRepo.select.where(_.polygon === row.polygon).toList.map(x => assertJsonEquals(row.polygon, x.head.polygon)) + // _ <- pgtestnullRepo.select.where(_.text === row.text).toList.map(x => assertJsonEquals(row.text, x.head.text)) // only doobie + _ <- pgtestnullRepo.select.where(_.time === row.time).toList.map(x => assertJsonEquals(row.time, x.head.time)) + _ <- pgtestnullRepo.select.where(_.timestamp === row.timestamp).toList.map(x => assertJsonEquals(row.timestamp, x.head.timestamp)) + _ <- pgtestnullRepo.select.where(_.timestampz === row.timestampz).toList.map(x => assertJsonEquals(row.timestampz, x.head.timestampz)) + _ <- pgtestnullRepo.select.where(_.timez === row.timez).toList.map(x => assertJsonEquals(row.timez, x.head.timez)) + _ <- pgtestnullRepo.select.where(_.uuid === row.uuid).toList.map(x => assertJsonEquals(row.uuid, x.head.uuid)) + _ <- pgtestnullRepo.select.where(_.varchar === row.varchar).toList.map(x => assertJsonEquals(row.varchar, x.head.varchar)) + _ <- pgtestnullRepo.select.where(_.vector === row.vector).toList.map(x => assertJsonEquals(row.vector, x.head.vector)) + // _ <- pgtestnullRepo.select.where(_.xml === row.xml).toList.map(x => assertJsonEquals(row.xml, x.head.xml)) + // _ <- pgtestnullRepo.select.where(_.boxes === row.boxes).toList.map(x => assertJsonEquals(row.boxes, x.head.boxes)) + // _ <- pgtestnullRepo.select.where(_.bpchares === row.bpchares).toList.map(x => assertJsonEquals(row.bpchares, x.head.bpchares)) + // _ <- pgtestnullRepo.select.where(_.chares === row.chares).toList.map(x => assertJsonEquals(row.chares, x.head.chares)) + // _ <- pgtestnullRepo.select.where(_.circlees === row.circlees).toList.map(x => assertJsonEquals(row.circlees, x.head.circlees)) + _ <- pgtestnullRepo.select.where(_.datees === row.datees).toList.map(x => assertJsonEquals(row.datees, x.head.datees)) + _ <- pgtestnullRepo.select.where(_.float4es === row.float4es).toList.map(x => assertJsonEquals(row.float4es, x.head.float4es)) + _ <- pgtestnullRepo.select.where(_.float8es === row.float8es).toList.map(x => assertJsonEquals(row.float8es, x.head.float8es)) + _ <- pgtestnullRepo.select.where(_.inetes === row.inetes).toList.map(x => assertJsonEquals(row.inetes, x.head.inetes)) + _ <- pgtestnullRepo.select.where(_.int2es === row.int2es).toList.map(x => assertJsonEquals(row.int2es, x.head.int2es)) + _ <- pgtestnullRepo.select.where(_.int2vectores === row.int2vectores).toList.map(x => assertJsonEquals(row.int2vectores, x.head.int2vectores)) + _ <- pgtestnullRepo.select.where(_.int4es === row.int4es).toList.map(x => assertJsonEquals(row.int4es, x.head.int4es)) + _ <- pgtestnullRepo.select.where(_.int8es === row.int8es).toList.map(x => assertJsonEquals(row.int8es, x.head.int8es)) + _ <- pgtestnullRepo.select.where(_.intervales === row.intervales).toList.map(x => assertJsonEquals(row.intervales, x.head.intervales)) + // _ <- pgtestnullRepo.select.where(_.jsones === row.jsones).toList.map(x => assertJsonEquals(row.jsones, x.head.jsones)) + _ <- pgtestnullRepo.select.where(_.jsonbes === row.jsonbes).toList.map(x => assertJsonEquals(row.jsonbes, x.head.jsonbes)) + // _ <- pgtestnullRepo.select.where(_.linees === row.linees).toList.map(x => assertJsonEquals(row.linees, x.head.linees)) + // _ <- pgtestnullRepo.select.where(_.lseges === row.lseges).toList.map(x => assertJsonEquals(row.lseges, x.head.lseges)) + _ <- pgtestnullRepo.select.where(_.moneyes === row.moneyes).toList.map(x => assertJsonEquals(row.moneyes, x.head.moneyes)) + _ <- pgtestnullRepo.select.where(_.myenumes === row.myenumes).toList.map(x => assertJsonEquals(row.myenumes, x.head.myenumes)) + // _ <- pgtestnullRepo.select.where(_.namees === row.namees).toList.map(x => assertJsonEquals(row.namees, x.head.namees)) +// _ <- pgtestnullRepo.select.where(_.numerices === row.numerices).toList.map(x => assertJsonEquals(row.numerices, x.head.numerices)) // only doobie + // _ <- pgtestnullRepo.select.where(_.pathes === row.pathes).toList.map(x => assertJsonEquals(row.pathes, x.head.pathes)) + // _ <- pgtestnullRepo.select.where(_.pointes === row.pointes).toList.map(x => assertJsonEquals(row.pointes, x.head.pointes)) + // _ <- pgtestnullRepo.select.where(_.polygones === row.polygones).toList.map(x => assertJsonEquals(row.polygones, x.head.polygones)) +// _ <- pgtestnullRepo.select.where(_.textes === row.textes).toList.map(x => assertJsonEquals(row.textes, x.head.textes)) // only doobie + _ <- pgtestnullRepo.select.where(_.timees === row.timees).toList.map(x => assertJsonEquals(row.timees, x.head.timees)) + _ <- pgtestnullRepo.select.where(_.timestampes === row.timestampes).toList.map(x => assertJsonEquals(row.timestampes, x.head.timestampes)) + _ <- pgtestnullRepo.select.where(_.timestampzes === row.timestampzes).toList.map(x => assertJsonEquals(row.timestampzes, x.head.timestampzes)) + _ <- pgtestnullRepo.select.where(_.timezes === row.timezes).toList.map(x => assertJsonEquals(row.timezes, x.head.timezes)) + _ <- pgtestnullRepo.select.where(_.uuides === row.uuides).toList.map(x => assertJsonEquals(row.uuides, x.head.uuides)) + _ <- pgtestnullRepo.select.where(_.varchares === row.varchares).toList.map(x => assertJsonEquals(row.varchares, x.head.varchares)) + // _ <- pgtestnullRepo.select.where(_.xmles === row.xmles).toList.map(x => assertJsonEquals(row.xmles, x.head.xmles)) + } yield () + } + } + + test("can update pgtest with DSL") { + withConnection { + implicit def ordering[T]: Ordering[T] = null + + for { + row <- pgtestRepo.insert(ArrayTestData.pgTestRow) + _ <- pgtestRepo.update.setValue(_.bool)(row.bool).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.box)(row.box).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.bpchar)(row.bpchar).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.bytea)(row.bytea).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.char)(row.char).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.circle)(row.circle).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.date)(row.date).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.float4)(row.float4).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.float8)(row.float8).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.hstore)(row.hstore).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.inet)(row.inet).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.int2)(row.int2).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.int2vector)(row.int2vector).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.int4)(row.int4).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.int8)(row.int8).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.interval)(row.interval).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.json)(row.json).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.jsonb)(row.jsonb).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.line)(row.line).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.lseg)(row.lseg).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.money)(row.money).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.mydomain)(row.mydomain).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.myenum)(row.myenum).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.name)(row.name).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.numeric)(row.numeric).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.path)(row.path).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.point)(row.point).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.polygon)(row.polygon).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.text)(row.text).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.time)(row.time).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.timestamp)(row.timestamp).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.timestampz)(row.timestampz).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.timez)(row.timez).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.uuid)(row.uuid).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.varchar)(row.varchar).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.vector)(row.vector).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.xml)(row.xml).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.boxes)(row.boxes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.bpchares)(row.bpchares).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.chares)(row.chares).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.circlees)(row.circlees).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.datees)(row.datees).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.float4es)(row.float4es).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.float8es)(row.float8es).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.inetes)(row.inetes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.int2es)(row.int2es).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.int2vectores)(row.int2vectores).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.int4es)(row.int4es).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.int8es)(row.int8es).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.intervales)(row.intervales).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.jsones)(row.jsones).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.jsonbes)(row.jsonbes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.linees)(row.linees).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.lseges)(row.lseges).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.moneyes)(row.moneyes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.myenumes)(row.myenumes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.namees)(row.namees).where(_.uuid === row.uuid).execute +// _ <- pgtestRepo.update.setValue(_.numerices)(row.numerices).where(_.uuid === row.uuid).execute // only doobie + _ <- pgtestRepo.update.setValue(_.pathes)(row.pathes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.pointes)(row.pointes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.polygones)(row.polygones).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.textes)(row.textes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.timees)(row.timees).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.timestampes)(row.timestampes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.timestampzes)(row.timestampzes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.timezes)(row.timezes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.uuides)(row.uuides).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.varchares)(row.varchares).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.xmles)(row.xmles).where(_.uuid === row.uuid).execute + } yield () + } + } } object ArrayTestData { diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoBox.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoBox.scala index 9282b96d7f..36d392814a 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoBox.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoBox.scala @@ -10,7 +10,7 @@ import adventureworks.Text import java.sql.ResultSet import java.sql.Types import org.postgresql.geometric.PGbox -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -78,7 +78,7 @@ object TypoBox { } } implicit lazy val ordering: Ordering[TypoBox] = Ordering.by(x => (x.x1, x.y1, x.x2, x.y2)) - implicit lazy val parameterMetadata: ParameterMetaData[TypoBox] = ParameterMetaData.instance[TypoBox]("box", Types.OTHER) + implicit lazy val pgType: PGType[TypoBox] = PGType.instance[TypoBox]("box", Types.OTHER) implicit lazy val setter: Setter[TypoBox] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoBytea.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoBytea.scala index 09aabb23ba..153c638000 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoBytea.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoBytea.scala @@ -10,7 +10,7 @@ import adventureworks.Text import java.sql.ResultSet import java.sql.Types import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -33,7 +33,7 @@ object TypoBytea { implicit lazy val jsonDecoder: JsonDecoder[TypoBytea] = JsonDecoder.array[Byte](using JsonDecoder.byte, implicitly).map(TypoBytea.apply) implicit lazy val jsonEncoder: JsonEncoder[TypoBytea] = JsonEncoder.array[Byte](using JsonEncoder.byte, implicitly).contramap(_.value) implicit def ordering(implicit O0: Ordering[Array[Byte]]): Ordering[TypoBytea] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TypoBytea] = ParameterMetaData.instance[TypoBytea]("bytea", Types.OTHER) + implicit lazy val pgType: PGType[TypoBytea] = PGType.instance[TypoBytea]("bytea", Types.OTHER) implicit lazy val setter: Setter[TypoBytea] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoCircle.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoCircle.scala index 6eec8249ac..ca7e80ce55 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoCircle.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoCircle.scala @@ -10,7 +10,7 @@ import adventureworks.Text import java.sql.ResultSet import java.sql.Types import org.postgresql.geometric.PGcircle -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -70,7 +70,7 @@ object TypoCircle { } } implicit def ordering(implicit O0: Ordering[TypoPoint]): Ordering[TypoCircle] = Ordering.by(x => (x.center, x.radius)) - implicit lazy val parameterMetadata: ParameterMetaData[TypoCircle] = ParameterMetaData.instance[TypoCircle]("circle", Types.OTHER) + implicit lazy val pgType: PGType[TypoCircle] = PGType.instance[TypoCircle]("circle", Types.OTHER) implicit lazy val setter: Setter[TypoCircle] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoHStore.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoHStore.scala index e2e6f41526..d381924dba 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoHStore.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoHStore.scala @@ -11,7 +11,7 @@ import java.sql.ResultSet import java.sql.Types import java.util.HashMap import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -38,7 +38,7 @@ object TypoHStore { implicit lazy val jsonDecoder: JsonDecoder[TypoHStore] = JsonDecoder[Map[String, String]].map(TypoHStore.apply) implicit lazy val jsonEncoder: JsonEncoder[TypoHStore] = JsonEncoder[Map[String, String]].contramap(_.value) implicit def ordering(implicit O0: Ordering[Map[String, String]]): Ordering[TypoHStore] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TypoHStore] = ParameterMetaData.instance[TypoHStore]("hstore", Types.OTHER) + implicit lazy val pgType: PGType[TypoHStore] = PGType.instance[TypoHStore]("hstore", Types.OTHER) implicit lazy val setter: Setter[TypoHStore] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoInet.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoInet.scala index 59ed32d715..5a544d8eee 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoInet.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoInet.scala @@ -11,7 +11,7 @@ import java.sql.ResultSet import java.sql.Types import org.postgresql.util.PGobject import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -59,7 +59,7 @@ object TypoInet { implicit lazy val jsonDecoder: JsonDecoder[TypoInet] = JsonDecoder.string.map(TypoInet.apply) implicit lazy val jsonEncoder: JsonEncoder[TypoInet] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[TypoInet] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TypoInet] = ParameterMetaData.instance[TypoInet]("inet", Types.OTHER) + implicit lazy val pgType: PGType[TypoInet] = PGType.instance[TypoInet]("inet", Types.OTHER) implicit lazy val setter: Setter[TypoInet] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoInstant.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoInstant.scala index b75c8dfff0..619f588e5f 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoInstant.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoInstant.scala @@ -16,7 +16,7 @@ import java.time.format.DateTimeFormatterBuilder import java.time.temporal.ChronoField import java.time.temporal.ChronoUnit import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -63,7 +63,7 @@ object TypoInstant { implicit lazy val jsonDecoder: JsonDecoder[TypoInstant] = JsonDecoder.instant.map(TypoInstant.apply) implicit lazy val jsonEncoder: JsonEncoder[TypoInstant] = JsonEncoder.instant.contramap(_.value) implicit lazy val ordering: Ordering[TypoInstant] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TypoInstant] = ParameterMetaData.instance[TypoInstant]("timestamptz", Types.OTHER) + implicit lazy val pgType: PGType[TypoInstant] = PGType.instance[TypoInstant]("timestamptz", Types.OTHER) implicit lazy val setter: Setter[TypoInstant] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoInt2Vector.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoInt2Vector.scala index 643477ea87..9bfae63455 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoInt2Vector.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoInt2Vector.scala @@ -11,7 +11,7 @@ import java.sql.ResultSet import java.sql.Types import org.postgresql.util.PGobject import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -59,7 +59,7 @@ object TypoInt2Vector { implicit lazy val jsonDecoder: JsonDecoder[TypoInt2Vector] = JsonDecoder.string.map(TypoInt2Vector.apply) implicit lazy val jsonEncoder: JsonEncoder[TypoInt2Vector] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[TypoInt2Vector] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TypoInt2Vector] = ParameterMetaData.instance[TypoInt2Vector]("int2vector", Types.OTHER) + implicit lazy val pgType: PGType[TypoInt2Vector] = PGType.instance[TypoInt2Vector]("int2vector", Types.OTHER) implicit lazy val setter: Setter[TypoInt2Vector] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoInterval.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoInterval.scala index 37dd0ddd34..e11225fcd9 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoInterval.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoInterval.scala @@ -10,7 +10,7 @@ import adventureworks.Text import java.sql.ResultSet import java.sql.Types import org.postgresql.util.PGInterval -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -86,7 +86,7 @@ object TypoInterval { } } implicit lazy val ordering: Ordering[TypoInterval] = Ordering.by(x => (x.years, x.months, x.days, x.hours, x.minutes, x.seconds)) - implicit lazy val parameterMetadata: ParameterMetaData[TypoInterval] = ParameterMetaData.instance[TypoInterval]("interval", Types.OTHER) + implicit lazy val pgType: PGType[TypoInterval] = PGType.instance[TypoInterval]("interval", Types.OTHER) implicit lazy val setter: Setter[TypoInterval] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoJson.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoJson.scala index b7d9b14664..50a552a445 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoJson.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoJson.scala @@ -11,7 +11,7 @@ import java.sql.ResultSet import java.sql.Types import org.postgresql.util.PGobject import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -59,7 +59,7 @@ object TypoJson { implicit lazy val jsonDecoder: JsonDecoder[TypoJson] = JsonDecoder.string.map(TypoJson.apply) implicit lazy val jsonEncoder: JsonEncoder[TypoJson] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[TypoJson] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TypoJson] = ParameterMetaData.instance[TypoJson]("json", Types.OTHER) + implicit lazy val pgType: PGType[TypoJson] = PGType.instance[TypoJson]("json", Types.OTHER) implicit lazy val setter: Setter[TypoJson] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoJsonb.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoJsonb.scala index cfdf0df7f4..450603e97b 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoJsonb.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoJsonb.scala @@ -11,7 +11,7 @@ import java.sql.ResultSet import java.sql.Types import org.postgresql.util.PGobject import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -59,7 +59,7 @@ object TypoJsonb { implicit lazy val jsonDecoder: JsonDecoder[TypoJsonb] = JsonDecoder.string.map(TypoJsonb.apply) implicit lazy val jsonEncoder: JsonEncoder[TypoJsonb] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[TypoJsonb] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TypoJsonb] = ParameterMetaData.instance[TypoJsonb]("jsonb", Types.OTHER) + implicit lazy val pgType: PGType[TypoJsonb] = PGType.instance[TypoJsonb]("jsonb", Types.OTHER) implicit lazy val setter: Setter[TypoJsonb] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLine.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLine.scala index 8af8aee264..ff2b971017 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLine.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLine.scala @@ -10,7 +10,7 @@ import adventureworks.Text import java.sql.ResultSet import java.sql.Types import org.postgresql.geometric.PGline -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -74,7 +74,7 @@ object TypoLine { } } implicit lazy val ordering: Ordering[TypoLine] = Ordering.by(x => (x.a, x.b, x.c)) - implicit lazy val parameterMetadata: ParameterMetaData[TypoLine] = ParameterMetaData.instance[TypoLine]("line", Types.OTHER) + implicit lazy val pgType: PGType[TypoLine] = PGType.instance[TypoLine]("line", Types.OTHER) implicit lazy val setter: Setter[TypoLine] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLineSegment.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLineSegment.scala index baaed7e120..3718335936 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLineSegment.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLineSegment.scala @@ -11,7 +11,7 @@ import java.sql.ResultSet import java.sql.Types import org.postgresql.geometric.PGlseg import org.postgresql.geometric.PGpoint -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -71,7 +71,7 @@ object TypoLineSegment { } } implicit def ordering(implicit O0: Ordering[TypoPoint]): Ordering[TypoLineSegment] = Ordering.by(x => (x.p1, x.p2)) - implicit lazy val parameterMetadata: ParameterMetaData[TypoLineSegment] = ParameterMetaData.instance[TypoLineSegment]("lseg", Types.OTHER) + implicit lazy val pgType: PGType[TypoLineSegment] = PGType.instance[TypoLineSegment]("lseg", Types.OTHER) implicit lazy val setter: Setter[TypoLineSegment] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLocalDate.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLocalDate.scala index 315679d80a..2ac377d420 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLocalDate.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLocalDate.scala @@ -11,7 +11,7 @@ import java.sql.ResultSet import java.sql.Types import java.time.LocalDate import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -56,7 +56,7 @@ object TypoLocalDate { implicit lazy val jsonDecoder: JsonDecoder[TypoLocalDate] = JsonDecoder.localDate.map(TypoLocalDate.apply) implicit lazy val jsonEncoder: JsonEncoder[TypoLocalDate] = JsonEncoder.localDate.contramap(_.value) implicit lazy val ordering: Ordering[TypoLocalDate] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TypoLocalDate] = ParameterMetaData.instance[TypoLocalDate]("date", Types.OTHER) + implicit lazy val pgType: PGType[TypoLocalDate] = PGType.instance[TypoLocalDate]("date", Types.OTHER) implicit lazy val setter: Setter[TypoLocalDate] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLocalDateTime.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLocalDateTime.scala index de5cc1cde9..02d9849e23 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLocalDateTime.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLocalDateTime.scala @@ -15,7 +15,7 @@ import java.time.format.DateTimeFormatterBuilder import java.time.temporal.ChronoField import java.time.temporal.ChronoUnit import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -62,7 +62,7 @@ object TypoLocalDateTime { implicit lazy val jsonDecoder: JsonDecoder[TypoLocalDateTime] = JsonDecoder.localDateTime.map(TypoLocalDateTime.apply) implicit lazy val jsonEncoder: JsonEncoder[TypoLocalDateTime] = JsonEncoder.localDateTime.contramap(_.value) implicit lazy val ordering: Ordering[TypoLocalDateTime] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TypoLocalDateTime] = ParameterMetaData.instance[TypoLocalDateTime]("timestamp", Types.OTHER) + implicit lazy val pgType: PGType[TypoLocalDateTime] = PGType.instance[TypoLocalDateTime]("timestamp", Types.OTHER) implicit lazy val setter: Setter[TypoLocalDateTime] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLocalTime.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLocalTime.scala index dcc11e1173..e105c78ccb 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLocalTime.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoLocalTime.scala @@ -12,7 +12,7 @@ import java.sql.Types import java.time.LocalTime import java.time.temporal.ChronoUnit import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -58,7 +58,7 @@ object TypoLocalTime { implicit lazy val jsonDecoder: JsonDecoder[TypoLocalTime] = JsonDecoder.localTime.map(TypoLocalTime.apply) implicit lazy val jsonEncoder: JsonEncoder[TypoLocalTime] = JsonEncoder.localTime.contramap(_.value) implicit lazy val ordering: Ordering[TypoLocalTime] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TypoLocalTime] = ParameterMetaData.instance[TypoLocalTime]("time", Types.OTHER) + implicit lazy val pgType: PGType[TypoLocalTime] = PGType.instance[TypoLocalTime]("time", Types.OTHER) implicit lazy val setter: Setter[TypoLocalTime] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoMoney.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoMoney.scala index ca7b8bc41f..3195ec911e 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoMoney.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoMoney.scala @@ -10,7 +10,7 @@ import adventureworks.Text import java.sql.ResultSet import java.sql.Types import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -53,7 +53,7 @@ object TypoMoney { implicit lazy val jsonDecoder: JsonDecoder[TypoMoney] = JsonDecoder.scalaBigDecimal.map(TypoMoney.apply) implicit lazy val jsonEncoder: JsonEncoder[TypoMoney] = JsonEncoder.scalaBigDecimal.contramap(_.value) implicit lazy val ordering: Ordering[TypoMoney] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TypoMoney] = ParameterMetaData.instance[TypoMoney]("money", Types.OTHER) + implicit lazy val pgType: PGType[TypoMoney] = PGType.instance[TypoMoney]("money", Types.OTHER) implicit lazy val setter: Setter[TypoMoney] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoOffsetTime.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoOffsetTime.scala index 3a356606f4..3a5d5aa227 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoOffsetTime.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoOffsetTime.scala @@ -15,7 +15,7 @@ import java.time.format.DateTimeFormatterBuilder import java.time.temporal.ChronoField import java.time.temporal.ChronoUnit import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -62,7 +62,7 @@ object TypoOffsetTime { implicit lazy val jsonDecoder: JsonDecoder[TypoOffsetTime] = JsonDecoder.offsetTime.map(TypoOffsetTime.apply) implicit lazy val jsonEncoder: JsonEncoder[TypoOffsetTime] = JsonEncoder.offsetTime.contramap(_.value) implicit lazy val ordering: Ordering[TypoOffsetTime] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TypoOffsetTime] = ParameterMetaData.instance[TypoOffsetTime]("timetz", Types.OTHER) + implicit lazy val pgType: PGType[TypoOffsetTime] = PGType.instance[TypoOffsetTime]("timetz", Types.OTHER) implicit lazy val setter: Setter[TypoOffsetTime] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoPath.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoPath.scala index 92082ee6a8..511ee00004 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoPath.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoPath.scala @@ -11,7 +11,7 @@ import java.sql.ResultSet import java.sql.Types import org.postgresql.geometric.PGpath import org.postgresql.geometric.PGpoint -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -71,7 +71,7 @@ object TypoPath { } } implicit def ordering(implicit O0: Ordering[List[TypoPoint]]): Ordering[TypoPath] = Ordering.by(x => (x.open, x.points)) - implicit lazy val parameterMetadata: ParameterMetaData[TypoPath] = ParameterMetaData.instance[TypoPath]("path", Types.OTHER) + implicit lazy val pgType: PGType[TypoPath] = PGType.instance[TypoPath]("path", Types.OTHER) implicit lazy val setter: Setter[TypoPath] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoPoint.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoPoint.scala index 2adffba010..6b3dd5ce5e 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoPoint.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoPoint.scala @@ -10,7 +10,7 @@ import adventureworks.Text import java.sql.ResultSet import java.sql.Types import org.postgresql.geometric.PGpoint -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -70,7 +70,7 @@ object TypoPoint { } } implicit lazy val ordering: Ordering[TypoPoint] = Ordering.by(x => (x.x, x.y)) - implicit lazy val parameterMetadata: ParameterMetaData[TypoPoint] = ParameterMetaData.instance[TypoPoint]("point", Types.OTHER) + implicit lazy val pgType: PGType[TypoPoint] = PGType.instance[TypoPoint]("point", Types.OTHER) implicit lazy val setter: Setter[TypoPoint] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoPolygon.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoPolygon.scala index 7c5451ec30..00672e0642 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoPolygon.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoPolygon.scala @@ -12,7 +12,7 @@ import java.sql.Types import org.postgresql.geometric.PGpoint import org.postgresql.geometric.PGpolygon import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -55,7 +55,7 @@ object TypoPolygon { implicit lazy val jsonDecoder: JsonDecoder[TypoPolygon] = JsonDecoder[List[TypoPoint]].map(TypoPolygon.apply) implicit lazy val jsonEncoder: JsonEncoder[TypoPolygon] = JsonEncoder[List[TypoPoint]].contramap(_.points) implicit def ordering(implicit O0: Ordering[List[TypoPoint]]): Ordering[TypoPolygon] = Ordering.by(_.points) - implicit lazy val parameterMetadata: ParameterMetaData[TypoPolygon] = ParameterMetaData.instance[TypoPolygon]("polygon", Types.OTHER) + implicit lazy val pgType: PGType[TypoPolygon] = PGType.instance[TypoPolygon]("polygon", Types.OTHER) implicit lazy val setter: Setter[TypoPolygon] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoRecord.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoRecord.scala index 8da555b6fd..5b8a06465b 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoRecord.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoRecord.scala @@ -11,7 +11,7 @@ import java.sql.ResultSet import java.sql.Types import org.postgresql.util.PGobject import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -59,7 +59,7 @@ object TypoRecord { implicit lazy val jsonDecoder: JsonDecoder[TypoRecord] = JsonDecoder.string.map(TypoRecord.apply) implicit lazy val jsonEncoder: JsonEncoder[TypoRecord] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[TypoRecord] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TypoRecord] = ParameterMetaData.instance[TypoRecord]("record", Types.OTHER) + implicit lazy val pgType: PGType[TypoRecord] = PGType.instance[TypoRecord]("record", Types.OTHER) implicit lazy val setter: Setter[TypoRecord] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoShort.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoShort.scala index 5b28463cd2..46fe458963 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoShort.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoShort.scala @@ -10,7 +10,7 @@ import adventureworks.Text import java.sql.ResultSet import java.sql.Types import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -66,7 +66,7 @@ object TypoShort { implicit lazy val jsonDecoder: JsonDecoder[TypoShort] = JsonDecoder[Short].map(TypoShort.apply) implicit lazy val jsonEncoder: JsonEncoder[TypoShort] = JsonEncoder[Short].contramap(_.value) implicit lazy val ordering: Ordering[TypoShort] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TypoShort] = ParameterMetaData.instance[TypoShort]("int2", Types.OTHER) + implicit lazy val pgType: PGType[TypoShort] = PGType.instance[TypoShort]("int2", Types.OTHER) implicit lazy val setter: Setter[TypoShort] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoUUID.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoUUID.scala index a4154bc74f..d9d7b0c3eb 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoUUID.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoUUID.scala @@ -11,7 +11,7 @@ import java.sql.ResultSet import java.sql.Types import java.util.UUID import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -56,7 +56,7 @@ object TypoUUID { implicit lazy val jsonDecoder: JsonDecoder[TypoUUID] = JsonDecoder.uuid.map(TypoUUID.apply) implicit lazy val jsonEncoder: JsonEncoder[TypoUUID] = JsonEncoder.uuid.contramap(_.value) implicit lazy val ordering: Ordering[TypoUUID] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TypoUUID] = ParameterMetaData.instance[TypoUUID]("uuid", Types.OTHER) + implicit lazy val pgType: PGType[TypoUUID] = PGType.instance[TypoUUID]("uuid", Types.OTHER) implicit lazy val setter: Setter[TypoUUID] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoUnknownCitext.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoUnknownCitext.scala index 594c8d56cc..01e58f751a 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoUnknownCitext.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoUnknownCitext.scala @@ -10,7 +10,7 @@ import adventureworks.Text import java.sql.ResultSet import java.sql.Types import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -53,7 +53,7 @@ object TypoUnknownCitext { implicit lazy val jsonDecoder: JsonDecoder[TypoUnknownCitext] = JsonDecoder.string.map(TypoUnknownCitext.apply) implicit lazy val jsonEncoder: JsonEncoder[TypoUnknownCitext] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[TypoUnknownCitext] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TypoUnknownCitext] = ParameterMetaData.instance[TypoUnknownCitext]("citext", Types.OTHER) + implicit lazy val pgType: PGType[TypoUnknownCitext] = PGType.instance[TypoUnknownCitext]("citext", Types.OTHER) implicit lazy val setter: Setter[TypoUnknownCitext] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoVector.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoVector.scala index 9a6336a01c..c8a784b937 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoVector.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoVector.scala @@ -11,7 +11,7 @@ import java.sql.ResultSet import java.sql.Types import org.postgresql.jdbc.PgArray import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -34,7 +34,7 @@ object TypoVector { implicit lazy val jsonDecoder: JsonDecoder[TypoVector] = JsonDecoder.array[Float](using JsonDecoder.float, implicitly).map(TypoVector.apply) implicit lazy val jsonEncoder: JsonEncoder[TypoVector] = JsonEncoder.array[Float](using JsonEncoder.float, implicitly).contramap(_.value) implicit def ordering(implicit O0: Ordering[Array[Float]]): Ordering[TypoVector] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TypoVector] = ParameterMetaData.instance[TypoVector]("vector", Types.OTHER) + implicit lazy val pgType: PGType[TypoVector] = PGType.instance[TypoVector]("vector", Types.OTHER) implicit lazy val setter: Setter[TypoVector] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoXml.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoXml.scala index 9417782b81..61e3bb7b67 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoXml.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/customtypes/TypoXml.scala @@ -12,7 +12,7 @@ import java.sql.Types import org.postgresql.jdbc.PgSQLXML import org.postgresql.util.PGobject import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -60,7 +60,7 @@ object TypoXml { implicit lazy val jsonDecoder: JsonDecoder[TypoXml] = JsonDecoder.string.map(TypoXml.apply) implicit lazy val jsonEncoder: JsonEncoder[TypoXml] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[TypoXml] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TypoXml] = ParameterMetaData.instance[TypoXml]("xml", Types.OTHER) + implicit lazy val pgType: PGType[TypoXml] = PGType.instance[TypoXml]("xml", Types.OTHER) implicit lazy val setter: Setter[TypoXml] = Setter.other( (ps, i, v) => { ps.setObject( diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/humanresources/department/DepartmentId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/humanresources/department/DepartmentId.scala index f01da70740..ba47fff26c 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/humanresources/department/DepartmentId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/humanresources/department/DepartmentId.scala @@ -9,7 +9,7 @@ package department import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object DepartmentId { implicit lazy val jsonDecoder: JsonDecoder[DepartmentId] = JsonDecoder.int.map(DepartmentId.apply) implicit lazy val jsonEncoder: JsonEncoder[DepartmentId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[DepartmentId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[DepartmentId] = ParameterMetaData.instance[DepartmentId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[DepartmentId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[DepartmentId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[DepartmentId] = new Text[DepartmentId] { override def unsafeEncode(v: DepartmentId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/humanresources/jobcandidate/JobcandidateId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/humanresources/jobcandidate/JobcandidateId.scala index 09b4b44efb..d9a00fb86b 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/humanresources/jobcandidate/JobcandidateId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/humanresources/jobcandidate/JobcandidateId.scala @@ -9,7 +9,7 @@ package jobcandidate import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object JobcandidateId { implicit lazy val jsonDecoder: JsonDecoder[JobcandidateId] = JsonDecoder.int.map(JobcandidateId.apply) implicit lazy val jsonEncoder: JsonEncoder[JobcandidateId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[JobcandidateId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[JobcandidateId] = ParameterMetaData.instance[JobcandidateId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[JobcandidateId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[JobcandidateId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[JobcandidateId] = new Text[JobcandidateId] { override def unsafeEncode(v: JobcandidateId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/humanresources/shift/ShiftId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/humanresources/shift/ShiftId.scala index 6a51eb4567..6451555bb6 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/humanresources/shift/ShiftId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/humanresources/shift/ShiftId.scala @@ -9,7 +9,7 @@ package shift import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object ShiftId { implicit lazy val jsonDecoder: JsonDecoder[ShiftId] = JsonDecoder.int.map(ShiftId.apply) implicit lazy val jsonEncoder: JsonEncoder[ShiftId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[ShiftId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[ShiftId] = ParameterMetaData.instance[ShiftId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[ShiftId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[ShiftId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[ShiftId] = new Text[ShiftId] { override def unsafeEncode(v: ShiftId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/address/AddressId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/address/AddressId.scala index 83b5695dfa..5f7bf2602f 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/address/AddressId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/address/AddressId.scala @@ -9,7 +9,7 @@ package address import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object AddressId { implicit lazy val jsonDecoder: JsonDecoder[AddressId] = JsonDecoder.int.map(AddressId.apply) implicit lazy val jsonEncoder: JsonEncoder[AddressId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[AddressId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[AddressId] = ParameterMetaData.instance[AddressId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[AddressId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[AddressId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[AddressId] = new Text[AddressId] { override def unsafeEncode(v: AddressId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/addresstype/AddresstypeId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/addresstype/AddresstypeId.scala index 63f0dd910e..22835ecab2 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/addresstype/AddresstypeId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/addresstype/AddresstypeId.scala @@ -9,7 +9,7 @@ package addresstype import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object AddresstypeId { implicit lazy val jsonDecoder: JsonDecoder[AddresstypeId] = JsonDecoder.int.map(AddresstypeId.apply) implicit lazy val jsonEncoder: JsonEncoder[AddresstypeId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[AddresstypeId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[AddresstypeId] = ParameterMetaData.instance[AddresstypeId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[AddresstypeId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[AddresstypeId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[AddresstypeId] = new Text[AddresstypeId] { override def unsafeEncode(v: AddresstypeId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/businessentity/BusinessentityId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/businessentity/BusinessentityId.scala index e3175b0ab4..b0a7a06aa7 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/businessentity/BusinessentityId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/businessentity/BusinessentityId.scala @@ -9,7 +9,7 @@ package businessentity import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object BusinessentityId { implicit lazy val jsonDecoder: JsonDecoder[BusinessentityId] = JsonDecoder.int.map(BusinessentityId.apply) implicit lazy val jsonEncoder: JsonEncoder[BusinessentityId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[BusinessentityId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[BusinessentityId] = ParameterMetaData.instance[BusinessentityId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[BusinessentityId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[BusinessentityId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[BusinessentityId] = new Text[BusinessentityId] { override def unsafeEncode(v: BusinessentityId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/contacttype/ContacttypeId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/contacttype/ContacttypeId.scala index 6a1ee0ea9c..c61f44958d 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/contacttype/ContacttypeId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/contacttype/ContacttypeId.scala @@ -9,7 +9,7 @@ package contacttype import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object ContacttypeId { implicit lazy val jsonDecoder: JsonDecoder[ContacttypeId] = JsonDecoder.int.map(ContacttypeId.apply) implicit lazy val jsonEncoder: JsonEncoder[ContacttypeId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[ContacttypeId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[ContacttypeId] = ParameterMetaData.instance[ContacttypeId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[ContacttypeId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[ContacttypeId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[ContacttypeId] = new Text[ContacttypeId] { override def unsafeEncode(v: ContacttypeId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/countryregion/CountryregionId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/countryregion/CountryregionId.scala index 3b2299b15d..e65004b13d 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/countryregion/CountryregionId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/countryregion/CountryregionId.scala @@ -9,7 +9,7 @@ package countryregion import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object CountryregionId { implicit lazy val jsonDecoder: JsonDecoder[CountryregionId] = JsonDecoder.string.map(CountryregionId.apply) implicit lazy val jsonEncoder: JsonEncoder[CountryregionId] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[CountryregionId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[CountryregionId] = ParameterMetaData.instance[CountryregionId](ParameterMetaData.StringParameterMetaData.sqlType, ParameterMetaData.StringParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[CountryregionId] = PGType.PGTypeString.as implicit lazy val setter: Setter[CountryregionId] = Setter.stringSetter.contramap(_.value) implicit lazy val text: Text[CountryregionId] = new Text[CountryregionId] { override def unsafeEncode(v: CountryregionId, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/phonenumbertype/PhonenumbertypeId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/phonenumbertype/PhonenumbertypeId.scala index edef255027..be23f1ec31 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/phonenumbertype/PhonenumbertypeId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/phonenumbertype/PhonenumbertypeId.scala @@ -9,7 +9,7 @@ package phonenumbertype import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object PhonenumbertypeId { implicit lazy val jsonDecoder: JsonDecoder[PhonenumbertypeId] = JsonDecoder.int.map(PhonenumbertypeId.apply) implicit lazy val jsonEncoder: JsonEncoder[PhonenumbertypeId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[PhonenumbertypeId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[PhonenumbertypeId] = ParameterMetaData.instance[PhonenumbertypeId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[PhonenumbertypeId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[PhonenumbertypeId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[PhonenumbertypeId] = new Text[PhonenumbertypeId] { override def unsafeEncode(v: PhonenumbertypeId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/stateprovince/StateprovinceId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/stateprovince/StateprovinceId.scala index 93f82e5417..9237537f01 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/stateprovince/StateprovinceId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/person/stateprovince/StateprovinceId.scala @@ -9,7 +9,7 @@ package stateprovince import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object StateprovinceId { implicit lazy val jsonDecoder: JsonDecoder[StateprovinceId] = JsonDecoder.int.map(StateprovinceId.apply) implicit lazy val jsonEncoder: JsonEncoder[StateprovinceId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[StateprovinceId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[StateprovinceId] = ParameterMetaData.instance[StateprovinceId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[StateprovinceId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[StateprovinceId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[StateprovinceId] = new Text[StateprovinceId] { override def unsafeEncode(v: StateprovinceId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/culture/CultureId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/culture/CultureId.scala index 1afc441786..184c2e604b 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/culture/CultureId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/culture/CultureId.scala @@ -9,7 +9,7 @@ package culture import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object CultureId { implicit lazy val jsonDecoder: JsonDecoder[CultureId] = JsonDecoder.string.map(CultureId.apply) implicit lazy val jsonEncoder: JsonEncoder[CultureId] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[CultureId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[CultureId] = ParameterMetaData.instance[CultureId](ParameterMetaData.StringParameterMetaData.sqlType, ParameterMetaData.StringParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[CultureId] = PGType.PGTypeString.as implicit lazy val setter: Setter[CultureId] = Setter.stringSetter.contramap(_.value) implicit lazy val text: Text[CultureId] = new Text[CultureId] { override def unsafeEncode(v: CultureId, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/document/DocumentId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/document/DocumentId.scala index 05c37b92e2..429e0d7024 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/document/DocumentId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/document/DocumentId.scala @@ -9,7 +9,7 @@ package document import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object DocumentId { implicit lazy val jsonDecoder: JsonDecoder[DocumentId] = JsonDecoder.string.map(DocumentId.apply) implicit lazy val jsonEncoder: JsonEncoder[DocumentId] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[DocumentId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[DocumentId] = ParameterMetaData.instance[DocumentId](ParameterMetaData.StringParameterMetaData.sqlType, ParameterMetaData.StringParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[DocumentId] = PGType.PGTypeString.as implicit lazy val setter: Setter[DocumentId] = Setter.stringSetter.contramap(_.value) implicit lazy val text: Text[DocumentId] = new Text[DocumentId] { override def unsafeEncode(v: DocumentId, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/illustration/IllustrationId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/illustration/IllustrationId.scala index 2cecbcaf9b..0daf09c88e 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/illustration/IllustrationId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/illustration/IllustrationId.scala @@ -9,7 +9,7 @@ package illustration import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object IllustrationId { implicit lazy val jsonDecoder: JsonDecoder[IllustrationId] = JsonDecoder.int.map(IllustrationId.apply) implicit lazy val jsonEncoder: JsonEncoder[IllustrationId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[IllustrationId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[IllustrationId] = ParameterMetaData.instance[IllustrationId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[IllustrationId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[IllustrationId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[IllustrationId] = new Text[IllustrationId] { override def unsafeEncode(v: IllustrationId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/location/LocationId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/location/LocationId.scala index ef5f32dba6..9b512e831a 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/location/LocationId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/location/LocationId.scala @@ -9,7 +9,7 @@ package location import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object LocationId { implicit lazy val jsonDecoder: JsonDecoder[LocationId] = JsonDecoder.int.map(LocationId.apply) implicit lazy val jsonEncoder: JsonEncoder[LocationId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[LocationId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[LocationId] = ParameterMetaData.instance[LocationId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[LocationId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[LocationId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[LocationId] = new Text[LocationId] { override def unsafeEncode(v: LocationId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/product/ProductId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/product/ProductId.scala index 34a31ec12d..8a9847b6bf 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/product/ProductId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/product/ProductId.scala @@ -9,7 +9,7 @@ package product import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object ProductId { implicit lazy val jsonDecoder: JsonDecoder[ProductId] = JsonDecoder.int.map(ProductId.apply) implicit lazy val jsonEncoder: JsonEncoder[ProductId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[ProductId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[ProductId] = ParameterMetaData.instance[ProductId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[ProductId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[ProductId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[ProductId] = new Text[ProductId] { override def unsafeEncode(v: ProductId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productcategory/ProductcategoryId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productcategory/ProductcategoryId.scala index 7b75f6b87b..bb0645be1a 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productcategory/ProductcategoryId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productcategory/ProductcategoryId.scala @@ -9,7 +9,7 @@ package productcategory import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object ProductcategoryId { implicit lazy val jsonDecoder: JsonDecoder[ProductcategoryId] = JsonDecoder.int.map(ProductcategoryId.apply) implicit lazy val jsonEncoder: JsonEncoder[ProductcategoryId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[ProductcategoryId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[ProductcategoryId] = ParameterMetaData.instance[ProductcategoryId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[ProductcategoryId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[ProductcategoryId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[ProductcategoryId] = new Text[ProductcategoryId] { override def unsafeEncode(v: ProductcategoryId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productdescription/ProductdescriptionId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productdescription/ProductdescriptionId.scala index 0718c578fb..dc93a41f6b 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productdescription/ProductdescriptionId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productdescription/ProductdescriptionId.scala @@ -9,7 +9,7 @@ package productdescription import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object ProductdescriptionId { implicit lazy val jsonDecoder: JsonDecoder[ProductdescriptionId] = JsonDecoder.int.map(ProductdescriptionId.apply) implicit lazy val jsonEncoder: JsonEncoder[ProductdescriptionId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[ProductdescriptionId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[ProductdescriptionId] = ParameterMetaData.instance[ProductdescriptionId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[ProductdescriptionId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[ProductdescriptionId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[ProductdescriptionId] = new Text[ProductdescriptionId] { override def unsafeEncode(v: ProductdescriptionId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productmodel/ProductmodelId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productmodel/ProductmodelId.scala index 4d094dc3c2..85e11deb48 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productmodel/ProductmodelId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productmodel/ProductmodelId.scala @@ -9,7 +9,7 @@ package productmodel import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object ProductmodelId { implicit lazy val jsonDecoder: JsonDecoder[ProductmodelId] = JsonDecoder.int.map(ProductmodelId.apply) implicit lazy val jsonEncoder: JsonEncoder[ProductmodelId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[ProductmodelId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[ProductmodelId] = ParameterMetaData.instance[ProductmodelId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[ProductmodelId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[ProductmodelId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[ProductmodelId] = new Text[ProductmodelId] { override def unsafeEncode(v: ProductmodelId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productphoto/ProductphotoId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productphoto/ProductphotoId.scala index fc238cbc28..e8a09ca16b 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productphoto/ProductphotoId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productphoto/ProductphotoId.scala @@ -9,7 +9,7 @@ package productphoto import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object ProductphotoId { implicit lazy val jsonDecoder: JsonDecoder[ProductphotoId] = JsonDecoder.int.map(ProductphotoId.apply) implicit lazy val jsonEncoder: JsonEncoder[ProductphotoId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[ProductphotoId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[ProductphotoId] = ParameterMetaData.instance[ProductphotoId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[ProductphotoId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[ProductphotoId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[ProductphotoId] = new Text[ProductphotoId] { override def unsafeEncode(v: ProductphotoId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productreview/ProductreviewId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productreview/ProductreviewId.scala index 2e50ac8b38..ae306326e6 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productreview/ProductreviewId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productreview/ProductreviewId.scala @@ -9,7 +9,7 @@ package productreview import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object ProductreviewId { implicit lazy val jsonDecoder: JsonDecoder[ProductreviewId] = JsonDecoder.int.map(ProductreviewId.apply) implicit lazy val jsonEncoder: JsonEncoder[ProductreviewId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[ProductreviewId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[ProductreviewId] = ParameterMetaData.instance[ProductreviewId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[ProductreviewId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[ProductreviewId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[ProductreviewId] = new Text[ProductreviewId] { override def unsafeEncode(v: ProductreviewId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productsubcategory/ProductsubcategoryId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productsubcategory/ProductsubcategoryId.scala index 50540c8927..505b5fb8e4 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productsubcategory/ProductsubcategoryId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/productsubcategory/ProductsubcategoryId.scala @@ -9,7 +9,7 @@ package productsubcategory import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object ProductsubcategoryId { implicit lazy val jsonDecoder: JsonDecoder[ProductsubcategoryId] = JsonDecoder.int.map(ProductsubcategoryId.apply) implicit lazy val jsonEncoder: JsonEncoder[ProductsubcategoryId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[ProductsubcategoryId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[ProductsubcategoryId] = ParameterMetaData.instance[ProductsubcategoryId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[ProductsubcategoryId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[ProductsubcategoryId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[ProductsubcategoryId] = new Text[ProductsubcategoryId] { override def unsafeEncode(v: ProductsubcategoryId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/scrapreason/ScrapreasonId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/scrapreason/ScrapreasonId.scala index 5bd004e7ea..0121993e5c 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/scrapreason/ScrapreasonId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/scrapreason/ScrapreasonId.scala @@ -9,7 +9,7 @@ package scrapreason import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object ScrapreasonId { implicit lazy val jsonDecoder: JsonDecoder[ScrapreasonId] = JsonDecoder.int.map(ScrapreasonId.apply) implicit lazy val jsonEncoder: JsonEncoder[ScrapreasonId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[ScrapreasonId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[ScrapreasonId] = ParameterMetaData.instance[ScrapreasonId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[ScrapreasonId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[ScrapreasonId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[ScrapreasonId] = new Text[ScrapreasonId] { override def unsafeEncode(v: ScrapreasonId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/transactionhistory/TransactionhistoryId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/transactionhistory/TransactionhistoryId.scala index b1ceeb8988..21439031b8 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/transactionhistory/TransactionhistoryId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/transactionhistory/TransactionhistoryId.scala @@ -9,7 +9,7 @@ package transactionhistory import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object TransactionhistoryId { implicit lazy val jsonDecoder: JsonDecoder[TransactionhistoryId] = JsonDecoder.int.map(TransactionhistoryId.apply) implicit lazy val jsonEncoder: JsonEncoder[TransactionhistoryId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[TransactionhistoryId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TransactionhistoryId] = ParameterMetaData.instance[TransactionhistoryId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[TransactionhistoryId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[TransactionhistoryId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[TransactionhistoryId] = new Text[TransactionhistoryId] { override def unsafeEncode(v: TransactionhistoryId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/transactionhistoryarchive/TransactionhistoryarchiveId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/transactionhistoryarchive/TransactionhistoryarchiveId.scala index 280e32903b..78ecb300b7 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/transactionhistoryarchive/TransactionhistoryarchiveId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/transactionhistoryarchive/TransactionhistoryarchiveId.scala @@ -9,7 +9,7 @@ package transactionhistoryarchive import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object TransactionhistoryarchiveId { implicit lazy val jsonDecoder: JsonDecoder[TransactionhistoryarchiveId] = JsonDecoder.int.map(TransactionhistoryarchiveId.apply) implicit lazy val jsonEncoder: JsonEncoder[TransactionhistoryarchiveId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[TransactionhistoryarchiveId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[TransactionhistoryarchiveId] = ParameterMetaData.instance[TransactionhistoryarchiveId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[TransactionhistoryarchiveId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[TransactionhistoryarchiveId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[TransactionhistoryarchiveId] = new Text[TransactionhistoryarchiveId] { override def unsafeEncode(v: TransactionhistoryarchiveId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/unitmeasure/UnitmeasureId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/unitmeasure/UnitmeasureId.scala index 8db3e939f1..73c0759581 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/unitmeasure/UnitmeasureId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/unitmeasure/UnitmeasureId.scala @@ -9,7 +9,7 @@ package unitmeasure import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object UnitmeasureId { implicit lazy val jsonDecoder: JsonDecoder[UnitmeasureId] = JsonDecoder.string.map(UnitmeasureId.apply) implicit lazy val jsonEncoder: JsonEncoder[UnitmeasureId] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[UnitmeasureId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[UnitmeasureId] = ParameterMetaData.instance[UnitmeasureId](ParameterMetaData.StringParameterMetaData.sqlType, ParameterMetaData.StringParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[UnitmeasureId] = PGType.PGTypeString.as implicit lazy val setter: Setter[UnitmeasureId] = Setter.stringSetter.contramap(_.value) implicit lazy val text: Text[UnitmeasureId] = new Text[UnitmeasureId] { override def unsafeEncode(v: UnitmeasureId, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/workorder/WorkorderId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/workorder/WorkorderId.scala index 8cfa32ab6f..f7f06ae2c1 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/workorder/WorkorderId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/production/workorder/WorkorderId.scala @@ -9,7 +9,7 @@ package workorder import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object WorkorderId { implicit lazy val jsonDecoder: JsonDecoder[WorkorderId] = JsonDecoder.int.map(WorkorderId.apply) implicit lazy val jsonEncoder: JsonEncoder[WorkorderId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[WorkorderId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[WorkorderId] = ParameterMetaData.instance[WorkorderId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[WorkorderId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[WorkorderId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[WorkorderId] = new Text[WorkorderId] { override def unsafeEncode(v: WorkorderId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/AccountNumber.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/AccountNumber.scala index 1ca0aab8f5..f69f9db961 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/AccountNumber.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/AccountNumber.scala @@ -8,7 +8,7 @@ package public import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -27,7 +27,7 @@ object AccountNumber { implicit lazy val jsonDecoder: JsonDecoder[AccountNumber] = JsonDecoder.string.map(AccountNumber.apply) implicit lazy val jsonEncoder: JsonEncoder[AccountNumber] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[AccountNumber] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[AccountNumber] = ParameterMetaData.instance[AccountNumber](ParameterMetaData.StringParameterMetaData.sqlType, ParameterMetaData.StringParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[AccountNumber] = PGType.PGTypeString.as implicit lazy val setter: Setter[AccountNumber] = Setter.stringSetter.contramap(_.value) implicit lazy val text: Text[AccountNumber] = new Text[AccountNumber] { override def unsafeEncode(v: AccountNumber, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Flag.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Flag.scala index de79842fc5..cea5cc713f 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Flag.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Flag.scala @@ -8,7 +8,7 @@ package public import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -27,7 +27,7 @@ object Flag { implicit lazy val jsonDecoder: JsonDecoder[Flag] = JsonDecoder.boolean.map(Flag.apply) implicit lazy val jsonEncoder: JsonEncoder[Flag] = JsonEncoder.boolean.contramap(_.value) implicit lazy val ordering: Ordering[Flag] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[Flag] = ParameterMetaData.instance[Flag](ParameterMetaData.BooleanParameterMetaData.sqlType, ParameterMetaData.BooleanParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[Flag] = PGType.PGTypeBoolean.as implicit lazy val setter: Setter[Flag] = Setter.booleanSetter.contramap(_.value) implicit lazy val text: Text[Flag] = new Text[Flag] { override def unsafeEncode(v: Flag, sb: StringBuilder) = Text.booleanInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Mydomain.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Mydomain.scala index 160fc2a10f..99efd011a3 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Mydomain.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Mydomain.scala @@ -8,7 +8,7 @@ package public import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -27,7 +27,7 @@ object Mydomain { implicit lazy val jsonDecoder: JsonDecoder[Mydomain] = JsonDecoder.string.map(Mydomain.apply) implicit lazy val jsonEncoder: JsonEncoder[Mydomain] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[Mydomain] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[Mydomain] = ParameterMetaData.instance[Mydomain](ParameterMetaData.StringParameterMetaData.sqlType, ParameterMetaData.StringParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[Mydomain] = PGType.PGTypeString.as implicit lazy val setter: Setter[Mydomain] = Setter.stringSetter.contramap(_.value) implicit lazy val text: Text[Mydomain] = new Text[Mydomain] { override def unsafeEncode(v: Mydomain, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Myenum.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Myenum.scala index 59fc9d9914..6a7b9e988f 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Myenum.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Myenum.scala @@ -9,7 +9,7 @@ package public import adventureworks.Text import java.sql.ResultSet import java.sql.Types -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcDecoderError import zio.jdbc.JdbcEncoder @@ -64,7 +64,7 @@ object Myenum { implicit lazy val jsonDecoder: JsonDecoder[Myenum] = JsonDecoder.string.mapOrFail(Myenum.apply) implicit lazy val jsonEncoder: JsonEncoder[Myenum] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[Myenum] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[Myenum] = ParameterMetaData.instance[Myenum]("public.myenum", Types.OTHER) + implicit lazy val pgType: PGType[Myenum] = PGType.instance[Myenum]("public.myenum", Types.OTHER) implicit lazy val setter: Setter[Myenum] = Setter.stringSetter.contramap(_.value) implicit lazy val text: Text[Myenum] = new Text[Myenum] { override def unsafeEncode(v: Myenum, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Name.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Name.scala index 5c2a1f8f16..6d3a41b4b4 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Name.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Name.scala @@ -8,7 +8,7 @@ package public import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -27,7 +27,7 @@ object Name { implicit lazy val jsonDecoder: JsonDecoder[Name] = JsonDecoder.string.map(Name.apply) implicit lazy val jsonEncoder: JsonEncoder[Name] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[Name] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[Name] = ParameterMetaData.instance[Name](ParameterMetaData.StringParameterMetaData.sqlType, ParameterMetaData.StringParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[Name] = PGType.PGTypeString.as implicit lazy val setter: Setter[Name] = Setter.stringSetter.contramap(_.value) implicit lazy val text: Text[Name] = new Text[Name] { override def unsafeEncode(v: Name, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/NameStyle.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/NameStyle.scala index 628d23a78a..b7058553f2 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/NameStyle.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/NameStyle.scala @@ -8,7 +8,7 @@ package public import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -27,7 +27,7 @@ object NameStyle { implicit lazy val jsonDecoder: JsonDecoder[NameStyle] = JsonDecoder.boolean.map(NameStyle.apply) implicit lazy val jsonEncoder: JsonEncoder[NameStyle] = JsonEncoder.boolean.contramap(_.value) implicit lazy val ordering: Ordering[NameStyle] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[NameStyle] = ParameterMetaData.instance[NameStyle](ParameterMetaData.BooleanParameterMetaData.sqlType, ParameterMetaData.BooleanParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[NameStyle] = PGType.PGTypeBoolean.as implicit lazy val setter: Setter[NameStyle] = Setter.booleanSetter.contramap(_.value) implicit lazy val text: Text[NameStyle] = new Text[NameStyle] { override def unsafeEncode(v: NameStyle, sb: StringBuilder) = Text.booleanInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/OrderNumber.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/OrderNumber.scala index daf4436c12..e57cd3ee63 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/OrderNumber.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/OrderNumber.scala @@ -8,7 +8,7 @@ package public import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -27,7 +27,7 @@ object OrderNumber { implicit lazy val jsonDecoder: JsonDecoder[OrderNumber] = JsonDecoder.string.map(OrderNumber.apply) implicit lazy val jsonEncoder: JsonEncoder[OrderNumber] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[OrderNumber] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[OrderNumber] = ParameterMetaData.instance[OrderNumber](ParameterMetaData.StringParameterMetaData.sqlType, ParameterMetaData.StringParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[OrderNumber] = PGType.PGTypeString.as implicit lazy val setter: Setter[OrderNumber] = Setter.stringSetter.contramap(_.value) implicit lazy val text: Text[OrderNumber] = new Text[OrderNumber] { override def unsafeEncode(v: OrderNumber, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Phone.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Phone.scala index 3bdff795ca..6d3c51d1ae 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Phone.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/Phone.scala @@ -8,7 +8,7 @@ package public import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -27,7 +27,7 @@ object Phone { implicit lazy val jsonDecoder: JsonDecoder[Phone] = JsonDecoder.string.map(Phone.apply) implicit lazy val jsonEncoder: JsonEncoder[Phone] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[Phone] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[Phone] = ParameterMetaData.instance[Phone](ParameterMetaData.StringParameterMetaData.sqlType, ParameterMetaData.StringParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[Phone] = PGType.PGTypeString.as implicit lazy val setter: Setter[Phone] = Setter.stringSetter.contramap(_.value) implicit lazy val text: Text[Phone] = new Text[Phone] { override def unsafeEncode(v: Phone, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/ShortText.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/ShortText.scala index 0bfd7caf4b..8b6de3dda2 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/ShortText.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/ShortText.scala @@ -8,7 +8,7 @@ package public import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -27,7 +27,7 @@ object ShortText { implicit lazy val jsonDecoder: JsonDecoder[ShortText] = JsonDecoder.string.map(ShortText.apply) implicit lazy val jsonEncoder: JsonEncoder[ShortText] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[ShortText] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[ShortText] = ParameterMetaData.instance[ShortText](ParameterMetaData.StringParameterMetaData.sqlType, ParameterMetaData.StringParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[ShortText] = PGType.PGTypeString.as implicit lazy val setter: Setter[ShortText] = Setter.stringSetter.contramap(_.value) implicit lazy val text: Text[ShortText] = new Text[ShortText] { override def unsafeEncode(v: ShortText, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/identity_test/IdentityTestId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/identity_test/IdentityTestId.scala index 30ac7951e9..8883c06023 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/identity_test/IdentityTestId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/identity_test/IdentityTestId.scala @@ -9,7 +9,7 @@ package identity_test import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object IdentityTestId { implicit lazy val jsonDecoder: JsonDecoder[IdentityTestId] = JsonDecoder.string.map(IdentityTestId.apply) implicit lazy val jsonEncoder: JsonEncoder[IdentityTestId] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[IdentityTestId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[IdentityTestId] = ParameterMetaData.instance[IdentityTestId](ParameterMetaData.StringParameterMetaData.sqlType, ParameterMetaData.StringParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[IdentityTestId] = PGType.PGTypeString.as implicit lazy val setter: Setter[IdentityTestId] = Setter.stringSetter.contramap(_.value) implicit lazy val text: Text[IdentityTestId] = new Text[IdentityTestId] { override def unsafeEncode(v: IdentityTestId, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/pgtest/PgtestFields.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/pgtest/PgtestFields.scala index 9eac6a6a9c..8cca648df1 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/pgtest/PgtestFields.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/pgtest/PgtestFields.scala @@ -155,38 +155,38 @@ object PgtestFields { override def varchar = Field[String, PgtestRow](_path, "varchar", None, None, x => x.varchar, (row, value) => row.copy(varchar = value)) override def vector = Field[TypoVector, PgtestRow](_path, "vector", Some("float4[]"), Some("vector"), x => x.vector, (row, value) => row.copy(vector = value)) override def xml = Field[TypoXml, PgtestRow](_path, "xml", None, Some("xml"), x => x.xml, (row, value) => row.copy(xml = value)) - override def boxes = Field[Array[TypoBox], PgtestRow](_path, "boxes", None, Some("_box"), x => x.boxes, (row, value) => row.copy(boxes = value)) - override def bpchares = Field[Array[/* bpchar */ String], PgtestRow](_path, "bpchares", None, Some("_bpchar"), x => x.bpchares, (row, value) => row.copy(bpchares = value)) - override def chares = Field[Array[/* bpchar */ String], PgtestRow](_path, "chares", None, Some("_bpchar"), x => x.chares, (row, value) => row.copy(chares = value)) - override def circlees = Field[Array[TypoCircle], PgtestRow](_path, "circlees", None, Some("_circle"), x => x.circlees, (row, value) => row.copy(circlees = value)) - override def datees = Field[Array[TypoLocalDate], PgtestRow](_path, "datees", Some("text[]"), Some("_date"), x => x.datees, (row, value) => row.copy(datees = value)) - override def float4es = Field[Array[Float], PgtestRow](_path, "float4es", None, Some("_float4"), x => x.float4es, (row, value) => row.copy(float4es = value)) - override def float8es = Field[Array[Double], PgtestRow](_path, "float8es", None, Some("_float8"), x => x.float8es, (row, value) => row.copy(float8es = value)) - override def inetes = Field[Array[TypoInet], PgtestRow](_path, "inetes", None, Some("_inet"), x => x.inetes, (row, value) => row.copy(inetes = value)) - override def int2es = Field[Array[TypoShort], PgtestRow](_path, "int2es", None, Some("_int2"), x => x.int2es, (row, value) => row.copy(int2es = value)) - override def int2vectores = Field[Array[TypoInt2Vector], PgtestRow](_path, "int2vectores", None, Some("_int2vector"), x => x.int2vectores, (row, value) => row.copy(int2vectores = value)) - override def int4es = Field[Array[Int], PgtestRow](_path, "int4es", None, Some("_int4"), x => x.int4es, (row, value) => row.copy(int4es = value)) - override def int8es = Field[Array[Long], PgtestRow](_path, "int8es", None, Some("_int8"), x => x.int8es, (row, value) => row.copy(int8es = value)) - override def intervales = Field[Array[TypoInterval], PgtestRow](_path, "intervales", None, Some("_interval"), x => x.intervales, (row, value) => row.copy(intervales = value)) - override def jsones = Field[Array[TypoJson], PgtestRow](_path, "jsones", None, Some("_json"), x => x.jsones, (row, value) => row.copy(jsones = value)) - override def jsonbes = Field[Array[TypoJsonb], PgtestRow](_path, "jsonbes", None, Some("_jsonb"), x => x.jsonbes, (row, value) => row.copy(jsonbes = value)) - override def linees = Field[Array[TypoLine], PgtestRow](_path, "linees", None, Some("_line"), x => x.linees, (row, value) => row.copy(linees = value)) - override def lseges = Field[Array[TypoLineSegment], PgtestRow](_path, "lseges", None, Some("_lseg"), x => x.lseges, (row, value) => row.copy(lseges = value)) - override def moneyes = Field[Array[TypoMoney], PgtestRow](_path, "moneyes", Some("numeric[]"), Some("_money"), x => x.moneyes, (row, value) => row.copy(moneyes = value)) - override def myenumes = Field[Array[Myenum], PgtestRow](_path, "myenumes", None, Some("_myenum"), x => x.myenumes, (row, value) => row.copy(myenumes = value)) - override def namees = Field[Array[String], PgtestRow](_path, "namees", None, Some("_name"), x => x.namees, (row, value) => row.copy(namees = value)) - override def numerices = Field[Array[BigDecimal], PgtestRow](_path, "numerices", None, Some("_numeric"), x => x.numerices, (row, value) => row.copy(numerices = value)) - override def pathes = Field[Array[TypoPath], PgtestRow](_path, "pathes", None, Some("_path"), x => x.pathes, (row, value) => row.copy(pathes = value)) - override def pointes = Field[Array[TypoPoint], PgtestRow](_path, "pointes", None, Some("_point"), x => x.pointes, (row, value) => row.copy(pointes = value)) - override def polygones = Field[Array[TypoPolygon], PgtestRow](_path, "polygones", None, Some("_polygon"), x => x.polygones, (row, value) => row.copy(polygones = value)) - override def textes = Field[Array[String], PgtestRow](_path, "textes", None, Some("_text"), x => x.textes, (row, value) => row.copy(textes = value)) - override def timees = Field[Array[TypoLocalTime], PgtestRow](_path, "timees", Some("text[]"), Some("_time"), x => x.timees, (row, value) => row.copy(timees = value)) - override def timestampes = Field[Array[TypoLocalDateTime], PgtestRow](_path, "timestampes", Some("text[]"), Some("_timestamp"), x => x.timestampes, (row, value) => row.copy(timestampes = value)) - override def timestampzes = Field[Array[TypoInstant], PgtestRow](_path, "timestampzes", Some("text[]"), Some("_timestamptz"), x => x.timestampzes, (row, value) => row.copy(timestampzes = value)) - override def timezes = Field[Array[TypoOffsetTime], PgtestRow](_path, "timezes", Some("text[]"), Some("_timetz"), x => x.timezes, (row, value) => row.copy(timezes = value)) - override def uuides = Field[Array[TypoUUID], PgtestRow](_path, "uuides", None, Some("_uuid"), x => x.uuides, (row, value) => row.copy(uuides = value)) - override def varchares = Field[Array[String], PgtestRow](_path, "varchares", None, Some("_varchar"), x => x.varchares, (row, value) => row.copy(varchares = value)) - override def xmles = Field[Array[TypoXml], PgtestRow](_path, "xmles", None, Some("_xml"), x => x.xmles, (row, value) => row.copy(xmles = value)) + override def boxes = Field[Array[TypoBox], PgtestRow](_path, "boxes", None, Some("box[]"), x => x.boxes, (row, value) => row.copy(boxes = value)) + override def bpchares = Field[Array[/* bpchar */ String], PgtestRow](_path, "bpchares", None, Some("bpchar[]"), x => x.bpchares, (row, value) => row.copy(bpchares = value)) + override def chares = Field[Array[/* bpchar */ String], PgtestRow](_path, "chares", None, Some("bpchar[]"), x => x.chares, (row, value) => row.copy(chares = value)) + override def circlees = Field[Array[TypoCircle], PgtestRow](_path, "circlees", None, Some("circle[]"), x => x.circlees, (row, value) => row.copy(circlees = value)) + override def datees = Field[Array[TypoLocalDate], PgtestRow](_path, "datees", Some("text[]"), Some("date[]"), x => x.datees, (row, value) => row.copy(datees = value)) + override def float4es = Field[Array[Float], PgtestRow](_path, "float4es", None, Some("float4[]"), x => x.float4es, (row, value) => row.copy(float4es = value)) + override def float8es = Field[Array[Double], PgtestRow](_path, "float8es", None, Some("float8[]"), x => x.float8es, (row, value) => row.copy(float8es = value)) + override def inetes = Field[Array[TypoInet], PgtestRow](_path, "inetes", None, Some("inet[]"), x => x.inetes, (row, value) => row.copy(inetes = value)) + override def int2es = Field[Array[TypoShort], PgtestRow](_path, "int2es", None, Some("int2[]"), x => x.int2es, (row, value) => row.copy(int2es = value)) + override def int2vectores = Field[Array[TypoInt2Vector], PgtestRow](_path, "int2vectores", None, Some("int2vector[]"), x => x.int2vectores, (row, value) => row.copy(int2vectores = value)) + override def int4es = Field[Array[Int], PgtestRow](_path, "int4es", None, Some("int4[]"), x => x.int4es, (row, value) => row.copy(int4es = value)) + override def int8es = Field[Array[Long], PgtestRow](_path, "int8es", None, Some("int8[]"), x => x.int8es, (row, value) => row.copy(int8es = value)) + override def intervales = Field[Array[TypoInterval], PgtestRow](_path, "intervales", None, Some("interval[]"), x => x.intervales, (row, value) => row.copy(intervales = value)) + override def jsones = Field[Array[TypoJson], PgtestRow](_path, "jsones", None, Some("json[]"), x => x.jsones, (row, value) => row.copy(jsones = value)) + override def jsonbes = Field[Array[TypoJsonb], PgtestRow](_path, "jsonbes", None, Some("jsonb[]"), x => x.jsonbes, (row, value) => row.copy(jsonbes = value)) + override def linees = Field[Array[TypoLine], PgtestRow](_path, "linees", None, Some("line[]"), x => x.linees, (row, value) => row.copy(linees = value)) + override def lseges = Field[Array[TypoLineSegment], PgtestRow](_path, "lseges", None, Some("lseg[]"), x => x.lseges, (row, value) => row.copy(lseges = value)) + override def moneyes = Field[Array[TypoMoney], PgtestRow](_path, "moneyes", Some("numeric[]"), Some("money[]"), x => x.moneyes, (row, value) => row.copy(moneyes = value)) + override def myenumes = Field[Array[Myenum], PgtestRow](_path, "myenumes", None, Some("myenum[]"), x => x.myenumes, (row, value) => row.copy(myenumes = value)) + override def namees = Field[Array[String], PgtestRow](_path, "namees", None, Some("name[]"), x => x.namees, (row, value) => row.copy(namees = value)) + override def numerices = Field[Array[BigDecimal], PgtestRow](_path, "numerices", None, Some("numeric[]"), x => x.numerices, (row, value) => row.copy(numerices = value)) + override def pathes = Field[Array[TypoPath], PgtestRow](_path, "pathes", None, Some("path[]"), x => x.pathes, (row, value) => row.copy(pathes = value)) + override def pointes = Field[Array[TypoPoint], PgtestRow](_path, "pointes", None, Some("point[]"), x => x.pointes, (row, value) => row.copy(pointes = value)) + override def polygones = Field[Array[TypoPolygon], PgtestRow](_path, "polygones", None, Some("polygon[]"), x => x.polygones, (row, value) => row.copy(polygones = value)) + override def textes = Field[Array[String], PgtestRow](_path, "textes", None, Some("text[]"), x => x.textes, (row, value) => row.copy(textes = value)) + override def timees = Field[Array[TypoLocalTime], PgtestRow](_path, "timees", Some("text[]"), Some("time[]"), x => x.timees, (row, value) => row.copy(timees = value)) + override def timestampes = Field[Array[TypoLocalDateTime], PgtestRow](_path, "timestampes", Some("text[]"), Some("timestamp[]"), x => x.timestampes, (row, value) => row.copy(timestampes = value)) + override def timestampzes = Field[Array[TypoInstant], PgtestRow](_path, "timestampzes", Some("text[]"), Some("timestamptz[]"), x => x.timestampzes, (row, value) => row.copy(timestampzes = value)) + override def timezes = Field[Array[TypoOffsetTime], PgtestRow](_path, "timezes", Some("text[]"), Some("timetz[]"), x => x.timezes, (row, value) => row.copy(timezes = value)) + override def uuides = Field[Array[TypoUUID], PgtestRow](_path, "uuides", None, Some("uuid[]"), x => x.uuides, (row, value) => row.copy(uuides = value)) + override def varchares = Field[Array[String], PgtestRow](_path, "varchares", None, Some("varchar[]"), x => x.varchares, (row, value) => row.copy(varchares = value)) + override def xmles = Field[Array[TypoXml], PgtestRow](_path, "xmles", None, Some("xml[]"), x => x.xmles, (row, value) => row.copy(xmles = value)) } override lazy val columns: List[FieldLikeNoHkt[?, PgtestRow]] = diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/pgtest/PgtestRepoImpl.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/pgtest/PgtestRepoImpl.scala index f19b76d300..0e296a25a4 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/pgtest/PgtestRepoImpl.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/pgtest/PgtestRepoImpl.scala @@ -51,7 +51,7 @@ class PgtestRepoImpl extends PgtestRepo { } override def insert(unsaved: PgtestRow): ZIO[ZConnection, Throwable, PgtestRow] = { sql"""insert into public.pgtest("bool", "box", "bpchar", "bytea", "char", "circle", "date", "float4", "float8", "hstore", "inet", "int2", "int2vector", "int4", "int8", "interval", "json", "jsonb", "line", "lseg", "money", "mydomain", "myenum", "name", "numeric", "path", "point", "polygon", "text", "time", "timestamp", "timestampz", "timez", "uuid", "varchar", "vector", "xml", "boxes", "bpchares", "chares", "circlees", "datees", "float4es", "float8es", "inetes", "int2es", "int2vectores", "int4es", "int8es", "intervales", "jsones", "jsonbes", "linees", "lseges", "moneyes", "myenumes", "namees", "numerices", "pathes", "pointes", "polygones", "textes", "timees", "timestampes", "timestampzes", "timezes", "uuides", "varchares", "xmles") - values (${Segment.paramSegment(unsaved.bool)(Setter.booleanSetter)}, ${Segment.paramSegment(unsaved.box)(TypoBox.setter)}::box, ${Segment.paramSegment(unsaved.bpchar)(Setter.stringSetter)}::bpchar, ${Segment.paramSegment(unsaved.bytea)(TypoBytea.setter)}::bytea, ${Segment.paramSegment(unsaved.char)(Setter.stringSetter)}::bpchar, ${Segment.paramSegment(unsaved.circle)(TypoCircle.setter)}::circle, ${Segment.paramSegment(unsaved.date)(TypoLocalDate.setter)}::date, ${Segment.paramSegment(unsaved.float4)(Setter.floatSetter)}::float4, ${Segment.paramSegment(unsaved.float8)(Setter.doubleSetter)}::float8, ${Segment.paramSegment(unsaved.hstore)(TypoHStore.setter)}::hstore, ${Segment.paramSegment(unsaved.inet)(TypoInet.setter)}::inet, ${Segment.paramSegment(unsaved.int2)(TypoShort.setter)}::int2, ${Segment.paramSegment(unsaved.int2vector)(TypoInt2Vector.setter)}::int2vector, ${Segment.paramSegment(unsaved.int4)(Setter.intSetter)}::int4, ${Segment.paramSegment(unsaved.int8)(Setter.longSetter)}::int8, ${Segment.paramSegment(unsaved.interval)(TypoInterval.setter)}::interval, ${Segment.paramSegment(unsaved.json)(TypoJson.setter)}::json, ${Segment.paramSegment(unsaved.jsonb)(TypoJsonb.setter)}::jsonb, ${Segment.paramSegment(unsaved.line)(TypoLine.setter)}::line, ${Segment.paramSegment(unsaved.lseg)(TypoLineSegment.setter)}::lseg, ${Segment.paramSegment(unsaved.money)(TypoMoney.setter)}::money, ${Segment.paramSegment(unsaved.mydomain)(Mydomain.setter)}::text, ${Segment.paramSegment(unsaved.myenum)(Myenum.setter)}::public.myenum, ${Segment.paramSegment(unsaved.name)(Setter.stringSetter)}::name, ${Segment.paramSegment(unsaved.numeric)(Setter.bigDecimalScalaSetter)}::numeric, ${Segment.paramSegment(unsaved.path)(TypoPath.setter)}::path, ${Segment.paramSegment(unsaved.point)(TypoPoint.setter)}::point, ${Segment.paramSegment(unsaved.polygon)(TypoPolygon.setter)}::polygon, ${Segment.paramSegment(unsaved.text)(Setter.stringSetter)}, ${Segment.paramSegment(unsaved.time)(TypoLocalTime.setter)}::time, ${Segment.paramSegment(unsaved.timestamp)(TypoLocalDateTime.setter)}::timestamp, ${Segment.paramSegment(unsaved.timestampz)(TypoInstant.setter)}::timestamptz, ${Segment.paramSegment(unsaved.timez)(TypoOffsetTime.setter)}::timetz, ${Segment.paramSegment(unsaved.uuid)(TypoUUID.setter)}::uuid, ${Segment.paramSegment(unsaved.varchar)(Setter.stringSetter)}, ${Segment.paramSegment(unsaved.vector)(TypoVector.setter)}::vector, ${Segment.paramSegment(unsaved.xml)(TypoXml.setter)}::xml, ${Segment.paramSegment(unsaved.boxes)(TypoBox.arraySetter)}::_box, ${Segment.paramSegment(unsaved.bpchares)(adventureworks.StringArraySetter)}::_bpchar, ${Segment.paramSegment(unsaved.chares)(adventureworks.StringArraySetter)}::_bpchar, ${Segment.paramSegment(unsaved.circlees)(TypoCircle.arraySetter)}::_circle, ${Segment.paramSegment(unsaved.datees)(TypoLocalDate.arraySetter)}::_date, ${Segment.paramSegment(unsaved.float4es)(adventureworks.FloatArraySetter)}::_float4, ${Segment.paramSegment(unsaved.float8es)(adventureworks.DoubleArraySetter)}::_float8, ${Segment.paramSegment(unsaved.inetes)(TypoInet.arraySetter)}::_inet, ${Segment.paramSegment(unsaved.int2es)(TypoShort.arraySetter)}::_int2, ${Segment.paramSegment(unsaved.int2vectores)(TypoInt2Vector.arraySetter)}::_int2vector, ${Segment.paramSegment(unsaved.int4es)(adventureworks.IntArraySetter)}::_int4, ${Segment.paramSegment(unsaved.int8es)(adventureworks.LongArraySetter)}::_int8, ${Segment.paramSegment(unsaved.intervales)(TypoInterval.arraySetter)}::_interval, ${Segment.paramSegment(unsaved.jsones)(TypoJson.arraySetter)}::_json, ${Segment.paramSegment(unsaved.jsonbes)(TypoJsonb.arraySetter)}::_jsonb, ${Segment.paramSegment(unsaved.linees)(TypoLine.arraySetter)}::_line, ${Segment.paramSegment(unsaved.lseges)(TypoLineSegment.arraySetter)}::_lseg, ${Segment.paramSegment(unsaved.moneyes)(TypoMoney.arraySetter)}::_money, ${Segment.paramSegment(unsaved.myenumes)(Myenum.arraySetter)}::_myenum, ${Segment.paramSegment(unsaved.namees)(adventureworks.StringArraySetter)}::_name, ${Segment.paramSegment(unsaved.numerices)(adventureworks.ScalaBigDecimalArraySetter)}::_numeric, ${Segment.paramSegment(unsaved.pathes)(TypoPath.arraySetter)}::_path, ${Segment.paramSegment(unsaved.pointes)(TypoPoint.arraySetter)}::_point, ${Segment.paramSegment(unsaved.polygones)(TypoPolygon.arraySetter)}::_polygon, ${Segment.paramSegment(unsaved.textes)(adventureworks.StringArraySetter)}::_text, ${Segment.paramSegment(unsaved.timees)(TypoLocalTime.arraySetter)}::_time, ${Segment.paramSegment(unsaved.timestampes)(TypoLocalDateTime.arraySetter)}::_timestamp, ${Segment.paramSegment(unsaved.timestampzes)(TypoInstant.arraySetter)}::_timestamptz, ${Segment.paramSegment(unsaved.timezes)(TypoOffsetTime.arraySetter)}::_timetz, ${Segment.paramSegment(unsaved.uuides)(TypoUUID.arraySetter)}::_uuid, ${Segment.paramSegment(unsaved.varchares)(adventureworks.StringArraySetter)}::_varchar, ${Segment.paramSegment(unsaved.xmles)(TypoXml.arraySetter)}::_xml) + values (${Segment.paramSegment(unsaved.bool)(Setter.booleanSetter)}, ${Segment.paramSegment(unsaved.box)(TypoBox.setter)}::box, ${Segment.paramSegment(unsaved.bpchar)(Setter.stringSetter)}::bpchar, ${Segment.paramSegment(unsaved.bytea)(TypoBytea.setter)}::bytea, ${Segment.paramSegment(unsaved.char)(Setter.stringSetter)}::bpchar, ${Segment.paramSegment(unsaved.circle)(TypoCircle.setter)}::circle, ${Segment.paramSegment(unsaved.date)(TypoLocalDate.setter)}::date, ${Segment.paramSegment(unsaved.float4)(Setter.floatSetter)}::float4, ${Segment.paramSegment(unsaved.float8)(Setter.doubleSetter)}::float8, ${Segment.paramSegment(unsaved.hstore)(TypoHStore.setter)}::hstore, ${Segment.paramSegment(unsaved.inet)(TypoInet.setter)}::inet, ${Segment.paramSegment(unsaved.int2)(TypoShort.setter)}::int2, ${Segment.paramSegment(unsaved.int2vector)(TypoInt2Vector.setter)}::int2vector, ${Segment.paramSegment(unsaved.int4)(Setter.intSetter)}::int4, ${Segment.paramSegment(unsaved.int8)(Setter.longSetter)}::int8, ${Segment.paramSegment(unsaved.interval)(TypoInterval.setter)}::interval, ${Segment.paramSegment(unsaved.json)(TypoJson.setter)}::json, ${Segment.paramSegment(unsaved.jsonb)(TypoJsonb.setter)}::jsonb, ${Segment.paramSegment(unsaved.line)(TypoLine.setter)}::line, ${Segment.paramSegment(unsaved.lseg)(TypoLineSegment.setter)}::lseg, ${Segment.paramSegment(unsaved.money)(TypoMoney.setter)}::money, ${Segment.paramSegment(unsaved.mydomain)(Mydomain.setter)}::text, ${Segment.paramSegment(unsaved.myenum)(Myenum.setter)}::public.myenum, ${Segment.paramSegment(unsaved.name)(Setter.stringSetter)}::name, ${Segment.paramSegment(unsaved.numeric)(Setter.bigDecimalScalaSetter)}::numeric, ${Segment.paramSegment(unsaved.path)(TypoPath.setter)}::path, ${Segment.paramSegment(unsaved.point)(TypoPoint.setter)}::point, ${Segment.paramSegment(unsaved.polygon)(TypoPolygon.setter)}::polygon, ${Segment.paramSegment(unsaved.text)(Setter.stringSetter)}, ${Segment.paramSegment(unsaved.time)(TypoLocalTime.setter)}::time, ${Segment.paramSegment(unsaved.timestamp)(TypoLocalDateTime.setter)}::timestamp, ${Segment.paramSegment(unsaved.timestampz)(TypoInstant.setter)}::timestamptz, ${Segment.paramSegment(unsaved.timez)(TypoOffsetTime.setter)}::timetz, ${Segment.paramSegment(unsaved.uuid)(TypoUUID.setter)}::uuid, ${Segment.paramSegment(unsaved.varchar)(Setter.stringSetter)}, ${Segment.paramSegment(unsaved.vector)(TypoVector.setter)}::vector, ${Segment.paramSegment(unsaved.xml)(TypoXml.setter)}::xml, ${Segment.paramSegment(unsaved.boxes)(TypoBox.arraySetter)}::box[], ${Segment.paramSegment(unsaved.bpchares)(adventureworks.StringArraySetter)}::bpchar[], ${Segment.paramSegment(unsaved.chares)(adventureworks.StringArraySetter)}::bpchar[], ${Segment.paramSegment(unsaved.circlees)(TypoCircle.arraySetter)}::circle[], ${Segment.paramSegment(unsaved.datees)(TypoLocalDate.arraySetter)}::date[], ${Segment.paramSegment(unsaved.float4es)(adventureworks.FloatArraySetter)}::float4[], ${Segment.paramSegment(unsaved.float8es)(adventureworks.DoubleArraySetter)}::float8[], ${Segment.paramSegment(unsaved.inetes)(TypoInet.arraySetter)}::inet[], ${Segment.paramSegment(unsaved.int2es)(TypoShort.arraySetter)}::int2[], ${Segment.paramSegment(unsaved.int2vectores)(TypoInt2Vector.arraySetter)}::int2vector[], ${Segment.paramSegment(unsaved.int4es)(adventureworks.IntArraySetter)}::int4[], ${Segment.paramSegment(unsaved.int8es)(adventureworks.LongArraySetter)}::int8[], ${Segment.paramSegment(unsaved.intervales)(TypoInterval.arraySetter)}::interval[], ${Segment.paramSegment(unsaved.jsones)(TypoJson.arraySetter)}::json[], ${Segment.paramSegment(unsaved.jsonbes)(TypoJsonb.arraySetter)}::jsonb[], ${Segment.paramSegment(unsaved.linees)(TypoLine.arraySetter)}::line[], ${Segment.paramSegment(unsaved.lseges)(TypoLineSegment.arraySetter)}::lseg[], ${Segment.paramSegment(unsaved.moneyes)(TypoMoney.arraySetter)}::money[], ${Segment.paramSegment(unsaved.myenumes)(Myenum.arraySetter)}::myenum[], ${Segment.paramSegment(unsaved.namees)(adventureworks.StringArraySetter)}::name[], ${Segment.paramSegment(unsaved.numerices)(adventureworks.ScalaBigDecimalArraySetter)}::numeric[], ${Segment.paramSegment(unsaved.pathes)(TypoPath.arraySetter)}::path[], ${Segment.paramSegment(unsaved.pointes)(TypoPoint.arraySetter)}::point[], ${Segment.paramSegment(unsaved.polygones)(TypoPolygon.arraySetter)}::polygon[], ${Segment.paramSegment(unsaved.textes)(adventureworks.StringArraySetter)}::text[], ${Segment.paramSegment(unsaved.timees)(TypoLocalTime.arraySetter)}::time[], ${Segment.paramSegment(unsaved.timestampes)(TypoLocalDateTime.arraySetter)}::timestamp[], ${Segment.paramSegment(unsaved.timestampzes)(TypoInstant.arraySetter)}::timestamptz[], ${Segment.paramSegment(unsaved.timezes)(TypoOffsetTime.arraySetter)}::timetz[], ${Segment.paramSegment(unsaved.uuides)(TypoUUID.arraySetter)}::uuid[], ${Segment.paramSegment(unsaved.varchares)(adventureworks.StringArraySetter)}::varchar[], ${Segment.paramSegment(unsaved.xmles)(TypoXml.arraySetter)}::xml[]) returning "bool", "box", "bpchar", "bytea", "char", "circle", "date"::text, "float4", "float8", "hstore", "inet", "int2", "int2vector", "int4", "int8", "interval", "json", "jsonb", "line", "lseg", "money"::numeric, "mydomain", "myenum", "name", "numeric", "path", "point", "polygon", "text", "time"::text, "timestamp"::text, "timestampz"::text, "timez"::text, "uuid", "varchar", "vector"::float4[], "xml", "boxes", "bpchares", "chares", "circlees", "datees"::text[], "float4es", "float8es", "inetes", "int2es", "int2vectores", "int4es", "int8es", "intervales", "jsones", "jsonbes", "linees", "lseges", "moneyes"::numeric[], "myenumes", "namees", "numerices", "pathes", "pointes", "polygones", "textes", "timees"::text[], "timestampes"::text[], "timestampzes"::text[], "timezes"::text[], "uuides", "varchares", "xmles" """.insertReturning(using PgtestRow.jdbcDecoder).map(_.updatedKeys.head) } diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullFields.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullFields.scala index 43258f8e24..cc5cbf7653 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullFields.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullFields.scala @@ -155,38 +155,38 @@ object PgtestnullFields { override def varchar = OptField[String, PgtestnullRow](_path, "varchar", None, None, x => x.varchar, (row, value) => row.copy(varchar = value)) override def vector = OptField[TypoVector, PgtestnullRow](_path, "vector", Some("float4[]"), Some("vector"), x => x.vector, (row, value) => row.copy(vector = value)) override def xml = OptField[TypoXml, PgtestnullRow](_path, "xml", None, Some("xml"), x => x.xml, (row, value) => row.copy(xml = value)) - override def boxes = OptField[Array[TypoBox], PgtestnullRow](_path, "boxes", None, Some("_box"), x => x.boxes, (row, value) => row.copy(boxes = value)) - override def bpchares = OptField[Array[/* bpchar */ String], PgtestnullRow](_path, "bpchares", None, Some("_bpchar"), x => x.bpchares, (row, value) => row.copy(bpchares = value)) - override def chares = OptField[Array[/* bpchar */ String], PgtestnullRow](_path, "chares", None, Some("_bpchar"), x => x.chares, (row, value) => row.copy(chares = value)) - override def circlees = OptField[Array[TypoCircle], PgtestnullRow](_path, "circlees", None, Some("_circle"), x => x.circlees, (row, value) => row.copy(circlees = value)) - override def datees = OptField[Array[TypoLocalDate], PgtestnullRow](_path, "datees", Some("text[]"), Some("_date"), x => x.datees, (row, value) => row.copy(datees = value)) - override def float4es = OptField[Array[Float], PgtestnullRow](_path, "float4es", None, Some("_float4"), x => x.float4es, (row, value) => row.copy(float4es = value)) - override def float8es = OptField[Array[Double], PgtestnullRow](_path, "float8es", None, Some("_float8"), x => x.float8es, (row, value) => row.copy(float8es = value)) - override def inetes = OptField[Array[TypoInet], PgtestnullRow](_path, "inetes", None, Some("_inet"), x => x.inetes, (row, value) => row.copy(inetes = value)) - override def int2es = OptField[Array[TypoShort], PgtestnullRow](_path, "int2es", None, Some("_int2"), x => x.int2es, (row, value) => row.copy(int2es = value)) - override def int2vectores = OptField[Array[TypoInt2Vector], PgtestnullRow](_path, "int2vectores", None, Some("_int2vector"), x => x.int2vectores, (row, value) => row.copy(int2vectores = value)) - override def int4es = OptField[Array[Int], PgtestnullRow](_path, "int4es", None, Some("_int4"), x => x.int4es, (row, value) => row.copy(int4es = value)) - override def int8es = OptField[Array[Long], PgtestnullRow](_path, "int8es", None, Some("_int8"), x => x.int8es, (row, value) => row.copy(int8es = value)) - override def intervales = OptField[Array[TypoInterval], PgtestnullRow](_path, "intervales", None, Some("_interval"), x => x.intervales, (row, value) => row.copy(intervales = value)) - override def jsones = OptField[Array[TypoJson], PgtestnullRow](_path, "jsones", None, Some("_json"), x => x.jsones, (row, value) => row.copy(jsones = value)) - override def jsonbes = OptField[Array[TypoJsonb], PgtestnullRow](_path, "jsonbes", None, Some("_jsonb"), x => x.jsonbes, (row, value) => row.copy(jsonbes = value)) - override def linees = OptField[Array[TypoLine], PgtestnullRow](_path, "linees", None, Some("_line"), x => x.linees, (row, value) => row.copy(linees = value)) - override def lseges = OptField[Array[TypoLineSegment], PgtestnullRow](_path, "lseges", None, Some("_lseg"), x => x.lseges, (row, value) => row.copy(lseges = value)) - override def moneyes = OptField[Array[TypoMoney], PgtestnullRow](_path, "moneyes", Some("numeric[]"), Some("_money"), x => x.moneyes, (row, value) => row.copy(moneyes = value)) - override def myenumes = OptField[Array[Myenum], PgtestnullRow](_path, "myenumes", None, Some("_myenum"), x => x.myenumes, (row, value) => row.copy(myenumes = value)) - override def namees = OptField[Array[String], PgtestnullRow](_path, "namees", None, Some("_name"), x => x.namees, (row, value) => row.copy(namees = value)) - override def numerices = OptField[Array[BigDecimal], PgtestnullRow](_path, "numerices", None, Some("_numeric"), x => x.numerices, (row, value) => row.copy(numerices = value)) - override def pathes = OptField[Array[TypoPath], PgtestnullRow](_path, "pathes", None, Some("_path"), x => x.pathes, (row, value) => row.copy(pathes = value)) - override def pointes = OptField[Array[TypoPoint], PgtestnullRow](_path, "pointes", None, Some("_point"), x => x.pointes, (row, value) => row.copy(pointes = value)) - override def polygones = OptField[Array[TypoPolygon], PgtestnullRow](_path, "polygones", None, Some("_polygon"), x => x.polygones, (row, value) => row.copy(polygones = value)) - override def textes = OptField[Array[String], PgtestnullRow](_path, "textes", None, Some("_text"), x => x.textes, (row, value) => row.copy(textes = value)) - override def timees = OptField[Array[TypoLocalTime], PgtestnullRow](_path, "timees", Some("text[]"), Some("_time"), x => x.timees, (row, value) => row.copy(timees = value)) - override def timestampes = OptField[Array[TypoLocalDateTime], PgtestnullRow](_path, "timestampes", Some("text[]"), Some("_timestamp"), x => x.timestampes, (row, value) => row.copy(timestampes = value)) - override def timestampzes = OptField[Array[TypoInstant], PgtestnullRow](_path, "timestampzes", Some("text[]"), Some("_timestamptz"), x => x.timestampzes, (row, value) => row.copy(timestampzes = value)) - override def timezes = OptField[Array[TypoOffsetTime], PgtestnullRow](_path, "timezes", Some("text[]"), Some("_timetz"), x => x.timezes, (row, value) => row.copy(timezes = value)) - override def uuides = OptField[Array[TypoUUID], PgtestnullRow](_path, "uuides", None, Some("_uuid"), x => x.uuides, (row, value) => row.copy(uuides = value)) - override def varchares = OptField[Array[String], PgtestnullRow](_path, "varchares", None, Some("_varchar"), x => x.varchares, (row, value) => row.copy(varchares = value)) - override def xmles = OptField[Array[TypoXml], PgtestnullRow](_path, "xmles", None, Some("_xml"), x => x.xmles, (row, value) => row.copy(xmles = value)) + override def boxes = OptField[Array[TypoBox], PgtestnullRow](_path, "boxes", None, Some("box[]"), x => x.boxes, (row, value) => row.copy(boxes = value)) + override def bpchares = OptField[Array[/* bpchar */ String], PgtestnullRow](_path, "bpchares", None, Some("bpchar[]"), x => x.bpchares, (row, value) => row.copy(bpchares = value)) + override def chares = OptField[Array[/* bpchar */ String], PgtestnullRow](_path, "chares", None, Some("bpchar[]"), x => x.chares, (row, value) => row.copy(chares = value)) + override def circlees = OptField[Array[TypoCircle], PgtestnullRow](_path, "circlees", None, Some("circle[]"), x => x.circlees, (row, value) => row.copy(circlees = value)) + override def datees = OptField[Array[TypoLocalDate], PgtestnullRow](_path, "datees", Some("text[]"), Some("date[]"), x => x.datees, (row, value) => row.copy(datees = value)) + override def float4es = OptField[Array[Float], PgtestnullRow](_path, "float4es", None, Some("float4[]"), x => x.float4es, (row, value) => row.copy(float4es = value)) + override def float8es = OptField[Array[Double], PgtestnullRow](_path, "float8es", None, Some("float8[]"), x => x.float8es, (row, value) => row.copy(float8es = value)) + override def inetes = OptField[Array[TypoInet], PgtestnullRow](_path, "inetes", None, Some("inet[]"), x => x.inetes, (row, value) => row.copy(inetes = value)) + override def int2es = OptField[Array[TypoShort], PgtestnullRow](_path, "int2es", None, Some("int2[]"), x => x.int2es, (row, value) => row.copy(int2es = value)) + override def int2vectores = OptField[Array[TypoInt2Vector], PgtestnullRow](_path, "int2vectores", None, Some("int2vector[]"), x => x.int2vectores, (row, value) => row.copy(int2vectores = value)) + override def int4es = OptField[Array[Int], PgtestnullRow](_path, "int4es", None, Some("int4[]"), x => x.int4es, (row, value) => row.copy(int4es = value)) + override def int8es = OptField[Array[Long], PgtestnullRow](_path, "int8es", None, Some("int8[]"), x => x.int8es, (row, value) => row.copy(int8es = value)) + override def intervales = OptField[Array[TypoInterval], PgtestnullRow](_path, "intervales", None, Some("interval[]"), x => x.intervales, (row, value) => row.copy(intervales = value)) + override def jsones = OptField[Array[TypoJson], PgtestnullRow](_path, "jsones", None, Some("json[]"), x => x.jsones, (row, value) => row.copy(jsones = value)) + override def jsonbes = OptField[Array[TypoJsonb], PgtestnullRow](_path, "jsonbes", None, Some("jsonb[]"), x => x.jsonbes, (row, value) => row.copy(jsonbes = value)) + override def linees = OptField[Array[TypoLine], PgtestnullRow](_path, "linees", None, Some("line[]"), x => x.linees, (row, value) => row.copy(linees = value)) + override def lseges = OptField[Array[TypoLineSegment], PgtestnullRow](_path, "lseges", None, Some("lseg[]"), x => x.lseges, (row, value) => row.copy(lseges = value)) + override def moneyes = OptField[Array[TypoMoney], PgtestnullRow](_path, "moneyes", Some("numeric[]"), Some("money[]"), x => x.moneyes, (row, value) => row.copy(moneyes = value)) + override def myenumes = OptField[Array[Myenum], PgtestnullRow](_path, "myenumes", None, Some("myenum[]"), x => x.myenumes, (row, value) => row.copy(myenumes = value)) + override def namees = OptField[Array[String], PgtestnullRow](_path, "namees", None, Some("name[]"), x => x.namees, (row, value) => row.copy(namees = value)) + override def numerices = OptField[Array[BigDecimal], PgtestnullRow](_path, "numerices", None, Some("numeric[]"), x => x.numerices, (row, value) => row.copy(numerices = value)) + override def pathes = OptField[Array[TypoPath], PgtestnullRow](_path, "pathes", None, Some("path[]"), x => x.pathes, (row, value) => row.copy(pathes = value)) + override def pointes = OptField[Array[TypoPoint], PgtestnullRow](_path, "pointes", None, Some("point[]"), x => x.pointes, (row, value) => row.copy(pointes = value)) + override def polygones = OptField[Array[TypoPolygon], PgtestnullRow](_path, "polygones", None, Some("polygon[]"), x => x.polygones, (row, value) => row.copy(polygones = value)) + override def textes = OptField[Array[String], PgtestnullRow](_path, "textes", None, Some("text[]"), x => x.textes, (row, value) => row.copy(textes = value)) + override def timees = OptField[Array[TypoLocalTime], PgtestnullRow](_path, "timees", Some("text[]"), Some("time[]"), x => x.timees, (row, value) => row.copy(timees = value)) + override def timestampes = OptField[Array[TypoLocalDateTime], PgtestnullRow](_path, "timestampes", Some("text[]"), Some("timestamp[]"), x => x.timestampes, (row, value) => row.copy(timestampes = value)) + override def timestampzes = OptField[Array[TypoInstant], PgtestnullRow](_path, "timestampzes", Some("text[]"), Some("timestamptz[]"), x => x.timestampzes, (row, value) => row.copy(timestampzes = value)) + override def timezes = OptField[Array[TypoOffsetTime], PgtestnullRow](_path, "timezes", Some("text[]"), Some("timetz[]"), x => x.timezes, (row, value) => row.copy(timezes = value)) + override def uuides = OptField[Array[TypoUUID], PgtestnullRow](_path, "uuides", None, Some("uuid[]"), x => x.uuides, (row, value) => row.copy(uuides = value)) + override def varchares = OptField[Array[String], PgtestnullRow](_path, "varchares", None, Some("varchar[]"), x => x.varchares, (row, value) => row.copy(varchares = value)) + override def xmles = OptField[Array[TypoXml], PgtestnullRow](_path, "xmles", None, Some("xml[]"), x => x.xmles, (row, value) => row.copy(xmles = value)) } override lazy val columns: List[FieldLikeNoHkt[?, PgtestnullRow]] = diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullRepoImpl.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullRepoImpl.scala index 95ec922628..9c7178ff70 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullRepoImpl.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/pgtestnull/PgtestnullRepoImpl.scala @@ -51,7 +51,7 @@ class PgtestnullRepoImpl extends PgtestnullRepo { } override def insert(unsaved: PgtestnullRow): ZIO[ZConnection, Throwable, PgtestnullRow] = { sql"""insert into public.pgtestnull("bool", "box", "bpchar", "bytea", "char", "circle", "date", "float4", "float8", "hstore", "inet", "int2", "int2vector", "int4", "int8", "interval", "json", "jsonb", "line", "lseg", "money", "mydomain", "myenum", "name", "numeric", "path", "point", "polygon", "text", "time", "timestamp", "timestampz", "timez", "uuid", "varchar", "vector", "xml", "boxes", "bpchares", "chares", "circlees", "datees", "float4es", "float8es", "inetes", "int2es", "int2vectores", "int4es", "int8es", "intervales", "jsones", "jsonbes", "linees", "lseges", "moneyes", "myenumes", "namees", "numerices", "pathes", "pointes", "polygones", "textes", "timees", "timestampes", "timestampzes", "timezes", "uuides", "varchares", "xmles") - values (${Segment.paramSegment(unsaved.bool)(Setter.optionParamSetter(Setter.booleanSetter))}, ${Segment.paramSegment(unsaved.box)(Setter.optionParamSetter(TypoBox.setter))}::box, ${Segment.paramSegment(unsaved.bpchar)(Setter.optionParamSetter(Setter.stringSetter))}::bpchar, ${Segment.paramSegment(unsaved.bytea)(Setter.optionParamSetter(TypoBytea.setter))}::bytea, ${Segment.paramSegment(unsaved.char)(Setter.optionParamSetter(Setter.stringSetter))}::bpchar, ${Segment.paramSegment(unsaved.circle)(Setter.optionParamSetter(TypoCircle.setter))}::circle, ${Segment.paramSegment(unsaved.date)(Setter.optionParamSetter(TypoLocalDate.setter))}::date, ${Segment.paramSegment(unsaved.float4)(Setter.optionParamSetter(Setter.floatSetter))}::float4, ${Segment.paramSegment(unsaved.float8)(Setter.optionParamSetter(Setter.doubleSetter))}::float8, ${Segment.paramSegment(unsaved.hstore)(Setter.optionParamSetter(TypoHStore.setter))}::hstore, ${Segment.paramSegment(unsaved.inet)(Setter.optionParamSetter(TypoInet.setter))}::inet, ${Segment.paramSegment(unsaved.int2)(Setter.optionParamSetter(TypoShort.setter))}::int2, ${Segment.paramSegment(unsaved.int2vector)(Setter.optionParamSetter(TypoInt2Vector.setter))}::int2vector, ${Segment.paramSegment(unsaved.int4)(Setter.optionParamSetter(Setter.intSetter))}::int4, ${Segment.paramSegment(unsaved.int8)(Setter.optionParamSetter(Setter.longSetter))}::int8, ${Segment.paramSegment(unsaved.interval)(Setter.optionParamSetter(TypoInterval.setter))}::interval, ${Segment.paramSegment(unsaved.json)(Setter.optionParamSetter(TypoJson.setter))}::json, ${Segment.paramSegment(unsaved.jsonb)(Setter.optionParamSetter(TypoJsonb.setter))}::jsonb, ${Segment.paramSegment(unsaved.line)(Setter.optionParamSetter(TypoLine.setter))}::line, ${Segment.paramSegment(unsaved.lseg)(Setter.optionParamSetter(TypoLineSegment.setter))}::lseg, ${Segment.paramSegment(unsaved.money)(Setter.optionParamSetter(TypoMoney.setter))}::money, ${Segment.paramSegment(unsaved.mydomain)(Setter.optionParamSetter(Mydomain.setter))}::text, ${Segment.paramSegment(unsaved.myenum)(Setter.optionParamSetter(Myenum.setter))}::public.myenum, ${Segment.paramSegment(unsaved.name)(Setter.optionParamSetter(Setter.stringSetter))}::name, ${Segment.paramSegment(unsaved.numeric)(Setter.optionParamSetter(Setter.bigDecimalScalaSetter))}::numeric, ${Segment.paramSegment(unsaved.path)(Setter.optionParamSetter(TypoPath.setter))}::path, ${Segment.paramSegment(unsaved.point)(Setter.optionParamSetter(TypoPoint.setter))}::point, ${Segment.paramSegment(unsaved.polygon)(Setter.optionParamSetter(TypoPolygon.setter))}::polygon, ${Segment.paramSegment(unsaved.text)(Setter.optionParamSetter(Setter.stringSetter))}, ${Segment.paramSegment(unsaved.time)(Setter.optionParamSetter(TypoLocalTime.setter))}::time, ${Segment.paramSegment(unsaved.timestamp)(Setter.optionParamSetter(TypoLocalDateTime.setter))}::timestamp, ${Segment.paramSegment(unsaved.timestampz)(Setter.optionParamSetter(TypoInstant.setter))}::timestamptz, ${Segment.paramSegment(unsaved.timez)(Setter.optionParamSetter(TypoOffsetTime.setter))}::timetz, ${Segment.paramSegment(unsaved.uuid)(Setter.optionParamSetter(TypoUUID.setter))}::uuid, ${Segment.paramSegment(unsaved.varchar)(Setter.optionParamSetter(Setter.stringSetter))}, ${Segment.paramSegment(unsaved.vector)(Setter.optionParamSetter(TypoVector.setter))}::vector, ${Segment.paramSegment(unsaved.xml)(Setter.optionParamSetter(TypoXml.setter))}::xml, ${Segment.paramSegment(unsaved.boxes)(Setter.optionParamSetter(TypoBox.arraySetter))}::_box, ${Segment.paramSegment(unsaved.bpchares)(Setter.optionParamSetter(adventureworks.StringArraySetter))}::_bpchar, ${Segment.paramSegment(unsaved.chares)(Setter.optionParamSetter(adventureworks.StringArraySetter))}::_bpchar, ${Segment.paramSegment(unsaved.circlees)(Setter.optionParamSetter(TypoCircle.arraySetter))}::_circle, ${Segment.paramSegment(unsaved.datees)(Setter.optionParamSetter(TypoLocalDate.arraySetter))}::_date, ${Segment.paramSegment(unsaved.float4es)(Setter.optionParamSetter(adventureworks.FloatArraySetter))}::_float4, ${Segment.paramSegment(unsaved.float8es)(Setter.optionParamSetter(adventureworks.DoubleArraySetter))}::_float8, ${Segment.paramSegment(unsaved.inetes)(Setter.optionParamSetter(TypoInet.arraySetter))}::_inet, ${Segment.paramSegment(unsaved.int2es)(Setter.optionParamSetter(TypoShort.arraySetter))}::_int2, ${Segment.paramSegment(unsaved.int2vectores)(Setter.optionParamSetter(TypoInt2Vector.arraySetter))}::_int2vector, ${Segment.paramSegment(unsaved.int4es)(Setter.optionParamSetter(adventureworks.IntArraySetter))}::_int4, ${Segment.paramSegment(unsaved.int8es)(Setter.optionParamSetter(adventureworks.LongArraySetter))}::_int8, ${Segment.paramSegment(unsaved.intervales)(Setter.optionParamSetter(TypoInterval.arraySetter))}::_interval, ${Segment.paramSegment(unsaved.jsones)(Setter.optionParamSetter(TypoJson.arraySetter))}::_json, ${Segment.paramSegment(unsaved.jsonbes)(Setter.optionParamSetter(TypoJsonb.arraySetter))}::_jsonb, ${Segment.paramSegment(unsaved.linees)(Setter.optionParamSetter(TypoLine.arraySetter))}::_line, ${Segment.paramSegment(unsaved.lseges)(Setter.optionParamSetter(TypoLineSegment.arraySetter))}::_lseg, ${Segment.paramSegment(unsaved.moneyes)(Setter.optionParamSetter(TypoMoney.arraySetter))}::_money, ${Segment.paramSegment(unsaved.myenumes)(Setter.optionParamSetter(Myenum.arraySetter))}::_myenum, ${Segment.paramSegment(unsaved.namees)(Setter.optionParamSetter(adventureworks.StringArraySetter))}::_name, ${Segment.paramSegment(unsaved.numerices)(Setter.optionParamSetter(adventureworks.ScalaBigDecimalArraySetter))}::_numeric, ${Segment.paramSegment(unsaved.pathes)(Setter.optionParamSetter(TypoPath.arraySetter))}::_path, ${Segment.paramSegment(unsaved.pointes)(Setter.optionParamSetter(TypoPoint.arraySetter))}::_point, ${Segment.paramSegment(unsaved.polygones)(Setter.optionParamSetter(TypoPolygon.arraySetter))}::_polygon, ${Segment.paramSegment(unsaved.textes)(Setter.optionParamSetter(adventureworks.StringArraySetter))}::_text, ${Segment.paramSegment(unsaved.timees)(Setter.optionParamSetter(TypoLocalTime.arraySetter))}::_time, ${Segment.paramSegment(unsaved.timestampes)(Setter.optionParamSetter(TypoLocalDateTime.arraySetter))}::_timestamp, ${Segment.paramSegment(unsaved.timestampzes)(Setter.optionParamSetter(TypoInstant.arraySetter))}::_timestamptz, ${Segment.paramSegment(unsaved.timezes)(Setter.optionParamSetter(TypoOffsetTime.arraySetter))}::_timetz, ${Segment.paramSegment(unsaved.uuides)(Setter.optionParamSetter(TypoUUID.arraySetter))}::_uuid, ${Segment.paramSegment(unsaved.varchares)(Setter.optionParamSetter(adventureworks.StringArraySetter))}::_varchar, ${Segment.paramSegment(unsaved.xmles)(Setter.optionParamSetter(TypoXml.arraySetter))}::_xml) + values (${Segment.paramSegment(unsaved.bool)(Setter.optionParamSetter(Setter.booleanSetter))}, ${Segment.paramSegment(unsaved.box)(Setter.optionParamSetter(TypoBox.setter))}::box, ${Segment.paramSegment(unsaved.bpchar)(Setter.optionParamSetter(Setter.stringSetter))}::bpchar, ${Segment.paramSegment(unsaved.bytea)(Setter.optionParamSetter(TypoBytea.setter))}::bytea, ${Segment.paramSegment(unsaved.char)(Setter.optionParamSetter(Setter.stringSetter))}::bpchar, ${Segment.paramSegment(unsaved.circle)(Setter.optionParamSetter(TypoCircle.setter))}::circle, ${Segment.paramSegment(unsaved.date)(Setter.optionParamSetter(TypoLocalDate.setter))}::date, ${Segment.paramSegment(unsaved.float4)(Setter.optionParamSetter(Setter.floatSetter))}::float4, ${Segment.paramSegment(unsaved.float8)(Setter.optionParamSetter(Setter.doubleSetter))}::float8, ${Segment.paramSegment(unsaved.hstore)(Setter.optionParamSetter(TypoHStore.setter))}::hstore, ${Segment.paramSegment(unsaved.inet)(Setter.optionParamSetter(TypoInet.setter))}::inet, ${Segment.paramSegment(unsaved.int2)(Setter.optionParamSetter(TypoShort.setter))}::int2, ${Segment.paramSegment(unsaved.int2vector)(Setter.optionParamSetter(TypoInt2Vector.setter))}::int2vector, ${Segment.paramSegment(unsaved.int4)(Setter.optionParamSetter(Setter.intSetter))}::int4, ${Segment.paramSegment(unsaved.int8)(Setter.optionParamSetter(Setter.longSetter))}::int8, ${Segment.paramSegment(unsaved.interval)(Setter.optionParamSetter(TypoInterval.setter))}::interval, ${Segment.paramSegment(unsaved.json)(Setter.optionParamSetter(TypoJson.setter))}::json, ${Segment.paramSegment(unsaved.jsonb)(Setter.optionParamSetter(TypoJsonb.setter))}::jsonb, ${Segment.paramSegment(unsaved.line)(Setter.optionParamSetter(TypoLine.setter))}::line, ${Segment.paramSegment(unsaved.lseg)(Setter.optionParamSetter(TypoLineSegment.setter))}::lseg, ${Segment.paramSegment(unsaved.money)(Setter.optionParamSetter(TypoMoney.setter))}::money, ${Segment.paramSegment(unsaved.mydomain)(Setter.optionParamSetter(Mydomain.setter))}::text, ${Segment.paramSegment(unsaved.myenum)(Setter.optionParamSetter(Myenum.setter))}::public.myenum, ${Segment.paramSegment(unsaved.name)(Setter.optionParamSetter(Setter.stringSetter))}::name, ${Segment.paramSegment(unsaved.numeric)(Setter.optionParamSetter(Setter.bigDecimalScalaSetter))}::numeric, ${Segment.paramSegment(unsaved.path)(Setter.optionParamSetter(TypoPath.setter))}::path, ${Segment.paramSegment(unsaved.point)(Setter.optionParamSetter(TypoPoint.setter))}::point, ${Segment.paramSegment(unsaved.polygon)(Setter.optionParamSetter(TypoPolygon.setter))}::polygon, ${Segment.paramSegment(unsaved.text)(Setter.optionParamSetter(Setter.stringSetter))}, ${Segment.paramSegment(unsaved.time)(Setter.optionParamSetter(TypoLocalTime.setter))}::time, ${Segment.paramSegment(unsaved.timestamp)(Setter.optionParamSetter(TypoLocalDateTime.setter))}::timestamp, ${Segment.paramSegment(unsaved.timestampz)(Setter.optionParamSetter(TypoInstant.setter))}::timestamptz, ${Segment.paramSegment(unsaved.timez)(Setter.optionParamSetter(TypoOffsetTime.setter))}::timetz, ${Segment.paramSegment(unsaved.uuid)(Setter.optionParamSetter(TypoUUID.setter))}::uuid, ${Segment.paramSegment(unsaved.varchar)(Setter.optionParamSetter(Setter.stringSetter))}, ${Segment.paramSegment(unsaved.vector)(Setter.optionParamSetter(TypoVector.setter))}::vector, ${Segment.paramSegment(unsaved.xml)(Setter.optionParamSetter(TypoXml.setter))}::xml, ${Segment.paramSegment(unsaved.boxes)(Setter.optionParamSetter(TypoBox.arraySetter))}::box[], ${Segment.paramSegment(unsaved.bpchares)(Setter.optionParamSetter(adventureworks.StringArraySetter))}::bpchar[], ${Segment.paramSegment(unsaved.chares)(Setter.optionParamSetter(adventureworks.StringArraySetter))}::bpchar[], ${Segment.paramSegment(unsaved.circlees)(Setter.optionParamSetter(TypoCircle.arraySetter))}::circle[], ${Segment.paramSegment(unsaved.datees)(Setter.optionParamSetter(TypoLocalDate.arraySetter))}::date[], ${Segment.paramSegment(unsaved.float4es)(Setter.optionParamSetter(adventureworks.FloatArraySetter))}::float4[], ${Segment.paramSegment(unsaved.float8es)(Setter.optionParamSetter(adventureworks.DoubleArraySetter))}::float8[], ${Segment.paramSegment(unsaved.inetes)(Setter.optionParamSetter(TypoInet.arraySetter))}::inet[], ${Segment.paramSegment(unsaved.int2es)(Setter.optionParamSetter(TypoShort.arraySetter))}::int2[], ${Segment.paramSegment(unsaved.int2vectores)(Setter.optionParamSetter(TypoInt2Vector.arraySetter))}::int2vector[], ${Segment.paramSegment(unsaved.int4es)(Setter.optionParamSetter(adventureworks.IntArraySetter))}::int4[], ${Segment.paramSegment(unsaved.int8es)(Setter.optionParamSetter(adventureworks.LongArraySetter))}::int8[], ${Segment.paramSegment(unsaved.intervales)(Setter.optionParamSetter(TypoInterval.arraySetter))}::interval[], ${Segment.paramSegment(unsaved.jsones)(Setter.optionParamSetter(TypoJson.arraySetter))}::json[], ${Segment.paramSegment(unsaved.jsonbes)(Setter.optionParamSetter(TypoJsonb.arraySetter))}::jsonb[], ${Segment.paramSegment(unsaved.linees)(Setter.optionParamSetter(TypoLine.arraySetter))}::line[], ${Segment.paramSegment(unsaved.lseges)(Setter.optionParamSetter(TypoLineSegment.arraySetter))}::lseg[], ${Segment.paramSegment(unsaved.moneyes)(Setter.optionParamSetter(TypoMoney.arraySetter))}::money[], ${Segment.paramSegment(unsaved.myenumes)(Setter.optionParamSetter(Myenum.arraySetter))}::myenum[], ${Segment.paramSegment(unsaved.namees)(Setter.optionParamSetter(adventureworks.StringArraySetter))}::name[], ${Segment.paramSegment(unsaved.numerices)(Setter.optionParamSetter(adventureworks.ScalaBigDecimalArraySetter))}::numeric[], ${Segment.paramSegment(unsaved.pathes)(Setter.optionParamSetter(TypoPath.arraySetter))}::path[], ${Segment.paramSegment(unsaved.pointes)(Setter.optionParamSetter(TypoPoint.arraySetter))}::point[], ${Segment.paramSegment(unsaved.polygones)(Setter.optionParamSetter(TypoPolygon.arraySetter))}::polygon[], ${Segment.paramSegment(unsaved.textes)(Setter.optionParamSetter(adventureworks.StringArraySetter))}::text[], ${Segment.paramSegment(unsaved.timees)(Setter.optionParamSetter(TypoLocalTime.arraySetter))}::time[], ${Segment.paramSegment(unsaved.timestampes)(Setter.optionParamSetter(TypoLocalDateTime.arraySetter))}::timestamp[], ${Segment.paramSegment(unsaved.timestampzes)(Setter.optionParamSetter(TypoInstant.arraySetter))}::timestamptz[], ${Segment.paramSegment(unsaved.timezes)(Setter.optionParamSetter(TypoOffsetTime.arraySetter))}::timetz[], ${Segment.paramSegment(unsaved.uuides)(Setter.optionParamSetter(TypoUUID.arraySetter))}::uuid[], ${Segment.paramSegment(unsaved.varchares)(Setter.optionParamSetter(adventureworks.StringArraySetter))}::varchar[], ${Segment.paramSegment(unsaved.xmles)(Setter.optionParamSetter(TypoXml.arraySetter))}::xml[]) returning "bool", "box", "bpchar", "bytea", "char", "circle", "date"::text, "float4", "float8", "hstore", "inet", "int2", "int2vector", "int4", "int8", "interval", "json", "jsonb", "line", "lseg", "money"::numeric, "mydomain", "myenum", "name", "numeric", "path", "point", "polygon", "text", "time"::text, "timestamp"::text, "timestampz"::text, "timez"::text, "uuid", "varchar", "vector"::float4[], "xml", "boxes", "bpchares", "chares", "circlees", "datees"::text[], "float4es", "float8es", "inetes", "int2es", "int2vectores", "int4es", "int8es", "intervales", "jsones", "jsonbes", "linees", "lseges", "moneyes"::numeric[], "myenumes", "namees", "numerices", "pathes", "pointes", "polygones", "textes", "timees"::text[], "timestampes"::text[], "timestampzes"::text[], "timezes"::text[], "uuides", "varchares", "xmles" """.insertReturning(using PgtestnullRow.jdbcDecoder).map(_.updatedKeys.head) } diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/users/UsersId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/users/UsersId.scala index d6f2eab19b..12f613a3ca 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/users/UsersId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/public/users/UsersId.scala @@ -10,7 +10,7 @@ package users import adventureworks.Text import adventureworks.customtypes.TypoUUID import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -27,7 +27,7 @@ object UsersId { implicit lazy val jsonDecoder: JsonDecoder[UsersId] = TypoUUID.jsonDecoder.map(UsersId.apply) implicit lazy val jsonEncoder: JsonEncoder[UsersId] = TypoUUID.jsonEncoder.contramap(_.value) implicit def ordering(implicit O0: Ordering[TypoUUID]): Ordering[UsersId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[UsersId] = ParameterMetaData.instance[UsersId](TypoUUID.parameterMetadata.sqlType, TypoUUID.parameterMetadata.jdbcType) + implicit lazy val pgType: PGType[UsersId] = TypoUUID.pgType.as implicit lazy val setter: Setter[UsersId] = TypoUUID.setter.contramap(_.value) implicit lazy val text: Text[UsersId] = new Text[UsersId] { override def unsafeEncode(v: UsersId, sb: StringBuilder) = TypoUUID.text.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/purchasing/purchaseorderheader/PurchaseorderheaderId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/purchasing/purchaseorderheader/PurchaseorderheaderId.scala index 16b10d131a..a9c9523c7e 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/purchasing/purchaseorderheader/PurchaseorderheaderId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/purchasing/purchaseorderheader/PurchaseorderheaderId.scala @@ -9,7 +9,7 @@ package purchaseorderheader import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object PurchaseorderheaderId { implicit lazy val jsonDecoder: JsonDecoder[PurchaseorderheaderId] = JsonDecoder.int.map(PurchaseorderheaderId.apply) implicit lazy val jsonEncoder: JsonEncoder[PurchaseorderheaderId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[PurchaseorderheaderId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[PurchaseorderheaderId] = ParameterMetaData.instance[PurchaseorderheaderId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[PurchaseorderheaderId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[PurchaseorderheaderId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[PurchaseorderheaderId] = new Text[PurchaseorderheaderId] { override def unsafeEncode(v: PurchaseorderheaderId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/purchasing/shipmethod/ShipmethodId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/purchasing/shipmethod/ShipmethodId.scala index 06fdef0587..add6e4dfb1 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/purchasing/shipmethod/ShipmethodId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/purchasing/shipmethod/ShipmethodId.scala @@ -9,7 +9,7 @@ package shipmethod import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object ShipmethodId { implicit lazy val jsonDecoder: JsonDecoder[ShipmethodId] = JsonDecoder.int.map(ShipmethodId.apply) implicit lazy val jsonEncoder: JsonEncoder[ShipmethodId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[ShipmethodId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[ShipmethodId] = ParameterMetaData.instance[ShipmethodId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[ShipmethodId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[ShipmethodId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[ShipmethodId] = new Text[ShipmethodId] { override def unsafeEncode(v: ShipmethodId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/currency/CurrencyId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/currency/CurrencyId.scala index b8fb2b25bc..b55e33e516 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/currency/CurrencyId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/currency/CurrencyId.scala @@ -9,7 +9,7 @@ package currency import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object CurrencyId { implicit lazy val jsonDecoder: JsonDecoder[CurrencyId] = JsonDecoder.string.map(CurrencyId.apply) implicit lazy val jsonEncoder: JsonEncoder[CurrencyId] = JsonEncoder.string.contramap(_.value) implicit lazy val ordering: Ordering[CurrencyId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[CurrencyId] = ParameterMetaData.instance[CurrencyId](ParameterMetaData.StringParameterMetaData.sqlType, ParameterMetaData.StringParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[CurrencyId] = PGType.PGTypeString.as implicit lazy val setter: Setter[CurrencyId] = Setter.stringSetter.contramap(_.value) implicit lazy val text: Text[CurrencyId] = new Text[CurrencyId] { override def unsafeEncode(v: CurrencyId, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/currencyrate/CurrencyrateId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/currencyrate/CurrencyrateId.scala index dfb268e286..9d8f41cad1 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/currencyrate/CurrencyrateId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/currencyrate/CurrencyrateId.scala @@ -9,7 +9,7 @@ package currencyrate import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object CurrencyrateId { implicit lazy val jsonDecoder: JsonDecoder[CurrencyrateId] = JsonDecoder.int.map(CurrencyrateId.apply) implicit lazy val jsonEncoder: JsonEncoder[CurrencyrateId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[CurrencyrateId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[CurrencyrateId] = ParameterMetaData.instance[CurrencyrateId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[CurrencyrateId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[CurrencyrateId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[CurrencyrateId] = new Text[CurrencyrateId] { override def unsafeEncode(v: CurrencyrateId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/customer/CustomerId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/customer/CustomerId.scala index 1e3b067e80..9740967a83 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/customer/CustomerId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/customer/CustomerId.scala @@ -9,7 +9,7 @@ package customer import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object CustomerId { implicit lazy val jsonDecoder: JsonDecoder[CustomerId] = JsonDecoder.int.map(CustomerId.apply) implicit lazy val jsonEncoder: JsonEncoder[CustomerId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[CustomerId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[CustomerId] = ParameterMetaData.instance[CustomerId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[CustomerId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[CustomerId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[CustomerId] = new Text[CustomerId] { override def unsafeEncode(v: CustomerId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/salesorderheader/SalesorderheaderId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/salesorderheader/SalesorderheaderId.scala index e67cc6029d..0345db9323 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/salesorderheader/SalesorderheaderId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/salesorderheader/SalesorderheaderId.scala @@ -9,7 +9,7 @@ package salesorderheader import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object SalesorderheaderId { implicit lazy val jsonDecoder: JsonDecoder[SalesorderheaderId] = JsonDecoder.int.map(SalesorderheaderId.apply) implicit lazy val jsonEncoder: JsonEncoder[SalesorderheaderId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[SalesorderheaderId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[SalesorderheaderId] = ParameterMetaData.instance[SalesorderheaderId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[SalesorderheaderId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[SalesorderheaderId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[SalesorderheaderId] = new Text[SalesorderheaderId] { override def unsafeEncode(v: SalesorderheaderId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/salesreason/SalesreasonId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/salesreason/SalesreasonId.scala index 700f3a2077..7ee468aedd 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/salesreason/SalesreasonId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/salesreason/SalesreasonId.scala @@ -9,7 +9,7 @@ package salesreason import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object SalesreasonId { implicit lazy val jsonDecoder: JsonDecoder[SalesreasonId] = JsonDecoder.int.map(SalesreasonId.apply) implicit lazy val jsonEncoder: JsonEncoder[SalesreasonId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[SalesreasonId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[SalesreasonId] = ParameterMetaData.instance[SalesreasonId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[SalesreasonId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[SalesreasonId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[SalesreasonId] = new Text[SalesreasonId] { override def unsafeEncode(v: SalesreasonId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/salestaxrate/SalestaxrateId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/salestaxrate/SalestaxrateId.scala index 8372e28e8e..5323ee6369 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/salestaxrate/SalestaxrateId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/salestaxrate/SalestaxrateId.scala @@ -9,7 +9,7 @@ package salestaxrate import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object SalestaxrateId { implicit lazy val jsonDecoder: JsonDecoder[SalestaxrateId] = JsonDecoder.int.map(SalestaxrateId.apply) implicit lazy val jsonEncoder: JsonEncoder[SalestaxrateId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[SalestaxrateId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[SalestaxrateId] = ParameterMetaData.instance[SalestaxrateId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[SalestaxrateId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[SalestaxrateId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[SalestaxrateId] = new Text[SalestaxrateId] { override def unsafeEncode(v: SalestaxrateId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/salesterritory/SalesterritoryId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/salesterritory/SalesterritoryId.scala index 550e55bf3c..1bd5b59961 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/salesterritory/SalesterritoryId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/salesterritory/SalesterritoryId.scala @@ -9,7 +9,7 @@ package salesterritory import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object SalesterritoryId { implicit lazy val jsonDecoder: JsonDecoder[SalesterritoryId] = JsonDecoder.int.map(SalesterritoryId.apply) implicit lazy val jsonEncoder: JsonEncoder[SalesterritoryId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[SalesterritoryId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[SalesterritoryId] = ParameterMetaData.instance[SalesterritoryId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[SalesterritoryId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[SalesterritoryId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[SalesterritoryId] = new Text[SalesterritoryId] { override def unsafeEncode(v: SalesterritoryId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/shoppingcartitem/ShoppingcartitemId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/shoppingcartitem/ShoppingcartitemId.scala index f483107394..ef5a3134d9 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/shoppingcartitem/ShoppingcartitemId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/shoppingcartitem/ShoppingcartitemId.scala @@ -9,7 +9,7 @@ package shoppingcartitem import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object ShoppingcartitemId { implicit lazy val jsonDecoder: JsonDecoder[ShoppingcartitemId] = JsonDecoder.int.map(ShoppingcartitemId.apply) implicit lazy val jsonEncoder: JsonEncoder[ShoppingcartitemId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[ShoppingcartitemId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[ShoppingcartitemId] = ParameterMetaData.instance[ShoppingcartitemId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[ShoppingcartitemId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[ShoppingcartitemId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[ShoppingcartitemId] = new Text[ShoppingcartitemId] { override def unsafeEncode(v: ShoppingcartitemId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/specialoffer/SpecialofferId.scala b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/specialoffer/SpecialofferId.scala index d638f7c11e..b9e6cb65a1 100644 --- a/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/specialoffer/SpecialofferId.scala +++ b/typo-tester-zio-jdbc/generated-and-checked-in/adventureworks/sales/specialoffer/SpecialofferId.scala @@ -9,7 +9,7 @@ package specialoffer import adventureworks.Text import typo.dsl.Bijection -import typo.dsl.ParameterMetaData +import typo.dsl.PGType import zio.jdbc.JdbcDecoder import zio.jdbc.JdbcEncoder import zio.jdbc.SqlFragment.Setter @@ -26,7 +26,7 @@ object SpecialofferId { implicit lazy val jsonDecoder: JsonDecoder[SpecialofferId] = JsonDecoder.int.map(SpecialofferId.apply) implicit lazy val jsonEncoder: JsonEncoder[SpecialofferId] = JsonEncoder.int.contramap(_.value) implicit lazy val ordering: Ordering[SpecialofferId] = Ordering.by(_.value) - implicit lazy val parameterMetadata: ParameterMetaData[SpecialofferId] = ParameterMetaData.instance[SpecialofferId](ParameterMetaData.IntParameterMetaData.sqlType, ParameterMetaData.IntParameterMetaData.jdbcType) + implicit lazy val pgType: PGType[SpecialofferId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[SpecialofferId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[SpecialofferId] = new Text[SpecialofferId] { override def unsafeEncode(v: SpecialofferId, sb: StringBuilder) = Text.intInstance.unsafeEncode(v.value, sb) diff --git a/typo-tester-zio-jdbc/src/scala/adventureworks/ArrayTest.scala b/typo-tester-zio-jdbc/src/scala/adventureworks/ArrayTest.scala index 90ea963da6..5b5ce8b6a6 100644 --- a/typo-tester-zio-jdbc/src/scala/adventureworks/ArrayTest.scala +++ b/typo-tester-zio-jdbc/src/scala/adventureworks/ArrayTest.scala @@ -69,6 +69,162 @@ class ArrayTest extends AnyFunSuite with TypeCheckedTripleEquals { } yield assertJsonEquals(before, after) } } + test("can query pgtestnull with DSL") { + withConnection { + implicit def ordering[T]: Ordering[T] = null + for { + row <- pgtestnullRepo.insert(ArrayTestData.pgtestnullRowWithValues) + _ <- pgtestnullRepo.select.where(_.bool === row.bool).toChunk.map(x => assertJsonEquals(row.bool, x.head.bool)) + _ <- pgtestnullRepo.select.where(_.box === row.box).toChunk.map(x => assertJsonEquals(row.box, x.head.box)) + _ <- pgtestnullRepo.select.where(_.bpchar === row.bpchar).toChunk.map(x => assertJsonEquals(row.bpchar, x.head.bpchar)) + _ <- pgtestnullRepo.select.where(_.bytea === row.bytea).toChunk.map(x => assertJsonEquals(row.bytea, x.head.bytea)) + _ <- pgtestnullRepo.select.where(_.char === row.char).toChunk.map(x => assertJsonEquals(row.char, x.head.char)) + _ <- pgtestnullRepo.select.where(_.circle === row.circle).toChunk.map(x => assertJsonEquals(row.circle, x.head.circle)) + _ <- pgtestnullRepo.select.where(_.date === row.date).toChunk.map(x => assertJsonEquals(row.date, x.head.date)) + _ <- pgtestnullRepo.select.where(_.float4 === row.float4).toChunk.map(x => assertJsonEquals(row.float4, x.head.float4)) + _ <- pgtestnullRepo.select.where(_.float8 === row.float8).toChunk.map(x => assertJsonEquals(row.float8, x.head.float8)) + _ <- pgtestnullRepo.select.where(_.hstore === row.hstore).toChunk.map(x => assertJsonEquals(row.hstore, x.head.hstore)) + _ <- pgtestnullRepo.select.where(_.inet === row.inet).toChunk.map(x => assertJsonEquals(row.inet, x.head.inet)) + _ <- pgtestnullRepo.select.where(_.int2 === row.int2).toChunk.map(x => assertJsonEquals(row.int2, x.head.int2)) + _ <- pgtestnullRepo.select.where(_.int2vector === row.int2vector).toChunk.map(x => assertJsonEquals(row.int2vector, x.head.int2vector)) + _ <- pgtestnullRepo.select.where(_.int4 === row.int4).toChunk.map(x => assertJsonEquals(row.int4, x.head.int4)) + _ <- pgtestnullRepo.select.where(_.int8 === row.int8).toChunk.map(x => assertJsonEquals(row.int8, x.head.int8)) + _ <- pgtestnullRepo.select.where(_.interval === row.interval).toChunk.map(x => assertJsonEquals(row.interval, x.head.interval)) +// _ <- pgtestnullRepo.select.where(_.json === row.json).toChunk.map(x => assertJsonEquals(row.json, x.head.json)) + _ <- pgtestnullRepo.select.where(_.jsonb === row.jsonb).toChunk.map(x => assertJsonEquals(row.jsonb, x.head.jsonb)) + _ <- pgtestnullRepo.select.where(_.line === row.line).toChunk.map(x => assertJsonEquals(row.line, x.head.line)) + _ <- pgtestnullRepo.select.where(_.lseg === row.lseg).toChunk.map(x => assertJsonEquals(row.lseg, x.head.lseg)) + _ <- pgtestnullRepo.select.where(_.money === row.money).toChunk.map(x => assertJsonEquals(row.money, x.head.money)) + _ <- pgtestnullRepo.select.where(_.mydomain === row.mydomain).toChunk.map(x => assertJsonEquals(row.mydomain, x.head.mydomain)) + _ <- pgtestnullRepo.select.where(_.myenum === row.myenum).toChunk.map(x => assertJsonEquals(row.myenum, x.head.myenum)) + _ <- pgtestnullRepo.select.where(_.name === row.name).toChunk.map(x => assertJsonEquals(row.name, x.head.name)) + _ <- pgtestnullRepo.select.where(_.numeric === row.numeric).toChunk.map(x => assertJsonEquals(row.numeric, x.head.numeric)) + _ <- pgtestnullRepo.select.where(_.path === row.path).toChunk.map(x => assertJsonEquals(row.path, x.head.path)) +// _ <- pgtestnullRepo.select.where(_.point === row.point).toChunk.map(x => assertJsonEquals(row.point, x.head.point)) +// _ <- pgtestnullRepo.select.where(_.polygon === row.polygon).toChunk.map(x => assertJsonEquals(row.polygon, x.head.polygon)) + _ <- pgtestnullRepo.select.where(_.text === row.text).toChunk.map(x => assertJsonEquals(row.text, x.head.text)) + _ <- pgtestnullRepo.select.where(_.time === row.time).toChunk.map(x => assertJsonEquals(row.time, x.head.time)) + _ <- pgtestnullRepo.select.where(_.timestamp === row.timestamp).toChunk.map(x => assertJsonEquals(row.timestamp, x.head.timestamp)) + _ <- pgtestnullRepo.select.where(_.timestampz === row.timestampz).toChunk.map(x => assertJsonEquals(row.timestampz, x.head.timestampz)) + _ <- pgtestnullRepo.select.where(_.timez === row.timez).toChunk.map(x => assertJsonEquals(row.timez, x.head.timez)) + _ <- pgtestnullRepo.select.where(_.uuid === row.uuid).toChunk.map(x => assertJsonEquals(row.uuid, x.head.uuid)) + _ <- pgtestnullRepo.select.where(_.varchar === row.varchar).toChunk.map(x => assertJsonEquals(row.varchar, x.head.varchar)) + _ <- pgtestnullRepo.select.where(_.vector === row.vector).toChunk.map(x => assertJsonEquals(row.vector, x.head.vector)) +// _ <- pgtestnullRepo.select.where(_.xml === row.xml).toChunk.map(x => assertJsonEquals(row.xml, x.head.xml)) +// _ <- pgtestnullRepo.select.where(_.boxes === row.boxes).toChunk.map(x => assertJsonEquals(row.boxes, x.head.boxes)) +// _ <- pgtestnullRepo.select.where(_.bpchares === row.bpchares).toChunk.map(x => assertJsonEquals(row.bpchares, x.head.bpchares)) +// _ <- pgtestnullRepo.select.where(_.chares === row.chares).toChunk.map(x => assertJsonEquals(row.chares, x.head.chares)) +// _ <- pgtestnullRepo.select.where(_.circlees === row.circlees).toChunk.map(x => assertJsonEquals(row.circlees, x.head.circlees)) + _ <- pgtestnullRepo.select.where(_.datees === row.datees).toChunk.map(x => assertJsonEquals(row.datees, x.head.datees)) + _ <- pgtestnullRepo.select.where(_.float4es === row.float4es).toChunk.map(x => assertJsonEquals(row.float4es, x.head.float4es)) + _ <- pgtestnullRepo.select.where(_.float8es === row.float8es).toChunk.map(x => assertJsonEquals(row.float8es, x.head.float8es)) + _ <- pgtestnullRepo.select.where(_.inetes === row.inetes).toChunk.map(x => assertJsonEquals(row.inetes, x.head.inetes)) + _ <- pgtestnullRepo.select.where(_.int2es === row.int2es).toChunk.map(x => assertJsonEquals(row.int2es, x.head.int2es)) + _ <- pgtestnullRepo.select.where(_.int2vectores === row.int2vectores).toChunk.map(x => assertJsonEquals(row.int2vectores, x.head.int2vectores)) + _ <- pgtestnullRepo.select.where(_.int4es === row.int4es).toChunk.map(x => assertJsonEquals(row.int4es, x.head.int4es)) + _ <- pgtestnullRepo.select.where(_.int8es === row.int8es).toChunk.map(x => assertJsonEquals(row.int8es, x.head.int8es)) + _ <- pgtestnullRepo.select.where(_.intervales === row.intervales).toChunk.map(x => assertJsonEquals(row.intervales, x.head.intervales)) +// _ <- pgtestnullRepo.select.where(_.jsones === row.jsones).toChunk.map(x => assertJsonEquals(row.jsones, x.head.jsones)) + _ <- pgtestnullRepo.select.where(_.jsonbes === row.jsonbes).toChunk.map(x => assertJsonEquals(row.jsonbes, x.head.jsonbes)) +// _ <- pgtestnullRepo.select.where(_.linees === row.linees).toChunk.map(x => assertJsonEquals(row.linees, x.head.linees)) +// _ <- pgtestnullRepo.select.where(_.lseges === row.lseges).toChunk.map(x => assertJsonEquals(row.lseges, x.head.lseges)) + _ <- pgtestnullRepo.select.where(_.moneyes === row.moneyes).toChunk.map(x => assertJsonEquals(row.moneyes, x.head.moneyes)) + _ <- pgtestnullRepo.select.where(_.myenumes === row.myenumes).toChunk.map(x => assertJsonEquals(row.myenumes, x.head.myenumes)) +// _ <- pgtestnullRepo.select.where(_.namees === row.namees).toChunk.map(x => assertJsonEquals(row.namees, x.head.namees)) + _ <- pgtestnullRepo.select.where(_.numerices === row.numerices).toChunk.map(x => assertJsonEquals(row.numerices, x.head.numerices)) +// _ <- pgtestnullRepo.select.where(_.pathes === row.pathes).toChunk.map(x => assertJsonEquals(row.pathes, x.head.pathes)) +// _ <- pgtestnullRepo.select.where(_.pointes === row.pointes).toChunk.map(x => assertJsonEquals(row.pointes, x.head.pointes)) +// _ <- pgtestnullRepo.select.where(_.polygones === row.polygones).toChunk.map(x => assertJsonEquals(row.polygones, x.head.polygones)) + _ <- pgtestnullRepo.select.where(_.textes === row.textes).toChunk.map(x => assertJsonEquals(row.textes, x.head.textes)) + _ <- pgtestnullRepo.select.where(_.timees === row.timees).toChunk.map(x => assertJsonEquals(row.timees, x.head.timees)) + _ <- pgtestnullRepo.select.where(_.timestampes === row.timestampes).toChunk.map(x => assertJsonEquals(row.timestampes, x.head.timestampes)) + _ <- pgtestnullRepo.select.where(_.timestampzes === row.timestampzes).toChunk.map(x => assertJsonEquals(row.timestampzes, x.head.timestampzes)) + _ <- pgtestnullRepo.select.where(_.timezes === row.timezes).toChunk.map(x => assertJsonEquals(row.timezes, x.head.timezes)) + _ <- pgtestnullRepo.select.where(_.uuides === row.uuides).toChunk.map(x => assertJsonEquals(row.uuides, x.head.uuides)) +// _ <- pgtestnullRepo.select.where(_.varchares === row.varchares).toChunk.map(x => assertJsonEquals(row.varchares, x.head.varchares)) +// _ <- pgtestnullRepo.select.where(_.xmles === row.xmles).toChunk.map(x => assertJsonEquals(row.xmles, x.head.xmles)) + } yield () + } + } + + test("can update pgtest with DSL") { + withConnection { + implicit def ordering[T]: Ordering[T] = null + for { + row <- pgtestRepo.insert(ArrayTestData.pgTestRow) + _ <- pgtestRepo.update.setValue(_.bool)(row.bool).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.box)(row.box).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.bpchar)(row.bpchar).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.bytea)(row.bytea).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.char)(row.char).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.circle)(row.circle).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.date)(row.date).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.float4)(row.float4).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.float8)(row.float8).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.hstore)(row.hstore).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.inet)(row.inet).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.int2)(row.int2).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.int2vector)(row.int2vector).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.int4)(row.int4).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.int8)(row.int8).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.interval)(row.interval).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.json)(row.json).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.jsonb)(row.jsonb).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.line)(row.line).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.lseg)(row.lseg).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.money)(row.money).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.mydomain)(row.mydomain).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.myenum)(row.myenum).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.name)(row.name).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.numeric)(row.numeric).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.path)(row.path).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.point)(row.point).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.polygon)(row.polygon).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.text)(row.text).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.time)(row.time).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.timestamp)(row.timestamp).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.timestampz)(row.timestampz).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.timez)(row.timez).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.uuid)(row.uuid).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.varchar)(row.varchar).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.vector)(row.vector).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.xml)(row.xml).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.boxes)(row.boxes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.bpchares)(row.bpchares).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.chares)(row.chares).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.circlees)(row.circlees).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.datees)(row.datees).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.float4es)(row.float4es).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.float8es)(row.float8es).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.inetes)(row.inetes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.int2es)(row.int2es).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.int2vectores)(row.int2vectores).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.int4es)(row.int4es).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.int8es)(row.int8es).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.intervales)(row.intervales).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.jsones)(row.jsones).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.jsonbes)(row.jsonbes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.linees)(row.linees).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.lseges)(row.lseges).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.moneyes)(row.moneyes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.myenumes)(row.myenumes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.namees)(row.namees).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.numerices)(row.numerices).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.pathes)(row.pathes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.pointes)(row.pointes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.polygones)(row.polygones).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.textes)(row.textes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.timees)(row.timees).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.timestampes)(row.timestampes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.timestampzes)(row.timestampzes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.timezes)(row.timezes).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.uuides)(row.uuides).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.varchares)(row.varchares).where(_.uuid === row.uuid).execute + _ <- pgtestRepo.update.setValue(_.xmles)(row.xmles).where(_.uuid === row.uuid).execute + } yield () + } + } + } object ArrayTestData { diff --git a/typo-tester-zio-jdbc/src/scala/adventureworks/PaginationTest.scala b/typo-tester-zio-jdbc/src/scala/adventureworks/PaginationTest.scala index 2fda83299b..2d8cff6053 100644 --- a/typo-tester-zio-jdbc/src/scala/adventureworks/PaginationTest.scala +++ b/typo-tester-zio-jdbc/src/scala/adventureworks/PaginationTest.scala @@ -66,7 +66,7 @@ class PaginationTest extends AnyFunSuite with TypeCheckedTripleEquals { ClientCursor( Map( SortOrderRepr("businessentity0.modifieddate") -> new Json.Str("2020-12-29T00:00:00"), - SortOrderRepr("(businessentity0.businessentityid - 2::INTEGER)") -> new Json.Num(java.math.BigDecimal.valueOf(1)) + SortOrderRepr("(businessentity0.businessentityid - 2::int4)") -> new Json.Num(java.math.BigDecimal.valueOf(1)) ) ) ) @@ -84,7 +84,7 @@ class PaginationTest extends AnyFunSuite with TypeCheckedTripleEquals { ClientCursor( Map( SortOrderRepr("businessentity0.modifieddate") -> new Json.Str("2020-12-25T00:00:00"), - SortOrderRepr("(businessentity0.businessentityid - 2::INTEGER)") -> new Json.Num(java.math.BigDecimal.valueOf(15)) + SortOrderRepr("(businessentity0.businessentityid - 2::int4)") -> new Json.Num(java.math.BigDecimal.valueOf(15)) ) ) ) diff --git a/typo-tester-zio-jdbc/src/scala/adventureworks/production/product/SeekTest.scala b/typo-tester-zio-jdbc/src/scala/adventureworks/production/product/SeekTest.scala index 7f99a72eb8..68d91fb1e5 100644 --- a/typo-tester-zio-jdbc/src/scala/adventureworks/production/product/SeekTest.scala +++ b/typo-tester-zio-jdbc/src/scala/adventureworks/production/product/SeekTest.scala @@ -13,7 +13,7 @@ class SeekTest extends AnyFunSuite with TypeCheckedTripleEquals { .seek(_.weight.asc)(Some(BigDecimal(22.2))) .seek(_.listprice.asc)(BigDecimal(33.3)) assertResult(query.sql.get.toString)( - s"""Sql(select "productid", "name", "productnumber", "makeflag", "finishedgoodsflag", "color", "safetystocklevel", "reorderpoint", "standardcost", "listprice", "size", "sizeunitmeasurecode", "weightunitmeasurecode", "weight", "daystomanufacture", "productline", "class", "style", "productsubcategoryid", "productmodelid", "sellstartdate"::text, "sellenddate"::text, "discontinueddate"::text, "rowguid", "modifieddate"::text from production.product product0 WHERE ((product0.name,product0.weight,product0.listprice) > (?::VARCHAR,?::DECIMAL,?::DECIMAL)) ORDER BY product0.name ASC , product0.weight ASC , product0.listprice ASC , foo, Some(22.2), 33.3)""" + s"""Sql(select "productid", "name", "productnumber", "makeflag", "finishedgoodsflag", "color", "safetystocklevel", "reorderpoint", "standardcost", "listprice", "size", "sizeunitmeasurecode", "weightunitmeasurecode", "weight", "daystomanufacture", "productline", "class", "style", "productsubcategoryid", "productmodelid", "sellstartdate"::text, "sellenddate"::text, "discontinueddate"::text, "rowguid", "modifieddate"::text from production.product product0 WHERE ((product0.name,product0.weight,product0.listprice) > (?::text,?::numeric,?::numeric)) ORDER BY product0.name ASC , product0.weight ASC , product0.listprice ASC , foo, Some(22.2), 33.3)""" ) } @@ -23,7 +23,7 @@ class SeekTest extends AnyFunSuite with TypeCheckedTripleEquals { .seek(_.weight.desc)(Some(BigDecimal(22.2))) .seek(_.listprice.desc)(BigDecimal(33.3)) assertResult(query.sql.get.toString)( - s"""Sql(select "productid", "name", "productnumber", "makeflag", "finishedgoodsflag", "color", "safetystocklevel", "reorderpoint", "standardcost", "listprice", "size", "sizeunitmeasurecode", "weightunitmeasurecode", "weight", "daystomanufacture", "productline", "class", "style", "productsubcategoryid", "productmodelid", "sellstartdate"::text, "sellenddate"::text, "discontinueddate"::text, "rowguid", "modifieddate"::text from production.product product0 WHERE ((product0.name,product0.weight,product0.listprice) < (?::VARCHAR,?::DECIMAL,?::DECIMAL)) ORDER BY product0.name DESC , product0.weight DESC , product0.listprice DESC , foo, Some(22.2), 33.3)""" + s"""Sql(select "productid", "name", "productnumber", "makeflag", "finishedgoodsflag", "color", "safetystocklevel", "reorderpoint", "standardcost", "listprice", "size", "sizeunitmeasurecode", "weightunitmeasurecode", "weight", "daystomanufacture", "productline", "class", "style", "productsubcategoryid", "productmodelid", "sellstartdate"::text, "sellenddate"::text, "discontinueddate"::text, "rowguid", "modifieddate"::text from production.product product0 WHERE ((product0.name,product0.weight,product0.listprice) < (?::text,?::numeric,?::numeric)) ORDER BY product0.name DESC , product0.weight DESC , product0.listprice DESC , foo, Some(22.2), 33.3)""" ) } @@ -33,7 +33,7 @@ class SeekTest extends AnyFunSuite with TypeCheckedTripleEquals { .seek(_.weight.desc)(Some(BigDecimal(22.2))) .seek(_.listprice.desc)(BigDecimal(33.3)) assertResult(query.sql.get.toString)( - s"""Sql(select "productid", "name", "productnumber", "makeflag", "finishedgoodsflag", "color", "safetystocklevel", "reorderpoint", "standardcost", "listprice", "size", "sizeunitmeasurecode", "weightunitmeasurecode", "weight", "daystomanufacture", "productline", "class", "style", "productsubcategoryid", "productmodelid", "sellstartdate"::text, "sellenddate"::text, "discontinueddate"::text, "rowguid", "modifieddate"::text from production.product product0 WHERE (((product0.name > ?::VARCHAR) OR ((product0.name = ?::VARCHAR) AND (product0.weight < ?::DECIMAL))) OR (((product0.name = ?::VARCHAR) AND (product0.weight = ?::DECIMAL)) AND (product0.listprice < ?::DECIMAL))) ORDER BY product0.name ASC , product0.weight DESC , product0.listprice DESC , foo, foo, Some(22.2), foo, Some(22.2), 33.3)""" + s"""Sql(select "productid", "name", "productnumber", "makeflag", "finishedgoodsflag", "color", "safetystocklevel", "reorderpoint", "standardcost", "listprice", "size", "sizeunitmeasurecode", "weightunitmeasurecode", "weight", "daystomanufacture", "productline", "class", "style", "productsubcategoryid", "productmodelid", "sellstartdate"::text, "sellenddate"::text, "discontinueddate"::text, "rowguid", "modifieddate"::text from production.product product0 WHERE (((product0.name > ?::text) OR ((product0.name = ?::text) AND (product0.weight < ?::numeric))) OR (((product0.name = ?::text) AND (product0.weight = ?::numeric)) AND (product0.listprice < ?::numeric))) ORDER BY product0.name ASC , product0.weight DESC , product0.listprice DESC , foo, foo, Some(22.2), foo, Some(22.2), 33.3)""" ) } } diff --git a/typo-tester-zio-jdbc/src/scala/adventureworks/userdefined/CustomCreditcardId.scala b/typo-tester-zio-jdbc/src/scala/adventureworks/userdefined/CustomCreditcardId.scala index 4b67abb1e3..e7043da6f4 100644 --- a/typo-tester-zio-jdbc/src/scala/adventureworks/userdefined/CustomCreditcardId.scala +++ b/typo-tester-zio-jdbc/src/scala/adventureworks/userdefined/CustomCreditcardId.scala @@ -5,7 +5,7 @@ package adventureworks.userdefined import adventureworks.Text -import typo.dsl.Bijection +import typo.dsl.{Bijection, PGType} import zio.jdbc.SqlFragment.Setter import zio.jdbc.{JdbcDecoder, JdbcEncoder} import zio.json.* @@ -20,6 +20,7 @@ object CustomCreditcardId { implicit lazy val jdbcDecoder: JdbcDecoder[CustomCreditcardId] = JdbcDecoder.intDecoder.map(CustomCreditcardId.apply) implicit lazy val jdbcEncoder: JdbcEncoder[CustomCreditcardId] = JdbcEncoder.intEncoder.contramap(_.value) implicit lazy val ordering: Ordering[CustomCreditcardId] = Ordering.by(_.value) + implicit lazy val parameterMetadata: PGType[CustomCreditcardId] = PGType.PGTypeInt.as implicit lazy val setter: Setter[CustomCreditcardId] = Setter.intSetter.contramap(_.value) implicit lazy val text: Text[CustomCreditcardId] = Text.intInstance.contramap(_.value) } diff --git a/typo/src/scala/typo/db.scala b/typo/src/scala/typo/db.scala index ae7395bef2..6526f481ce 100644 --- a/typo/src/scala/typo/db.scala +++ b/typo/src/scala/typo/db.scala @@ -16,7 +16,7 @@ object db { case object Bytea extends Type case object Char extends Type case object Date extends Type - case class DomainRef(name: RelationName) extends Type + case class DomainRef(name: RelationName, underlying: Type) extends Type case object Float4 extends Type case object Float8 extends Type case object Hstore extends Type diff --git a/typo/src/scala/typo/internal/ArrayName.scala b/typo/src/scala/typo/internal/ArrayName.scala new file mode 100644 index 0000000000..8074397e4f --- /dev/null +++ b/typo/src/scala/typo/internal/ArrayName.scala @@ -0,0 +1,11 @@ +package typo.internal + +object ArrayName { + def unapply(udtName: String): Option[String] = { + udtName.split('.') match { + case Array(schema, name) if name.startsWith("_") => Some(s"$schema.${name.drop(1)}") + case Array(name) if name.startsWith("_") => Some(name.drop(1)) + case _ => None + } + } +} diff --git a/typo/src/scala/typo/internal/TypeMapperDb.scala b/typo/src/scala/typo/internal/TypeMapperDb.scala index 18b60f5531..f7368c6217 100644 --- a/typo/src/scala/typo/internal/TypeMapperDb.scala +++ b/typo/src/scala/typo/internal/TypeMapperDb.scala @@ -6,21 +6,17 @@ import typo.generated.information_schema.columns.ColumnsViewRow case class TypeMapperDb(enums: List[db.StringEnum], domains: List[db.Domain]) { val domainsByName: Map[String, db.Domain] = domains.flatMap(e => List((e.name.name, e), (e.name.value, e))).toMap val enumsByName = enums.flatMap(e => List((e.name.name, e), (e.name.value, e))).toMap + def col(c: ColumnsViewRow)(logWarning: () => Unit): db.Type = { val fromDomain: Option[db.Type.DomainRef] = - c.domainName.map(domainName => db.Type.DomainRef(db.RelationName(c.domainSchema, domainName))) + c.domainName.map { domainName => + val domainRelationName = db.RelationName(c.domainSchema, domainName) + val d = domainsByName(domainRelationName.value) + db.Type.DomainRef(d.name, d.tpe) + } fromDomain.getOrElse(dbTypeFrom(c.udtName.get, c.characterMaximumLength)(logWarning)) } - object ArrayName { - def unapply(udtName: String): Option[String] = { - udtName.split('.') match { - case Array(schema, name) if name.startsWith("_") => Some(s"$schema.${name.drop(1)}") - case Array(name) if name.startsWith("_") => Some(name.drop(1)) - case _ => None - } - } - } def dbTypeFrom(udtName: String, characterMaximumLength: Option[Int])(logWarning: () => Unit): db.Type = { udtName.replaceAll("\"", "") match { case "bool" => db.Type.Boolean @@ -83,7 +79,7 @@ case class TypeMapperDb(enums: List[db.StringEnum], domains: List[db.Domain]) { enumsByName .get(typeName) .map(`enum` => db.Type.EnumRef(`enum`.name)) - .orElse(domainsByName.get(typeName).map(domain => db.Type.DomainRef(domain.name))) + .orElse(domainsByName.get(typeName).map(domain => db.Type.DomainRef(domain.name, domain.tpe))) .getOrElse { logWarning() db.Type.Unknown(udtName) diff --git a/typo/src/scala/typo/internal/TypeMapperScala.scala b/typo/src/scala/typo/internal/TypeMapperScala.scala index a6b3208463..8ffbf81648 100644 --- a/typo/src/scala/typo/internal/TypeMapperScala.scala +++ b/typo/src/scala/typo/internal/TypeMapperScala.scala @@ -59,56 +59,56 @@ case class TypeMapperScala( case Some(n) if n != 2147483647 => TypesJava.String.withComment(s"bpchar, max $n chars") case _ => TypesJava.String.withComment(s"bpchar") } - case db.Type.Char => TypesJava.String - case db.Type.Date => customTypes.TypoLocalDate.typoType - case db.Type.DomainRef(name) => sc.Type.Qualified(naming.domainName(name)) - case db.Type.Float4 => TypesScala.Float - case db.Type.Float8 => TypesScala.Double - case db.Type.Hstore => customTypes.TypoHStore.typoType - case db.Type.Inet => customTypes.TypoInet.typoType - case db.Type.Int2 => customTypes.TypoShort.typoType - case db.Type.Int4 => TypesScala.Int - case db.Type.Int8 => TypesScala.Long - case db.Type.Json => customTypes.TypoJson.typoType - case db.Type.Jsonb => customTypes.TypoJsonb.typoType - case db.Type.Name => TypesJava.String - case db.Type.Numeric => TypesScala.BigDecimal - case db.Type.Oid => TypesScala.Long.withComment("oid") - case db.Type.PGInterval => customTypes.TypoInterval.typoType - case db.Type.PGbox => customTypes.TypoBox.typoType - case db.Type.PGcircle => customTypes.TypoCircle.typoType - case db.Type.PGline => customTypes.TypoLine.typoType - case db.Type.PGlseg => customTypes.TypoLineSegment.typoType - case db.Type.PGlsn => TypesScala.Long.withComment("pg_lsn") - case db.Type.PGmoney => customTypes.TypoMoney.typoType - case db.Type.PGpath => customTypes.TypoPath.typoType - case db.Type.PGpoint => customTypes.TypoPoint.typoType - case db.Type.PGpolygon => customTypes.TypoPolygon.typoType - case db.Type.aclitem => customTypes.TypoAclItem.typoType - case db.Type.anyarray => customTypes.TypoAnyArray.typoType - case db.Type.int2vector => customTypes.TypoInt2Vector.typoType - case db.Type.oidvector => customTypes.TypoOidVector.typoType - case db.Type.pg_node_tree => customTypes.TypoPgNodeTree.typoType - case db.Type.record => customTypes.TypoRecord.typoType - case db.Type.regclass => customTypes.TypoRegclass.typoType - case db.Type.regconfig => customTypes.TypoRegconfig.typoType - case db.Type.regdictionary => customTypes.TypoRegdictionary.typoType - case db.Type.regnamespace => customTypes.TypoRegnamespace.typoType - case db.Type.regoper => customTypes.TypoRegoper.typoType - case db.Type.regoperator => customTypes.TypoRegoperator.typoType - case db.Type.regproc => customTypes.TypoRegproc.typoType - case db.Type.regprocedure => customTypes.TypoRegprocedure.typoType - case db.Type.regrole => customTypes.TypoRegrole.typoType - case db.Type.regtype => customTypes.TypoRegtype.typoType - case db.Type.xid => customTypes.TypoXid.typoType - case db.Type.EnumRef(name) => sc.Type.Qualified(naming.enumName(name)) - case db.Type.Text => TypesJava.String - case db.Type.Time => customTypes.TypoLocalTime.typoType - case db.Type.TimeTz => customTypes.TypoOffsetTime.typoType - case db.Type.Timestamp => customTypes.TypoLocalDateTime.typoType - case db.Type.TimestampTz => customTypes.TypoInstant.typoType - case db.Type.UUID => customTypes.TypoUUID.typoType - case db.Type.Xml => customTypes.TypoXml.typoType + case db.Type.Char => TypesJava.String + case db.Type.Date => customTypes.TypoLocalDate.typoType + case db.Type.DomainRef(name, _) => sc.Type.Qualified(naming.domainName(name)) + case db.Type.Float4 => TypesScala.Float + case db.Type.Float8 => TypesScala.Double + case db.Type.Hstore => customTypes.TypoHStore.typoType + case db.Type.Inet => customTypes.TypoInet.typoType + case db.Type.Int2 => customTypes.TypoShort.typoType + case db.Type.Int4 => TypesScala.Int + case db.Type.Int8 => TypesScala.Long + case db.Type.Json => customTypes.TypoJson.typoType + case db.Type.Jsonb => customTypes.TypoJsonb.typoType + case db.Type.Name => TypesJava.String + case db.Type.Numeric => TypesScala.BigDecimal + case db.Type.Oid => TypesScala.Long.withComment("oid") + case db.Type.PGInterval => customTypes.TypoInterval.typoType + case db.Type.PGbox => customTypes.TypoBox.typoType + case db.Type.PGcircle => customTypes.TypoCircle.typoType + case db.Type.PGline => customTypes.TypoLine.typoType + case db.Type.PGlseg => customTypes.TypoLineSegment.typoType + case db.Type.PGlsn => TypesScala.Long.withComment("pg_lsn") + case db.Type.PGmoney => customTypes.TypoMoney.typoType + case db.Type.PGpath => customTypes.TypoPath.typoType + case db.Type.PGpoint => customTypes.TypoPoint.typoType + case db.Type.PGpolygon => customTypes.TypoPolygon.typoType + case db.Type.aclitem => customTypes.TypoAclItem.typoType + case db.Type.anyarray => customTypes.TypoAnyArray.typoType + case db.Type.int2vector => customTypes.TypoInt2Vector.typoType + case db.Type.oidvector => customTypes.TypoOidVector.typoType + case db.Type.pg_node_tree => customTypes.TypoPgNodeTree.typoType + case db.Type.record => customTypes.TypoRecord.typoType + case db.Type.regclass => customTypes.TypoRegclass.typoType + case db.Type.regconfig => customTypes.TypoRegconfig.typoType + case db.Type.regdictionary => customTypes.TypoRegdictionary.typoType + case db.Type.regnamespace => customTypes.TypoRegnamespace.typoType + case db.Type.regoper => customTypes.TypoRegoper.typoType + case db.Type.regoperator => customTypes.TypoRegoperator.typoType + case db.Type.regproc => customTypes.TypoRegproc.typoType + case db.Type.regprocedure => customTypes.TypoRegprocedure.typoType + case db.Type.regrole => customTypes.TypoRegrole.typoType + case db.Type.regtype => customTypes.TypoRegtype.typoType + case db.Type.xid => customTypes.TypoXid.typoType + case db.Type.EnumRef(name) => sc.Type.Qualified(naming.enumName(name)) + case db.Type.Text => TypesJava.String + case db.Type.Time => customTypes.TypoLocalTime.typoType + case db.Type.TimeTz => customTypes.TypoOffsetTime.typoType + case db.Type.Timestamp => customTypes.TypoLocalDateTime.typoType + case db.Type.TimestampTz => customTypes.TypoInstant.typoType + case db.Type.UUID => customTypes.TypoUUID.typoType + case db.Type.Xml => customTypes.TypoXml.typoType case db.Type.VarChar(maybeN) => maybeN match { case Some(n) if n != 2147483647 => TypesJava.String.withComment(s"max $n chars") diff --git a/typo/src/scala/typo/internal/codegen/DbLibAnorm.scala b/typo/src/scala/typo/internal/codegen/DbLibAnorm.scala index 179b665640..da3167c211 100644 --- a/typo/src/scala/typo/internal/codegen/DbLibAnorm.scala +++ b/typo/src/scala/typo/internal/codegen/DbLibAnorm.scala @@ -756,7 +756,16 @@ class DbLibAnorm(pkg: sc.QIdent, inlineImplicits: Boolean, default: ComputedDefa List(sc.Param(T.value, ParameterMetaData.of(T), None)), ParameterMetaData.of(sc.Type.ArrayOf(T)), code"""|new ${ParameterMetaData.of(sc.Type.ArrayOf(T))} { - | override def sqlType: ${TypesJava.String} = ${sc.StrLit("_")} + $T.sqlType + | override def sqlType: ${TypesJava.String} = + | $T.sqlType match { + | case "INTEGER" => "int4[]" + | case "FLOAT" => "float4[]" + | case "DOUBLE PRECISION" => "float8[]" + | case "DECIMAL" => "float8[]" + | case "VARCHAR" => "text[]" + | case other => s"$${other}[]" + | } + | | override def jdbcType: ${TypesScala.Int} = ${TypesJava.SqlTypes}.ARRAY |}""".stripMargin ) diff --git a/typo/src/scala/typo/internal/codegen/DbLibDoobie.scala b/typo/src/scala/typo/internal/codegen/DbLibDoobie.scala index fe960a96f6..32d2edf27e 100644 --- a/typo/src/scala/typo/internal/codegen/DbLibDoobie.scala +++ b/typo/src/scala/typo/internal/codegen/DbLibDoobie.scala @@ -513,7 +513,7 @@ class DbLibDoobie(pkg: sc.QIdent, inlineImplicits: Boolean, default: ComputedDef override def stringEnumInstances(wrapperType: sc.Type, underlying: sc.Type, enm: db.StringEnum): List[sc.Given] = { val sqlTypeLit = sc.StrLit(enm.name.value) - val sqlArrayTypeLit = sc.StrLit("_" + enm.name.value) + val sqlArrayTypeLit = sc.StrLit(enm.name.value + "[]") List( Some( sc.Given( @@ -757,7 +757,7 @@ class DbLibDoobie(pkg: sc.QIdent, inlineImplicits: Boolean, default: ComputedDef else { val fromTypo = ct.fromTypoInArray.getOrElse(ct.fromTypo) val toTypo = ct.toTypoInArray.getOrElse(ct.toTypo) - val sqlArrayTypeLit = sc.StrLit("_" + ct.sqlType) + val sqlArrayTypeLit = sc.StrLit(ct.sqlType + "[]") val arrayType = sc.Type.ArrayOf(ct.typoType) List( sc.Given( diff --git a/typo/src/scala/typo/internal/codegen/DbLibZioJdbc.scala b/typo/src/scala/typo/internal/codegen/DbLibZioJdbc.scala index 28ff3b264e..bad49e27fe 100644 --- a/typo/src/scala/typo/internal/codegen/DbLibZioJdbc.scala +++ b/typo/src/scala/typo/internal/codegen/DbLibZioJdbc.scala @@ -38,7 +38,7 @@ class DbLibZioJdbc(pkg: sc.QIdent, inlineImplicits: Boolean, dslEnabled: Boolean * * A bit unfortunate maybe, but it's not the end of the world to provide it ourselves. */ - private val ParameterMetaData = sc.Type.Qualified("typo.dsl.ParameterMetaData") + private val PGType = sc.Type.Qualified("typo.dsl.PGType") def ifDsl(g: sc.Given): Option[sc.Given] = if (dslEnabled) Some(g) else None @@ -51,7 +51,7 @@ class DbLibZioJdbc(pkg: sc.QIdent, inlineImplicits: Boolean, dslEnabled: Boolean private val jdbcDecoderName: sc.Ident = sc.Ident("jdbcDecoder") private val jdbcEncoderName: sc.Ident = sc.Ident("jdbcEncoder") private val setterName: sc.Ident = sc.Ident("setter") - private val parameterMetadataName: sc.Ident = sc.Ident("parameterMetadata") + private val pgTypeName: sc.Ident = sc.Ident("pgType") private def dbNames(cols: NonEmptyList[ComputedColumn], isRead: Boolean): sc.Code = cols @@ -139,30 +139,29 @@ class DbLibZioJdbc(pkg: sc.QIdent, inlineImplicits: Boolean, dslEnabled: Boolean } /** Resolve known implicits at generation-time instead of at compile-time */ - def lookupParameterMetaDataFor(tpe: sc.Type): sc.Code = - if (!inlineImplicits) sc.Summon(ParameterMetaData.of(tpe)).code + def lookupPgTypeFor(tpe: sc.Type): sc.Code = + if (!inlineImplicits) sc.Summon(PGType.of(tpe)).code else sc.Type.base(tpe) match { - case TypesScala.BigDecimal => code"$ParameterMetaData.BigDecimalParameterMetaData" - case TypesScala.Boolean => code"$ParameterMetaData.BooleanParameterMetaData" - case TypesScala.Byte => code"$ParameterMetaData.ByteParameterMetaData" - case TypesScala.Double => code"$ParameterMetaData.DoubleParameterMetaData" - case TypesScala.Float => code"$ParameterMetaData.FloatParameterMetaData" - case TypesScala.Int => code"$ParameterMetaData.IntParameterMetaData" - case TypesScala.Long => code"$ParameterMetaData.LongParameterMetaData" - case TypesJava.String => code"$ParameterMetaData.StringParameterMetaData" - case TypesJava.UUID => code"$ParameterMetaData.UUIDParameterMetaData" + case TypesScala.BigDecimal => code"$PGType.PGTypeBigDecimal" + case TypesScala.Boolean => code"$PGType.PGTypeBoolean" + case TypesScala.Double => code"$PGType.PGTypeDouble" + case TypesScala.Float => code"$PGType.PGTypeFloat" + case TypesScala.Int => code"$PGType.PGTypeInt" + case TypesScala.Long => code"$PGType.PGTypeLong" + case TypesJava.String => code"$PGType.PGTypeString" + case TypesJava.UUID => code"$PGType.PGTypeUUID" // case ScalaTypes.Optional(targ) => lookupParameterMetaDataFor(targ) // generated type case x: sc.Type.Qualified if x.value.idents.startsWith(pkg.idents) => - code"$tpe.$parameterMetadataName" + code"$tpe.$pgTypeName" // customized type mapping - case x if missingInstancesByType.contains(ParameterMetaData.of(x)) => - code"${missingInstancesByType(ParameterMetaData.of(x))}" - case sc.Type.ArrayOf(TypesScala.Byte) => code"$ParameterMetaData.ByteArrayParameterMetaData" + case x if missingInstancesByType.contains(PGType.of(x)) => + code"${missingInstancesByType(PGType.of(x))}" + case sc.Type.ArrayOf(TypesScala.Byte) => code"$PGType.PGTypeByteArray" // fallback array case. - case sc.Type.ArrayOf(targ) => code"$ParameterMetaData.arrayParameterMetaData(${lookupParameterMetaDataFor(targ)})" - case other => sc.Summon(ParameterMetaData.of(other)).code + case sc.Type.ArrayOf(targ) => code"$PGType.forArray(${lookupPgTypeFor(targ)})" + case other => sc.Summon(PGType.of(other)).code } private def runtimeInterpolateValue(name: sc.Code, tpe: sc.Type, forbidInline: Boolean = false): sc.Code = { @@ -687,8 +686,8 @@ class DbLibZioJdbc(pkg: sc.QIdent, inlineImplicits: Boolean, dslEnabled: Boolean ) val parameterMetadata = { - val body = code"$ParameterMetaData.instance[$wrapperType](${sqlTypeLit}, ${TypesJava.SqlTypes}.OTHER)" - sc.Given(tparams = Nil, name = parameterMetadataName, implicitParams = Nil, tpe = ParameterMetaData.of(wrapperType), body = body) + val body = code"$PGType.instance[$wrapperType](${sqlTypeLit}, ${TypesJava.SqlTypes}.OTHER)" + sc.Given(tparams = Nil, name = pgTypeName, implicitParams = Nil, tpe = PGType.of(wrapperType), body = body) } val text = textSupport.map(_.anyValInstance(wrapperType, underlying)) @@ -746,10 +745,10 @@ class DbLibZioJdbc(pkg: sc.QIdent, inlineImplicits: Boolean, dslEnabled: Boolean ifDsl( sc.Given( tparams = Nil, - name = parameterMetadataName, + name = pgTypeName, implicitParams = Nil, - tpe = ParameterMetaData.of(wrapperType), - body = code"$ParameterMetaData.instance[$wrapperType](${lookupParameterMetaDataFor(underlying)}.sqlType, ${lookupParameterMetaDataFor(underlying)}.jdbcType)" + tpe = PGType.of(wrapperType), + body = code"${lookupPgTypeFor(underlying)}.as" ) ), textSupport.map(_.anyValInstance(wrapperType, underlying)) @@ -923,13 +922,13 @@ class DbLibZioJdbc(pkg: sc.QIdent, inlineImplicits: Boolean, dslEnabled: Boolean sc.Given(tparams = Nil, name = setterName, implicitParams = Nil, tpe = Setter.of(ct.typoType), body = body) } - val parameterMetadata = { - val body = code"$ParameterMetaData.instance[${ct.typoType}](${sc.StrLit(ct.sqlType)}, ${TypesJava.SqlTypes}.OTHER)" - sc.Given(Nil, parameterMetadataName, Nil, ParameterMetaData.of(ct.typoType), body) + val pgType = { + val body = code"$PGType.instance[${ct.typoType}](${sc.StrLit(ct.sqlType)}, ${TypesJava.SqlTypes}.OTHER)" + sc.Given(Nil, pgTypeName, Nil, PGType.of(ct.typoType), body) } val text = textSupport.map(_.customTypeInstance(ct)) - List(Option(jdbcEncoder), Option(jdbcDecoder), Option(setter), ifDsl(parameterMetadata), text).flatten + List(Option(jdbcEncoder), Option(jdbcDecoder), Option(setter), ifDsl(pgType), text).flatten } def customTypeArray(ct: CustomType): List[sc.Given] = { diff --git a/typo/src/scala/typo/internal/codegen/SqlCast.scala b/typo/src/scala/typo/internal/codegen/SqlCast.scala index c975962c4b..fdd383db53 100644 --- a/typo/src/scala/typo/internal/codegen/SqlCast.scala +++ b/typo/src/scala/typo/internal/codegen/SqlCast.scala @@ -26,7 +26,11 @@ object SqlCast { case db.Type.Unknown(sqlType) => Some(SqlCast(sqlType)) case db.Type.EnumRef(name) => Some(SqlCast(name.value)) case db.Type.Boolean | db.Type.Text | db.Type.VarChar(_) => None - case _ => udtName.map(SqlCast.apply) + case _ => + udtName.map { + case ArrayName(x) => SqlCast(x + "[]") + case other => SqlCast(other) + } } def toPgCode(c: ComputedColumn): sc.Code =