|
FBI c REGEXP_REPLACE
|
|||
---|---|---|---|
#18+
FBI c использованием REGEXP_REPLACE на 11.2 и 12.1 нормально создается, на 12.2 получаем ORA-01743: only pure functions can be indexed Bug 20804063 - ORA-1499 as REGEXP_REPLACE is allowed to be used in Function-based indexes (FBI) (Doc ID 20804063.8) Function REGEXP_REPLACE() could be allowed to be used in functional indexes, virtual columns and check constraints; although it is not Deterministic . This then may cause table index/inconsistency with errors like: ORA-1499 by analyze table validate structure cascade ORA-8102 by UPDATE/DELETE statements Почему REGEXP_REPLACE is not Deterministic? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2017, 23:38 |
|
FBI c REGEXP_REPLACE
|
|||
---|---|---|---|
#18+
Дон БассаэроFBI c использованием REGEXP_REPLACE на 11.2 и 12.1 нормально создается, на 12.2 получаем ORA-01743: only pure functions can be indexed Bug 20804063 - ORA-1499 as REGEXP_REPLACE is allowed to be used in Function-based indexes (FBI) (Doc ID 20804063.8) Function REGEXP_REPLACE() could be allowed to be used in functional indexes, virtual columns and check constraints; although it is not Deterministic . This then may cause table index/inconsistency with errors like: ORA-1499 by analyze table validate structure cascade ORA-8102 by UPDATE/DELETE statements Почему REGEXP_REPLACE is not Deterministic? Because the regular expression you write may not be deterministic! https://asktom.oracle.com/pls/apex/f?p=100:11:::NO:RP:P11_QUESTION_ID:9536334100346650882 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2017, 23:47 |
|
FBI c REGEXP_REPLACE
|
|||
---|---|---|---|
#18+
Дон БассаэроПочему REGEXP_REPLACE is not Deterministic?NLS влияемо. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 02:58 |
|
FBI c REGEXP_REPLACE
|
|||
---|---|---|---|
#18+
Хотя то же самое применимо и к обычному replace, но с ним FBI создаётся. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 03:07 |
|
FBI c REGEXP_REPLACE
|
|||
---|---|---|---|
#18+
Все остальные regex с таким же успехом недетерминированы, но индексы по ним создаются. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 03:26 |
|
FBI c REGEXP_REPLACE
|
|||
---|---|---|---|
#18+
dbms_photoshop Код: plsql 1.
Нельзя же недетерминизм неявного преобразования так неадекватно выдавать за не пойми что. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 07:55 |
|
FBI c REGEXP_REPLACE
|
|||
---|---|---|---|
#18+
dbms_photoshopДон БассаэроПочему REGEXP_REPLACE is not Deterministic?NLS влияемо. как быть тогда с to_char ps імхо, баг, исправят ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 09:28 |
|
FBI c REGEXP_REPLACE
|
|||
---|---|---|---|
#18+
Да, бардак. Не понятно только почему именно regexp_replace ни с того ни с сего решили точечно "починить". ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 10:45 |
|
FBI c REGEXP_REPLACE
|
|||
---|---|---|---|
#18+
dbms_photoshop, Это вот что было вчера? Код: plsql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 10:50 |
|
FBI c REGEXP_REPLACE
|
|||
---|---|---|---|
#18+
env, на 12.2 получаем ORA-01743: ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 10:56 |
|
FBI c REGEXP_REPLACE
|
|||
---|---|---|---|
#18+
Stax, Да, протупил. До 12.2 ещё ТС написал, что всё работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 11:01 |
|
FBI c REGEXP_REPLACE
|
|||
---|---|---|---|
#18+
Elicdbms_photoshop Код: plsql 1.
Нельзя же недетерминизм неявного преобразования так неадекватно выдавать за не пойми что.Покорнейше приношу извинения всем кого ввёл в заблуждение - при неявных преобразованиях и фактический аргумент будет разный. Была идея поначалу, что regexp_replace чем-то особенная из-за аргумента-заменителя, но все строковые-NLS-зависимые одинаково недетерминированны. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 13:31 |
|
FBI c REGEXP_REPLACE
|
|||
---|---|---|---|
#18+
Кто завел баг 20804063, не думая о последствиях? Check-констрейнты успешно мигрируют, но изменить их можно только вместе заменой regexp_replace на что-то другое. Остальные regexp_ пока не запретили, включая 19.2. А если завтра из-за nls запретят использовать check поле in ('Y', 'N')?? Для check. Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 09:20 |
|
|
start [/forum/topic.php?fid=52&msg=39550761&tid=1882828]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 356ms |
total: | 493ms |
0 / 0 |