The [oldest unsupported version documentation](https://www.postgresql.org/docs/7.1/sql-comment.html) states that comment on a column is supported.
Update `TestGetColumnsComment` in order to check both MySQL/MariaDB and PostgreSQL.
Co-authored-by: Pierre-Louis Bonicoli <pierre-louis.bonicoli@libregerbil.fr>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2131
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Pierre-Louis Bonicoli <pilou@noreply.gitea.io>
Co-committed-by: Pierre-Louis Bonicoli <pilou@noreply.gitea.io>
Now `Datetime` support `Datime(6)` to indicate the time scale. For different database , the max scale is not different.
`Datetime` means `Datetime(0)`.
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2021
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-committed-by: Lunny Xiao <xiaolunwen@gmail.com>
There is an odd inconsistency with default blob sizes - this PR only sets the
default size for bytea and binary.
Signed-off-by: Andrew Thornton <art27@cantab.net>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/1959
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Andrew Thornton <art27@cantab.net>
Co-committed-by: Andrew Thornton <art27@cantab.net>
Now you can use big.Float for numeric type.
```go
type MyMoney struct {
Id int64
Money big.Float `xorm:"numeric(22,2)"`
}
```
Reviewed-on: https://gitea.com/xorm/xorm/pulls/1973
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-committed-by: Lunny Xiao <xiaolunwen@gmail.com>
This should solve #1954 and adds some tests for it. I will note I'm not 100% clear on whether there are other edge cases that should be covered here. From what I understand the only standard SQL way to escape single quotes is to double them, which shouldn't cause any problems with this, but if some SQL flavors allow other kinds of escaping, for instance, that would probably need to be covered too for ideal results.
Co-authored-by: Hlín Önnudóttir <hlin@nanitor.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/1955
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: antialiasis <antialiasis@noreply.gitea.io>
Co-committed-by: antialiasis <antialiasis@noreply.gitea.io>
Byte strings in postgres are actually E'\x...' not 0x...
This is part of the follow-up to #1872
Signed-off-by: Andrew Thornton <art27@cantab.net>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/1906
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Andrew Thornton <art27@cantab.net>
Co-committed-by: Andrew Thornton <art27@cantab.net>
This PR add support to MySQL, for other databases unsigned type will be downgrade to the related signed type.
Replace #1810
Reviewed-on: https://gitea.com/xorm/xorm/pulls/1889
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-committed-by: Lunny Xiao <xiaolunwen@gmail.com>
MariaDB when encountering an old datetime type will add a suffix of /* mariadb-5.3 */
on its schema information page. Xorm does not understand this and then its mappings
fail.
The simplest solution is just to remove any fixed suffix and that is what this PR does
- a clever solution would look for and remove any comments or match them.
See https://mariadb.com/kb/en/time/ for more details about the comment.
Related: https://github.com/go-gitea/gitea/issues/15277
Signed-off-by: Andrew Thornton <art27@cantab.net>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/1885
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Andrew Thornton <art27@cantab.net>
Co-committed-by: Andrew Thornton <art27@cantab.net>
1. add: support xml column type for mssql.
2. fix: array index overflow when getindexs caused by unregular indexname(eg.idx_(tablename))
Co-authored-by: Rick <lonelyangel.jcw@gmail.com>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/1852
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: L-Angel <l-angel@noreply.gitea.io>
Co-committed-by: L-Angel <l-angel@noreply.gitea.io>
prod CI
Merge branch 'fix-1782-MSSQL-nvarchar-fixes' of gitea.com:zeripath/xorm into fix-1782-MSSQL-nvarchar-fixes
map "character" to Char for postgres
Signed-off-by: Andrew Thornton <art27@cantab.net>
Merge branch 'master' into fix-1782-MSSQL-nvarchar-fixes
Postgres (and cockroachDB by inheritance) maps Char to Varchar
Signed-off-by: Andrew Thornton <art27@cantab.net>
fix test
Add a few more column testcases in light of postgres weirdness
prod CI
prod CI
prod CI
Properly handle MAX
Signed-off-by: Andrew Thornton <art27@cantab.net>
Add tests for Test and Char columns
Signed-off-by: Andrew Thornton <art27@cantab.net>
prod CI
fix test
Signed-off-by: Andrew Thornton <art27@cantab.net>
Remove the duplicate mssql drone test and add a specific sync test
Signed-off-by: Andrew Thornton <art27@cantab.net>
add depends_on (2)
Signed-off-by: Andrew Thornton <art27@cantab.net>
add depends_on
Signed-off-by: Andrew Thornton <art27@cantab.net>
add nvarchar as a testcase
Signed-off-by: Andrew Thornton <art27@cantab.net>
Set defaultVarchar to upper case
Signed-off-by: Andrew Thornton <art27@cantab.net>
Fix length issue
Signed-off-by: Andrew Thornton <art27@cantab.net>
schemas.Text should map to db.defaultVarchar
Signed-off-by: Andrew Thornton <art27@cantab.net>
Add failing test
Signed-off-by: Andrew Thornton <art27@cantab.net>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/1783
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
try again ci
Signed-off-by: Andrew Thornton <art27@cantab.net>
try again ci
Signed-off-by: Andrew Thornton <art27@cantab.net>
tidy up appearance of the alreadyQuoted SQL string
Signed-off-by: Andrew Thornton <art27@cantab.net>
Merge remote-tracking branch 'origin/master' into fix-defaults-sync2-mysql
Try MariaDB 10.4
Signed-off-by: Andrew Thornton <art27@cantab.net>
fix drone
Signed-off-by: Andrew Thornton <art27@cantab.net>
Correct default detection in MariaDB >= 10.2.7
MariaDB in version 10.2.7 changed the reporting of COLUMN_DEFAULT in
INFORMATION_SCHEMA.COLUMNS to quote string values.
This PR adds a version detection test to the columns query.
References: https://jira.mariadb.org/browse/MDEV-13132
References: https://jira.mariadb.org/browse/MDEV-15390
Signed-off-by: Andrew Thornton <art27@cantab.net>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/1778
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Update drone test for mssql nvarchar
Add params for mssql to allow redefine varchar as nvarchar or char as nchar
Reviewed-on: https://gitea.com/xorm/xorm/pulls/1741
Fix index name parsing in SQLite dialect
If index is created with statement like CREATE INDEX "IDX_tbl_field" ON "tbl" (field), the dialect will parse index name as "IDX_tbl_field" and recognize it as an irregular index.
Co-authored-by: David Dai <stdioa@163.com>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/1737