summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-11 18:32:21 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-11 18:32:21 +0000
commit91e6903f22528e6b27904ec598254ee7ae6973df (patch)
tree7c35aeb1e8711baae8519b1c0692d5a4edadc2d1
parent1248cfbbb4f645ccb3c23f6e21beb7cfc6d14293 (diff)
automatic import of python-mssql-django
-rw-r--r--.gitignore1
-rw-r--r--python-mssql-django.spec987
-rw-r--r--sources1
3 files changed, 989 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..f78ea22 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/mssql-django-1.2.tar.gz
diff --git a/python-mssql-django.spec b/python-mssql-django.spec
new file mode 100644
index 0000000..7ef2c5d
--- /dev/null
+++ b/python-mssql-django.spec
@@ -0,0 +1,987 @@
+%global _empty_manifest_terminate_build 0
+Name: python-mssql-django
+Version: 1.2
+Release: 1
+Summary: Django backend for Microsoft SQL Server
+License: BSD
+URL: https://github.com/microsoft/mssql-django
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/03/ce/25f4451be59d68ecea604afb716546e5fe79e77be3c76ed4be7499ab4d80/mssql-django-1.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-django
+Requires: python3-pyodbc
+Requires: python3-pytz
+
+%description
+# SQL Server backend for Django
+
+Welcome to the MSSQL-Django 3rd party backend project!
+
+*mssql-django* is a fork of [django-mssql-backend](https://pypi.org/project/django-mssql-backend/). This project provides an enterprise database connectivity option for the Django Web Framework, with support for Microsoft SQL Server and Azure SQL Database.
+
+We'd like to give thanks to the community that made this project possible, with particular recognition of the contributors: OskarPersson, michiya, dlo and the original Google Code django-pyodbc team. Moving forward we encourage partipation in this project from both old and new contributors!
+
+We hope you enjoy using the MSSQL-Django 3rd party backend.
+
+## Features
+
+- Supports Django 3.2 and 4.0
+- Tested on Microsoft SQL Server 2016, 2017, 2019
+- Passes most of the tests of the Django test suite
+- Compatible with
+ [Micosoft ODBC Driver for SQL Server](https://docs.microsoft.com/en-us/sql/connect/odbc/microsoft-odbc-driver-for-sql-server),
+ [SQL Server Native Client](https://msdn.microsoft.com/en-us/library/ms131321(v=sql.120).aspx),
+ and [FreeTDS](https://www.freetds.org/) ODBC drivers
+
+## Dependencies
+
+- pyodbc 3.0 or newer
+
+## Installation
+
+1. Install pyodbc 3.0 (or newer) and Django
+2. Install mssql-django:
+
+ pip install mssql-django
+
+3. Set the `ENGINE` setting in the `settings.py` file used by
+ your Django application or project to `'mssql'`:
+
+ 'ENGINE': 'mssql'
+
+## Configuration
+
+### Standard Django settings
+
+The following entries in a database-level settings dictionary
+in DATABASES control the behavior of the backend:
+
+- ENGINE
+
+ String. It must be `"mssql"`.
+
+- NAME
+
+ String. Database name. Required.
+
+- HOST
+
+ String. SQL Server instance in `"server\instance"` format.
+
+- PORT
+
+ String. Server instance port.
+ An empty string means the default port.
+
+- USER
+
+ String. Database user name in `"user"` format.
+ If not given then MS Integrated Security will be used.
+
+- PASSWORD
+
+ String. Database user password.
+
+- TOKEN
+
+ String. Access token fetched as a user or service principal which
+ has access to the database. E.g. when using `azure.identity`, the
+ result of `DefaultAzureCredential().get_token('https://database.windows.net/.default')`
+ can be passed.
+
+- AUTOCOMMIT
+
+ Boolean. Set this to `False` if you want to disable
+ Django's transaction management and implement your own.
+
+- Trusted_Connection
+
+ String. Default is `"yes"`. Can be set to `"no"` if required.
+
+and the following entries are also available in the `TEST` dictionary
+for any given database-level settings dictionary:
+
+- NAME
+
+ String. The name of database to use when running the test suite.
+ If the default value (`None`) is used, the test database will use
+ the name `"test_" + NAME`.
+
+- COLLATION
+
+ String. The collation order to use when creating the test database.
+ If the default value (`None`) is used, the test database is assigned
+ the default collation of the instance of SQL Server.
+
+- DEPENDENCIES
+
+ String. The creation-order dependencies of the database.
+ See the official Django documentation for more details.
+
+- MIRROR
+
+ String. The alias of the database that this database should
+ mirror during testing. Default value is `None`.
+ See the official Django documentation for more details.
+
+### OPTIONS
+
+Dictionary. Current available keys are:
+
+- driver
+
+ String. ODBC Driver to use (`"ODBC Driver 17 for SQL Server"`,
+ `"SQL Server Native Client 11.0"`, `"FreeTDS"` etc).
+ Default is `"ODBC Driver 17 for SQL Server"`.
+
+- isolation_level
+
+ String. Sets [transaction isolation level](https://docs.microsoft.com/en-us/sql/t-sql/statements/set-transaction-isolation-level-transact-sql)
+ for each database session. Valid values for this entry are
+ `READ UNCOMMITTED`, `READ COMMITTED`, `REPEATABLE READ`,
+ `SNAPSHOT`, and `SERIALIZABLE`. Default is `None` which means
+ no isolation level is set to a database session and SQL Server default
+ will be used.
+
+- dsn
+
+ String. A named DSN can be used instead of `HOST`.
+
+- host_is_server
+
+ Boolean. Only relevant if using the FreeTDS ODBC driver under
+ Unix/Linux.
+
+ By default, when using the FreeTDS ODBC driver the value specified in
+ the ``HOST`` setting is used in a ``SERVERNAME`` ODBC connection
+ string component instead of being used in a ``SERVER`` component;
+ this means that this value should be the name of a *dataserver*
+ definition present in the ``freetds.conf`` FreeTDS configuration file
+ instead of a hostname or an IP address.
+
+ But if this option is present and its value is ``True``, this
+ special behavior is turned off. Instead, connections to the database
+ server will be established using ``HOST`` and ``PORT`` options, without
+ requiring ``freetds.conf`` to be configured.
+
+ See https://www.freetds.org/userguide/dsnless.html for more information.
+
+- unicode_results
+
+ Boolean. If it is set to ``True``, pyodbc's *unicode_results* feature
+ is activated and strings returned from pyodbc are always Unicode.
+ Default value is ``False``.
+
+- extra_params
+
+ String. Additional parameters for the ODBC connection. The format is
+ ``"param=value;param=value"``, [Azure AD Authentication](https://github.com/microsoft/mssql-django/wiki/Azure-AD-Authentication) (Service Principal, Interactive, Msi) can be added to this field.
+
+- collation
+
+ String. Name of the collation to use when performing text field
+ lookups against the database. Default is ``None``; this means no
+ collation specifier is added to your lookup SQL (the default
+ collation of your database will be used). For Chinese language you
+ can set it to ``"Chinese_PRC_CI_AS"``.
+
+- connection_timeout
+
+ Integer. Sets the timeout in seconds for the database connection process.
+ Default value is ``0`` which disables the timeout.
+
+- connection_retries
+
+ Integer. Sets the times to retry the database connection process.
+ Default value is ``5``.
+
+- connection_retry_backoff_time
+
+ Integer. Sets the back off time in seconds for reries of
+ the database connection process. Default value is ``5``.
+
+- query_timeout
+
+ Integer. Sets the timeout in seconds for the database query.
+ Default value is ``0`` which disables the timeout.
+
+- [setencoding](https://github.com/mkleehammer/pyodbc/wiki/Connection#setencoding) and [setdecoding](https://github.com/mkleehammer/pyodbc/wiki/Connection#setdecoding)
+
+ ```python
+ # Example
+ "OPTIONS": {
+ "setdecoding": [
+ {"sqltype": pyodbc.SQL_CHAR, "encoding": 'utf-8'},
+ {"sqltype": pyodbc.SQL_WCHAR, "encoding": 'utf-8'}],
+ "setencoding": [
+ {"encoding": "utf-8"}],
+ ...
+ },
+ ```
+
+- return_rows_bulk_insert
+
+ Boolean. Sets if backend can return rows from bulk insert.
+ Default value is False which doesn't allows for the backend to
+ return rows from bulk insert. Must be set to False if database
+ has tables with triggers to prevent errors when inserting.
+
+ ```python
+ # Examples
+ "OPTIONS": {
+ # This database doesn't have any triggers so can use return
+ # rows from bulk insert feature
+ "return_rows_bulk_insert": True
+ }
+
+ "OPTIONS": {
+ # This database has triggers so leave return_rows_bulk_insert as blank (False)
+ # to prevent errors related to inserting and returning rows from bulk insert
+ }
+ ```
+
+### Backend-specific settings
+
+The following project-level settings also control the behavior of the backend:
+
+- DATABASE_CONNECTION_POOLING
+
+ Boolean. If it is set to ``False``, pyodbc's connection pooling feature
+ won't be activated.
+
+### Example
+
+Here is an example of the database settings:
+
+```python
+ DATABASES = {
+ 'default': {
+ 'ENGINE': 'mssql',
+ 'NAME': 'mydb',
+ 'USER': 'user@myserver',
+ 'PASSWORD': 'password',
+ 'HOST': 'myserver.database.windows.net',
+ 'PORT': '',
+
+ 'OPTIONS': {
+ 'driver': 'ODBC Driver 17 for SQL Server',
+ },
+ },
+ }
+
+ # set this to False if you want to turn off pyodbc's connection pooling
+ DATABASE_CONNECTION_POOLING = False
+```
+
+## Limitations
+
+The following features are currently not fully supported:
+- Altering a model field from or to AutoField at migration
+- Django annotate functions have floating point arithmetic problems in some cases
+- Annotate function with exists
+- Exists function in order_by
+- Righthand power and arithmetic with datatimes
+- Timezones, timedeltas not fully supported
+- Rename field/model with foreign key constraint
+- Database level constraints
+- Filtered index
+- Date extract function
+- Bulk insert into a table with a trigger and returning the rows inserted
+
+JSONField lookups have limitations, more details [here](https://github.com/microsoft/mssql-django/wiki/JSONField).
+
+## Contributing
+
+More details on contributing can be found [here](CONTRIBUTING.md).
+
+This project welcomes contributions and suggestions. Most contributions require you to agree to a
+Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
+the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
+
+When you submit a pull request, a CLA bot will automatically determine whether you need to provide
+a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
+provided by the bot. You will only need to do this once across all repos using our CLA.
+
+This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
+For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
+contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
+
+## Security Reporting Instructions
+
+For security reporting instructions please refer to the [`SECURITY.md`](SECURITY.md) file in this repository.
+
+## Trademarks
+
+This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft
+trademarks or logos is subject to and must follow
+[Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
+Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
+Any use of third-party trademarks or logos are subject to those third-party's policies.
+
+
+%package -n python3-mssql-django
+Summary: Django backend for Microsoft SQL Server
+Provides: python-mssql-django
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-mssql-django
+# SQL Server backend for Django
+
+Welcome to the MSSQL-Django 3rd party backend project!
+
+*mssql-django* is a fork of [django-mssql-backend](https://pypi.org/project/django-mssql-backend/). This project provides an enterprise database connectivity option for the Django Web Framework, with support for Microsoft SQL Server and Azure SQL Database.
+
+We'd like to give thanks to the community that made this project possible, with particular recognition of the contributors: OskarPersson, michiya, dlo and the original Google Code django-pyodbc team. Moving forward we encourage partipation in this project from both old and new contributors!
+
+We hope you enjoy using the MSSQL-Django 3rd party backend.
+
+## Features
+
+- Supports Django 3.2 and 4.0
+- Tested on Microsoft SQL Server 2016, 2017, 2019
+- Passes most of the tests of the Django test suite
+- Compatible with
+ [Micosoft ODBC Driver for SQL Server](https://docs.microsoft.com/en-us/sql/connect/odbc/microsoft-odbc-driver-for-sql-server),
+ [SQL Server Native Client](https://msdn.microsoft.com/en-us/library/ms131321(v=sql.120).aspx),
+ and [FreeTDS](https://www.freetds.org/) ODBC drivers
+
+## Dependencies
+
+- pyodbc 3.0 or newer
+
+## Installation
+
+1. Install pyodbc 3.0 (or newer) and Django
+2. Install mssql-django:
+
+ pip install mssql-django
+
+3. Set the `ENGINE` setting in the `settings.py` file used by
+ your Django application or project to `'mssql'`:
+
+ 'ENGINE': 'mssql'
+
+## Configuration
+
+### Standard Django settings
+
+The following entries in a database-level settings dictionary
+in DATABASES control the behavior of the backend:
+
+- ENGINE
+
+ String. It must be `"mssql"`.
+
+- NAME
+
+ String. Database name. Required.
+
+- HOST
+
+ String. SQL Server instance in `"server\instance"` format.
+
+- PORT
+
+ String. Server instance port.
+ An empty string means the default port.
+
+- USER
+
+ String. Database user name in `"user"` format.
+ If not given then MS Integrated Security will be used.
+
+- PASSWORD
+
+ String. Database user password.
+
+- TOKEN
+
+ String. Access token fetched as a user or service principal which
+ has access to the database. E.g. when using `azure.identity`, the
+ result of `DefaultAzureCredential().get_token('https://database.windows.net/.default')`
+ can be passed.
+
+- AUTOCOMMIT
+
+ Boolean. Set this to `False` if you want to disable
+ Django's transaction management and implement your own.
+
+- Trusted_Connection
+
+ String. Default is `"yes"`. Can be set to `"no"` if required.
+
+and the following entries are also available in the `TEST` dictionary
+for any given database-level settings dictionary:
+
+- NAME
+
+ String. The name of database to use when running the test suite.
+ If the default value (`None`) is used, the test database will use
+ the name `"test_" + NAME`.
+
+- COLLATION
+
+ String. The collation order to use when creating the test database.
+ If the default value (`None`) is used, the test database is assigned
+ the default collation of the instance of SQL Server.
+
+- DEPENDENCIES
+
+ String. The creation-order dependencies of the database.
+ See the official Django documentation for more details.
+
+- MIRROR
+
+ String. The alias of the database that this database should
+ mirror during testing. Default value is `None`.
+ See the official Django documentation for more details.
+
+### OPTIONS
+
+Dictionary. Current available keys are:
+
+- driver
+
+ String. ODBC Driver to use (`"ODBC Driver 17 for SQL Server"`,
+ `"SQL Server Native Client 11.0"`, `"FreeTDS"` etc).
+ Default is `"ODBC Driver 17 for SQL Server"`.
+
+- isolation_level
+
+ String. Sets [transaction isolation level](https://docs.microsoft.com/en-us/sql/t-sql/statements/set-transaction-isolation-level-transact-sql)
+ for each database session. Valid values for this entry are
+ `READ UNCOMMITTED`, `READ COMMITTED`, `REPEATABLE READ`,
+ `SNAPSHOT`, and `SERIALIZABLE`. Default is `None` which means
+ no isolation level is set to a database session and SQL Server default
+ will be used.
+
+- dsn
+
+ String. A named DSN can be used instead of `HOST`.
+
+- host_is_server
+
+ Boolean. Only relevant if using the FreeTDS ODBC driver under
+ Unix/Linux.
+
+ By default, when using the FreeTDS ODBC driver the value specified in
+ the ``HOST`` setting is used in a ``SERVERNAME`` ODBC connection
+ string component instead of being used in a ``SERVER`` component;
+ this means that this value should be the name of a *dataserver*
+ definition present in the ``freetds.conf`` FreeTDS configuration file
+ instead of a hostname or an IP address.
+
+ But if this option is present and its value is ``True``, this
+ special behavior is turned off. Instead, connections to the database
+ server will be established using ``HOST`` and ``PORT`` options, without
+ requiring ``freetds.conf`` to be configured.
+
+ See https://www.freetds.org/userguide/dsnless.html for more information.
+
+- unicode_results
+
+ Boolean. If it is set to ``True``, pyodbc's *unicode_results* feature
+ is activated and strings returned from pyodbc are always Unicode.
+ Default value is ``False``.
+
+- extra_params
+
+ String. Additional parameters for the ODBC connection. The format is
+ ``"param=value;param=value"``, [Azure AD Authentication](https://github.com/microsoft/mssql-django/wiki/Azure-AD-Authentication) (Service Principal, Interactive, Msi) can be added to this field.
+
+- collation
+
+ String. Name of the collation to use when performing text field
+ lookups against the database. Default is ``None``; this means no
+ collation specifier is added to your lookup SQL (the default
+ collation of your database will be used). For Chinese language you
+ can set it to ``"Chinese_PRC_CI_AS"``.
+
+- connection_timeout
+
+ Integer. Sets the timeout in seconds for the database connection process.
+ Default value is ``0`` which disables the timeout.
+
+- connection_retries
+
+ Integer. Sets the times to retry the database connection process.
+ Default value is ``5``.
+
+- connection_retry_backoff_time
+
+ Integer. Sets the back off time in seconds for reries of
+ the database connection process. Default value is ``5``.
+
+- query_timeout
+
+ Integer. Sets the timeout in seconds for the database query.
+ Default value is ``0`` which disables the timeout.
+
+- [setencoding](https://github.com/mkleehammer/pyodbc/wiki/Connection#setencoding) and [setdecoding](https://github.com/mkleehammer/pyodbc/wiki/Connection#setdecoding)
+
+ ```python
+ # Example
+ "OPTIONS": {
+ "setdecoding": [
+ {"sqltype": pyodbc.SQL_CHAR, "encoding": 'utf-8'},
+ {"sqltype": pyodbc.SQL_WCHAR, "encoding": 'utf-8'}],
+ "setencoding": [
+ {"encoding": "utf-8"}],
+ ...
+ },
+ ```
+
+- return_rows_bulk_insert
+
+ Boolean. Sets if backend can return rows from bulk insert.
+ Default value is False which doesn't allows for the backend to
+ return rows from bulk insert. Must be set to False if database
+ has tables with triggers to prevent errors when inserting.
+
+ ```python
+ # Examples
+ "OPTIONS": {
+ # This database doesn't have any triggers so can use return
+ # rows from bulk insert feature
+ "return_rows_bulk_insert": True
+ }
+
+ "OPTIONS": {
+ # This database has triggers so leave return_rows_bulk_insert as blank (False)
+ # to prevent errors related to inserting and returning rows from bulk insert
+ }
+ ```
+
+### Backend-specific settings
+
+The following project-level settings also control the behavior of the backend:
+
+- DATABASE_CONNECTION_POOLING
+
+ Boolean. If it is set to ``False``, pyodbc's connection pooling feature
+ won't be activated.
+
+### Example
+
+Here is an example of the database settings:
+
+```python
+ DATABASES = {
+ 'default': {
+ 'ENGINE': 'mssql',
+ 'NAME': 'mydb',
+ 'USER': 'user@myserver',
+ 'PASSWORD': 'password',
+ 'HOST': 'myserver.database.windows.net',
+ 'PORT': '',
+
+ 'OPTIONS': {
+ 'driver': 'ODBC Driver 17 for SQL Server',
+ },
+ },
+ }
+
+ # set this to False if you want to turn off pyodbc's connection pooling
+ DATABASE_CONNECTION_POOLING = False
+```
+
+## Limitations
+
+The following features are currently not fully supported:
+- Altering a model field from or to AutoField at migration
+- Django annotate functions have floating point arithmetic problems in some cases
+- Annotate function with exists
+- Exists function in order_by
+- Righthand power and arithmetic with datatimes
+- Timezones, timedeltas not fully supported
+- Rename field/model with foreign key constraint
+- Database level constraints
+- Filtered index
+- Date extract function
+- Bulk insert into a table with a trigger and returning the rows inserted
+
+JSONField lookups have limitations, more details [here](https://github.com/microsoft/mssql-django/wiki/JSONField).
+
+## Contributing
+
+More details on contributing can be found [here](CONTRIBUTING.md).
+
+This project welcomes contributions and suggestions. Most contributions require you to agree to a
+Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
+the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
+
+When you submit a pull request, a CLA bot will automatically determine whether you need to provide
+a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
+provided by the bot. You will only need to do this once across all repos using our CLA.
+
+This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
+For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
+contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
+
+## Security Reporting Instructions
+
+For security reporting instructions please refer to the [`SECURITY.md`](SECURITY.md) file in this repository.
+
+## Trademarks
+
+This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft
+trademarks or logos is subject to and must follow
+[Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
+Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
+Any use of third-party trademarks or logos are subject to those third-party's policies.
+
+
+%package help
+Summary: Development documents and examples for mssql-django
+Provides: python3-mssql-django-doc
+%description help
+# SQL Server backend for Django
+
+Welcome to the MSSQL-Django 3rd party backend project!
+
+*mssql-django* is a fork of [django-mssql-backend](https://pypi.org/project/django-mssql-backend/). This project provides an enterprise database connectivity option for the Django Web Framework, with support for Microsoft SQL Server and Azure SQL Database.
+
+We'd like to give thanks to the community that made this project possible, with particular recognition of the contributors: OskarPersson, michiya, dlo and the original Google Code django-pyodbc team. Moving forward we encourage partipation in this project from both old and new contributors!
+
+We hope you enjoy using the MSSQL-Django 3rd party backend.
+
+## Features
+
+- Supports Django 3.2 and 4.0
+- Tested on Microsoft SQL Server 2016, 2017, 2019
+- Passes most of the tests of the Django test suite
+- Compatible with
+ [Micosoft ODBC Driver for SQL Server](https://docs.microsoft.com/en-us/sql/connect/odbc/microsoft-odbc-driver-for-sql-server),
+ [SQL Server Native Client](https://msdn.microsoft.com/en-us/library/ms131321(v=sql.120).aspx),
+ and [FreeTDS](https://www.freetds.org/) ODBC drivers
+
+## Dependencies
+
+- pyodbc 3.0 or newer
+
+## Installation
+
+1. Install pyodbc 3.0 (or newer) and Django
+2. Install mssql-django:
+
+ pip install mssql-django
+
+3. Set the `ENGINE` setting in the `settings.py` file used by
+ your Django application or project to `'mssql'`:
+
+ 'ENGINE': 'mssql'
+
+## Configuration
+
+### Standard Django settings
+
+The following entries in a database-level settings dictionary
+in DATABASES control the behavior of the backend:
+
+- ENGINE
+
+ String. It must be `"mssql"`.
+
+- NAME
+
+ String. Database name. Required.
+
+- HOST
+
+ String. SQL Server instance in `"server\instance"` format.
+
+- PORT
+
+ String. Server instance port.
+ An empty string means the default port.
+
+- USER
+
+ String. Database user name in `"user"` format.
+ If not given then MS Integrated Security will be used.
+
+- PASSWORD
+
+ String. Database user password.
+
+- TOKEN
+
+ String. Access token fetched as a user or service principal which
+ has access to the database. E.g. when using `azure.identity`, the
+ result of `DefaultAzureCredential().get_token('https://database.windows.net/.default')`
+ can be passed.
+
+- AUTOCOMMIT
+
+ Boolean. Set this to `False` if you want to disable
+ Django's transaction management and implement your own.
+
+- Trusted_Connection
+
+ String. Default is `"yes"`. Can be set to `"no"` if required.
+
+and the following entries are also available in the `TEST` dictionary
+for any given database-level settings dictionary:
+
+- NAME
+
+ String. The name of database to use when running the test suite.
+ If the default value (`None`) is used, the test database will use
+ the name `"test_" + NAME`.
+
+- COLLATION
+
+ String. The collation order to use when creating the test database.
+ If the default value (`None`) is used, the test database is assigned
+ the default collation of the instance of SQL Server.
+
+- DEPENDENCIES
+
+ String. The creation-order dependencies of the database.
+ See the official Django documentation for more details.
+
+- MIRROR
+
+ String. The alias of the database that this database should
+ mirror during testing. Default value is `None`.
+ See the official Django documentation for more details.
+
+### OPTIONS
+
+Dictionary. Current available keys are:
+
+- driver
+
+ String. ODBC Driver to use (`"ODBC Driver 17 for SQL Server"`,
+ `"SQL Server Native Client 11.0"`, `"FreeTDS"` etc).
+ Default is `"ODBC Driver 17 for SQL Server"`.
+
+- isolation_level
+
+ String. Sets [transaction isolation level](https://docs.microsoft.com/en-us/sql/t-sql/statements/set-transaction-isolation-level-transact-sql)
+ for each database session. Valid values for this entry are
+ `READ UNCOMMITTED`, `READ COMMITTED`, `REPEATABLE READ`,
+ `SNAPSHOT`, and `SERIALIZABLE`. Default is `None` which means
+ no isolation level is set to a database session and SQL Server default
+ will be used.
+
+- dsn
+
+ String. A named DSN can be used instead of `HOST`.
+
+- host_is_server
+
+ Boolean. Only relevant if using the FreeTDS ODBC driver under
+ Unix/Linux.
+
+ By default, when using the FreeTDS ODBC driver the value specified in
+ the ``HOST`` setting is used in a ``SERVERNAME`` ODBC connection
+ string component instead of being used in a ``SERVER`` component;
+ this means that this value should be the name of a *dataserver*
+ definition present in the ``freetds.conf`` FreeTDS configuration file
+ instead of a hostname or an IP address.
+
+ But if this option is present and its value is ``True``, this
+ special behavior is turned off. Instead, connections to the database
+ server will be established using ``HOST`` and ``PORT`` options, without
+ requiring ``freetds.conf`` to be configured.
+
+ See https://www.freetds.org/userguide/dsnless.html for more information.
+
+- unicode_results
+
+ Boolean. If it is set to ``True``, pyodbc's *unicode_results* feature
+ is activated and strings returned from pyodbc are always Unicode.
+ Default value is ``False``.
+
+- extra_params
+
+ String. Additional parameters for the ODBC connection. The format is
+ ``"param=value;param=value"``, [Azure AD Authentication](https://github.com/microsoft/mssql-django/wiki/Azure-AD-Authentication) (Service Principal, Interactive, Msi) can be added to this field.
+
+- collation
+
+ String. Name of the collation to use when performing text field
+ lookups against the database. Default is ``None``; this means no
+ collation specifier is added to your lookup SQL (the default
+ collation of your database will be used). For Chinese language you
+ can set it to ``"Chinese_PRC_CI_AS"``.
+
+- connection_timeout
+
+ Integer. Sets the timeout in seconds for the database connection process.
+ Default value is ``0`` which disables the timeout.
+
+- connection_retries
+
+ Integer. Sets the times to retry the database connection process.
+ Default value is ``5``.
+
+- connection_retry_backoff_time
+
+ Integer. Sets the back off time in seconds for reries of
+ the database connection process. Default value is ``5``.
+
+- query_timeout
+
+ Integer. Sets the timeout in seconds for the database query.
+ Default value is ``0`` which disables the timeout.
+
+- [setencoding](https://github.com/mkleehammer/pyodbc/wiki/Connection#setencoding) and [setdecoding](https://github.com/mkleehammer/pyodbc/wiki/Connection#setdecoding)
+
+ ```python
+ # Example
+ "OPTIONS": {
+ "setdecoding": [
+ {"sqltype": pyodbc.SQL_CHAR, "encoding": 'utf-8'},
+ {"sqltype": pyodbc.SQL_WCHAR, "encoding": 'utf-8'}],
+ "setencoding": [
+ {"encoding": "utf-8"}],
+ ...
+ },
+ ```
+
+- return_rows_bulk_insert
+
+ Boolean. Sets if backend can return rows from bulk insert.
+ Default value is False which doesn't allows for the backend to
+ return rows from bulk insert. Must be set to False if database
+ has tables with triggers to prevent errors when inserting.
+
+ ```python
+ # Examples
+ "OPTIONS": {
+ # This database doesn't have any triggers so can use return
+ # rows from bulk insert feature
+ "return_rows_bulk_insert": True
+ }
+
+ "OPTIONS": {
+ # This database has triggers so leave return_rows_bulk_insert as blank (False)
+ # to prevent errors related to inserting and returning rows from bulk insert
+ }
+ ```
+
+### Backend-specific settings
+
+The following project-level settings also control the behavior of the backend:
+
+- DATABASE_CONNECTION_POOLING
+
+ Boolean. If it is set to ``False``, pyodbc's connection pooling feature
+ won't be activated.
+
+### Example
+
+Here is an example of the database settings:
+
+```python
+ DATABASES = {
+ 'default': {
+ 'ENGINE': 'mssql',
+ 'NAME': 'mydb',
+ 'USER': 'user@myserver',
+ 'PASSWORD': 'password',
+ 'HOST': 'myserver.database.windows.net',
+ 'PORT': '',
+
+ 'OPTIONS': {
+ 'driver': 'ODBC Driver 17 for SQL Server',
+ },
+ },
+ }
+
+ # set this to False if you want to turn off pyodbc's connection pooling
+ DATABASE_CONNECTION_POOLING = False
+```
+
+## Limitations
+
+The following features are currently not fully supported:
+- Altering a model field from or to AutoField at migration
+- Django annotate functions have floating point arithmetic problems in some cases
+- Annotate function with exists
+- Exists function in order_by
+- Righthand power and arithmetic with datatimes
+- Timezones, timedeltas not fully supported
+- Rename field/model with foreign key constraint
+- Database level constraints
+- Filtered index
+- Date extract function
+- Bulk insert into a table with a trigger and returning the rows inserted
+
+JSONField lookups have limitations, more details [here](https://github.com/microsoft/mssql-django/wiki/JSONField).
+
+## Contributing
+
+More details on contributing can be found [here](CONTRIBUTING.md).
+
+This project welcomes contributions and suggestions. Most contributions require you to agree to a
+Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
+the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
+
+When you submit a pull request, a CLA bot will automatically determine whether you need to provide
+a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
+provided by the bot. You will only need to do this once across all repos using our CLA.
+
+This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
+For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
+contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
+
+## Security Reporting Instructions
+
+For security reporting instructions please refer to the [`SECURITY.md`](SECURITY.md) file in this repository.
+
+## Trademarks
+
+This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft
+trademarks or logos is subject to and must follow
+[Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
+Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
+Any use of third-party trademarks or logos are subject to those third-party's policies.
+
+
+%prep
+%autosetup -n mssql-django-1.2
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-mssql-django -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 1.2-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..3c8112b
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+c125a90e8b51cc5bf03a00afcc4708fd mssql-django-1.2.tar.gz