MarketSquare / MarketSquare/Robotframework-Database-Library
oracledb thin client - support locale specific date and number conversion
- Dominant language
- Python
- Stars
- 179
- Forks
- 178
- PR merge metrics
- No merged PRs in 30d
Description
Currently there is no native support for the python oracledb module, so this issue occurs when using "connect using custom params" mode (see #173 for connection example).
There is a problem if the test data used in Robot Framework has some regional format different from the Oracle DB.
For example, with decimal/float number and dates:
- The standard English Oracle format for a decimal number is point-based - e.g. `123.45`.
- But in some other languages/regions (e.g. in Germany) the comma-based format is used - `123,45`.
So before I save some local values to the database or compare them with the database values, there is some conversion to be done.
**Currently it has to performed manually**.
### Maybe there is a better way?
The thin mode of the oracledb client doesn't support Oracle Globalization variables (see the full comparison between thin and thick clients [here](https://python-oracledb.readthedocs.io/en/latest/user_guide/appendix_a.html#featuresummary)).
So they advice to use the python globalization support - and provide an [example](https://python-oracledb.readthedocs.io/en/latest/user_guide/globalization.html#thin-mode-locale-aware-number-and-date-conversions).
Also I'm not sure, but maybe this issue is relevant also for other databases?
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the custom-params connection mode and the connection example in issue #173, then read the linked python-oracledb thin-mode globalization example. Define how locale-aware date and number conversion should work for Robot Framework test data, and clarify whether the scope includes databases beyond Oracle.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100