:: Visual Foxpro, Foxpro for DOS
Максимальная длина индексного выражения в FPD 2.6 и VFP
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
В хэлпе для FPD 2.6 написано, что для компактных индексов максимальная длина индексного выражения 240 символов.

Тем не менее, на индексное выражение длиной вплоть до 254 символов FPD не ругается. Означает ли это, что индексный ключ от 241 до 254 символа игнорируется или все же создается индексное выражение длиной до 254 символов (вместо ограничения до 240 символов)?

Скорее всего, эта тема когда-то обсуждалась, и кто-нибудь вспомнит... дела прошлого века.



Исправлено 3 раз(а). Последнее : Simple777, 03.07.17 11:58
Ratings: 0 negative/0 positive
Re: Максимальная длина индексного выражения в FPD 2.6
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Вероятно, такая же картина будет и для VFP всех версий?
Ratings: 0 negative/0 positive
Re: Максимальная длина индексного выражения в FPD 2.6
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Simple777
Вероятно, такая же картина будет и для VFP всех версий?

Само собой. [sm128]
CREATE CURSOR tmp (f1 c(250))
INDEX ON f1 TAG f1 && ошибка - неверная длина ключа
CREATE CURSOR tmp (f1 c(240))
INDEX ON f1 TAG f1 && ошибки нет


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 1 раз(а). Последнее : Crispy, 03.07.17 12:19
Ratings: 0 negative/0 positive
Re: Максимальная длина индексного выражения в FPD 2.6 и VFP
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Дык в FPD ошибка не выдается, ежели проиндексировать с длиной ключа C(254) с опцией comp

Crea table tmp (naim C(254))
Index on naim to tmp comp
:al:
Ratings: 0 negative/0 positive
Re: Максимальная длина индексного выражения в FPD 2.6 и VFP
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Simple777
Дык в FPD ошибка не выдается, ежели проиндексировать с длиной ключа C(254) с опцией comp

Зато в VFP9 выдается. [sm128]


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: Максимальная длина индексного выражения в FPD 2.6 и VFP
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
FPD 2.6 в этом отношении покруче будет? [sm128]
Ratings: 0 negative/0 positive
Re: Максимальная длина индексного выражения в FPD 2.6 и VFP
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Simple777
FPD 2.6 в этом отношении покруче будет? [sm128]

Скорее просто в нем ошибка, из-за которой и не выдается ошибка.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: Максимальная длина индексного выражения в FPD 2.6 и VFP
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Таки проверил. Действительно, ключ после 240-го символа игнорируется. Так что это глюк FPD 2.6 [sm128]
Ratings: 0 negative/0 positive
Re: Максимальная длина индексного выражения в FPD 2.6 и VFP
PaulWist

Сообщений: 14621
Дата регистрации: 01.04.2004
Simple777
Таки проверил. Действительно, ключ после 240-го символа игнорируется. Так что это глюк FPD 2.6 [sm128]

Пиши баг-репорт в MS


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Максимальная длина индексного выражения в FPD 2.6 и VFP
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Я бы предпочел написать баг-репорт Карлу Марксу.
Ratings: 0 negative/0 positive
Re: Максимальная длина индексного выражения в FPD 2.6 и VFP
Chemberzhy

Сообщений: 13142
Откуда: Измаил
Дата регистрации: 28.04.2009
Потому что с бородой? ;)
Ratings: 0 negative/0 positive
Re: Максимальная длина индексного выражения в FPD 2.6 и VFP
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
"Казаки пишут баг-репорт Карлу Марксу".
Ratings: 0 negative/0 positive
Re: Максимальная длина индексного выражения в FPD 2.6 и VFP
andrewk

Сообщений: 174
Откуда: Красноярск
Дата регистрации: 15.05.2005
Simple777
Таки проверил. Действительно, ключ после 240-го символа игнорируется. Так что это глюк FPD 2.6 [sm128]
Ну почему глюк? Просто на попытку сделать это FPD не пишет тебе, что ты нарушаешь системное требование, а по-тихому игнорирует. Всё-таки Фокс довольно «свободный» язык, допускает много вольностей.
Ratings: 0 negative/0 positive
Re: Максимальная длина индексного выражения в FPD 2.6 и VFP
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
И все же это глюк. Если, например, спросить у FPD 2.6 - какова длина ключа Len(key()) , то будет возвращено значение вплоть до 254, что есть неправда, так как реальная длина ключа будет не более 240 символов.
Ratings: 0 negative/0 positive
Re: Максимальная длина индексного выражения в FPD 2.6 и VFP
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Также и VFP пишет сообщение об ошибке при попытке сформировать ключ длиной более 240 символов. То бишь разработчики посчитали, что надо сообщать об ошибке, а не игнорировать ее.



Исправлено 1 раз(а). Последнее : Simple777, 09.07.17 22:10
Ratings: 0 negative/0 positive
Re: Максимальная длина индексного выражения в FPD 2.6 и VFP
andrewk

Сообщений: 174
Откуда: Красноярск
Дата регистрации: 15.05.2005
Simple777
И все же это глюк. Если, например, спросить у FPD 2.6 - какова длина ключа Len(key()) , то будет возвращено значение вплоть до 254, что есть неправда, так как реальная длина ключа будет не более 240 символов.
А, ну это глюк, согласен. Но это это уже речь не о команде создания индекса, а о функции, возвращающей свойства.
Хотя... Тоже спорный вопрос. Len(key()) возвращает длину значения некоего выражения. И возвращает верно. Проблема в том, что для работы Фокс использует не всё это значение, а его часть.
Ratings: 0 negative/0 positive
Re: Максимальная длина индексного выражения в FPD 2.6 и VFP
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
240 байт на самом деле, а уж сколько в эти 240 байт поместится символов - вопрос настроек SET COLLATE и допустимости NULL в индексном ключе...
И это только для Compact формата. Некомпактный, впрочем, имеет нулевую актуальность уже лет 20 как...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Максимальная длина индексного выражения в FPD 2.6 и VFP
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Вроде бы NULL в FPD 2.6 еще не поддерживался вааще нигде. В help довольно часто встречается словосочетание null string, но речь при этом идет или о пустой строке '' , или о пустой дате.
Ratings: 0 negative/0 positive
Re: Максимальная длина индексного выражения в FPD 2.6 и VFP
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Simple777
Также и VFP пишет сообщение об ошибке при попытке сформировать ключ длиной более 240 символов.
Речь шла про VFP. Я просто уточнил что не стоит доверять слову "символа". В FPD нет NULL-ов, зато вполне себе есть SET COLLATE.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Максимальная длина индексного выражения в FPD 2.6 и VFP
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Таки да, SET COLLATE есть в FPD 2.6. Никогда не использовал этой настройки. Интуитивно кажется, что это нечто "очень нехорошее" во многих случаях.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 19 PuMa  (Гостей: 18)

© 2000-2024 Fox Club 
Яндекс.Метрика