Кодирование новых строк в файлах iCal

Почему использование UDF приводит к декартовому продукту вместо полного внешнего соединения?

Причина, по которой использование UDF требует декартового произведения, довольно проста. Поскольку вы передаете произвольную функцию с возможно бесконечным доменом и не детерминированным поведением, единственным способом определить его значение является передача аргументов и оценка. Это означает, что вам просто нужно проверить все возможные пары.

Простое равенство, с другой стороны, имеет предсказуемое поведение. Если вы используете условие t1.foo = t2.bar, вы можете просто перетасовать t1 и t2 строки с помощью foo и bar соответственно, чтобы получить ожидаемый результат.

И, если быть точным, в реляционной алгебре внешний соединение фактически выражается с помощью естественного соединения. Все, что за этим стоит, - это просто оптимизация.

Любой способ заставить внешнее объединение над декартовым произведением

На самом деле, если вы не хотите модифицировать движок Spark SQL.

46
задан Eric Petroelje 20 March 2009 в 16:30
поделиться

1 ответ

Хорошо, похож, я отвечаю на свой собственный вопрос.

корректный способ сделать это состоит в том, чтобы использовать "\n" для разрывов строки. Outlook не распознал это, потому что я имел "ENCODING=quoted-printable" на описании. Как только я удалил это, Outlook отобразил новые строки правильно.

кроме того, чтобы заставить файл открываться правильно в iCal Apple, необходимо использовать "VERSION:2.0" для версии файла. При использовании "VERSION:1.0" он скажет Вам, что не может считать файл (даже при том, что он соответствует 1,0 спецификациям).

ПРИМЕЧАНИЕ: Как другие упомянули, файл на самом деле должен содержать литеральную строку \n. Начиная с большей части обработки языков, что как escape-последовательность, означающая символ новой строки, вероятно, необходимо использовать строку \\n в коде.

41
ответ дан Eric Petroelje 8 November 2019 в 00:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: