Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/backend/postgres/table.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,10 @@ impl TableBuilder for PostgresQueryBuilder {
},
ColumnType::Text => sql.write_str("text"),
ColumnType::TinyInteger | ColumnType::TinyUnsigned => sql.write_str("smallint"),
ColumnType::SmallInteger | ColumnType::SmallUnsigned => sql.write_str("smallint"),
ColumnType::Integer | ColumnType::Unsigned => sql.write_str("integer"),
ColumnType::BigInteger | ColumnType::BigUnsigned => sql.write_str("bigint"),
ColumnType::SmallInteger => sql.write_str("smallint"),
ColumnType::Integer | ColumnType::SmallUnsigned => sql.write_str("integer"),
ColumnType::BigInteger | ColumnType::Unsigned => sql.write_str("bigint"),
ColumnType::BigUnsigned => sql.write_str("numeric"),
ColumnType::Float => sql.write_str("real"),
ColumnType::Double => sql.write_str("double precision"),
ColumnType::Decimal(precision) => match precision {
Expand Down
6 changes: 3 additions & 3 deletions src/table/column.rs
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ impl From<&mut ColumnDef> for ColumnDef {
/// | Integer | int | integer | integer |
/// | BigInteger | bigint | bigint | integer |
/// | TinyUnsigned | tinyint unsigned | smallint | tinyint |
/// | SmallUnsigned | smallint unsigned | smallint | smallint |
/// | Unsigned | int unsigned | integer | integer |
/// | BigUnsigned | bigint unsigned | bigint | integer |
/// | SmallUnsigned | smallint unsigned | integer | smallint |
/// | Unsigned | int unsigned | bigint | integer |
/// | BigUnsigned | bigint unsigned | numeric | integer |
/// | Float | float | real | float |
/// | Double | double | double precision | double |
/// | Decimal | decimal | decimal | real(A, B) |
Expand Down
30 changes: 26 additions & 4 deletions tests/postgres/table.rs
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,8 @@ fn create_3() {
r#""id" integer GENERATED BY DEFAULT AS IDENTITY NOT NULL PRIMARY KEY,"#,
r#""font_size" integer NOT NULL,"#,
r#""character" varchar(255) NOT NULL,"#,
r#""size_w" integer NOT NULL,"#,
r#""size_h" integer NOT NULL,"#,
r#""size_w" bigint NOT NULL,"#,
r#""size_h" bigint NOT NULL,"#,
r#""font_id" integer DEFAULT NULL,"#,
r#"CONSTRAINT "FK_2e303c3a712662f1fc2a4d0aad6""#,
r#"FOREIGN KEY ("font_id") REFERENCES "font" ("id")"#,
Expand Down Expand Up @@ -731,12 +731,34 @@ fn create_19() {
r#""id" integer GENERATED BY DEFAULT AS IDENTITY NOT NULL PRIMARY KEY,"#,
r#""font_size" integer NOT NULL,"#,
r#""character" varchar(255) NOT NULL,"#,
r#""size_w" integer NOT NULL,"#,
r#""size_h" integer NOT NULL,"#,
r#""size_w" bigint NOT NULL,"#,
r#""size_h" bigint NOT NULL,"#,
r#""font_id" integer DEFAULT NULL,"#,
r#"CONSTRAINT "idx-character-area" (("size_h" * "size_w"))"#,
r#")"#,
]
.join(" "),
);
}

#[test]
fn create_20() {
assert_eq!(
Table::create()
.table("unsigned")
.col(ColumnDef::new("tiny_unsigned").tiny_unsigned())
.col(ColumnDef::new("small_unsigned").small_unsigned())
.col(ColumnDef::new("unsigned").unsigned())
.col(ColumnDef::new("big_unsigned").big_unsigned())
.to_string(PostgresQueryBuilder),
[
r#"CREATE TABLE "unsigned" ("#,
r#""tiny_unsigned" smallint,"#,
r#""small_unsigned" integer,"#,
r#""unsigned" bigint,"#,
r#""big_unsigned" numeric"#,
r#")"#,
]
.join(" "),
);
}
Loading