You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello, Kei-san! I am trying to use Haskell-Relational-Record with PostgreSQL 12 (psql (12.1 (Debian 12.1-1.pgdg100+1))) and when I defined a table containing simple types (text, integer) - with defineTableFromDB - it's OK. But when I try to do the same for table with SQL type real then I get an error:
/root/xyz/pgsql-poc/hrr/src/Countrylanguage.hs:22:3: error:
• No instance for (PersistableWidth Float)
arising from a use of ‘Database.Record.Persistable.genericFieldOffsets’
• In the first argument of ‘Database.Record.Persistable.getProductConst’, namely
‘(Database.Record.Persistable.genericFieldOffsets ::
Database.Record.Persistable.ProductConst (GHC.Arr.Array Int Int) Countrylanguage)’
In the expression:
Database.Record.Persistable.getProductConst
(Database.Record.Persistable.genericFieldOffsets ::
Database.Record.Persistable.ProductConst (GHC.Arr.Array Int Int) Countrylanguage)
In an equation for ‘columnOffsetsCountrylanguage’:
columnOffsetsCountrylanguage
= Database.Record.Persistable.getProductConst
(Database.Record.Persistable.genericFieldOffsets ::
Database.Record.Persistable.ProductConst (GHC.Arr.Array Int Int) Countrylanguage)
|
22 | $(defineTable2
| ^^^^^^^^^^^^...
/root/xyz/pgsql-poc/hrr/src/Countrylanguage.hs:22:3: error:
• No instance for (ToSql Database.HDBC.SqlValue.SqlValue Float)
arising from a use of ‘Database.Record.ToSql.$dmrecordToSql’
• In the expression:
Database.Record.ToSql.$dmrecordToSql
@(Database.HDBC.SqlValue.SqlValue) @(Countrylanguage)
In an equation for ‘recordToSql’:
recordToSql
= Database.Record.ToSql.$dmrecordToSql
@(Database.HDBC.SqlValue.SqlValue) @(Countrylanguage)
In the instance declaration for
‘ToSql Database.HDBC.SqlValue.SqlValue Countrylanguage’
|
22 | $(defineTable2
| ^^^^^^^^^^^^...
/root/xyz/pgsql-poc/hrr/src/Countrylanguage.hs:22:3: error:
• No instance for (FromSql Database.HDBC.SqlValue.SqlValue Float)
arising from a use of ‘Database.Record.FromSql.$dmrecordFromSql’
• In the expression:
Database.Record.FromSql.$dmrecordFromSql
@(Database.HDBC.SqlValue.SqlValue) @(Countrylanguage)
In an equation for ‘recordFromSql’:
recordFromSql
= Database.Record.FromSql.$dmrecordFromSql
@(Database.HDBC.SqlValue.SqlValue) @(Countrylanguage)
In the instance declaration for
‘FromSql Database.HDBC.SqlValue.SqlValue Countrylanguage’
|
22 | $(defineTable2
| ^^^^^^^^^^^^...
/root/xyz/pgsql-poc/hrr/src/Countrylanguage.hs:22:3: error:
• No instance for (PersistableWidth Float)
arising from a use of ‘Database.Relational.Pi.Unsafe.definePi’
• In the expression:
(Database.Relational.Pi.Unsafe.definePi
$ (columnOffsetsCountrylanguage GHC.Arr.! 3))
In an equation for ‘Database.Relational.OverloadedProjection.projection’:
Database.Relational.OverloadedProjection.projection _
= (Database.Relational.Pi.Unsafe.definePi
$ (columnOffsetsCountrylanguage GHC.Arr.! 3))
In the instance declaration for
‘Database.Relational.OverloadedProjection.HasProjection
"percentage" Countrylanguage Float’
|
22 | $(defineTable2
| ^^^^^^^^^^^^...
The table "countrylanguage" is a table from the famous database "world" for PostgreSQL, which looks like:
postgres=# \dt
List of relations
Schema | Name | Type | Owner
--------+-----------------+-------+----------
public | city | table | postgres
public | country | table | postgres
public | countrylanguage | table | postgres
and a specially the table "countrylanguage" looks like:
postgres=# \d countrylanguage
Table "public.countrylanguage"
Column | Type | Collation | Nullable | Default
-------------+--------------+-----------+----------+---------
countrycode | character(3) | | not null |
language | text | | not null |
isofficial | boolean | | not null |
percentage | real | | not null |
Indexes:
"countrylanguage_pkey" PRIMARY KEY, btree (countrycode, language)
Foreign-key constraints:
"countrylanguage_countrycode_fkey" FOREIGN KEY (countrycode) REFERENCES country(code)
Is it an error? Or I miss something? How to fix it? I found some examples with the type "Float" for SQLite3, but why it does not work for PostgreSQL, I have not idea.
PS. Very similar code works fine for table "city" which does not contain columns of "real" type.
The text was updated successfully, but these errors were encountered:
Hello, Kei-san! I am trying to use Haskell-Relational-Record with PostgreSQL 12 (
psql (12.1 (Debian 12.1-1.pgdg100+1))
) and when I defined a table containing simple types (text
,integer
) - withdefineTableFromDB
- it's OK. But when I try to do the same for table with SQL typereal
then I get an error:This is the code which describes the table:
The table "countrylanguage" is a table from the famous database "world" for PostgreSQL, which looks like:
and a specially the table "countrylanguage" looks like:
Is it an error? Or I miss something? How to fix it? I found some examples with the type "Float" for SQLite3, but why it does not work for PostgreSQL, I have not idea.
PS. Very similar code works fine for table "city" which does not contain columns of "real" type.
The text was updated successfully, but these errors were encountered: