odin's small box
Unix/Linux �ɂ� ���O�t���p�C�v�Ƃ������̂�����܂��B
Unix�h���C���\�P�b�g�̐����Łu���O�t���p�C�v�ɗގ������@�\������`�v�Ə����Ă����� ���܂ʼn��ƂȂ��u�p�C�v�ɖ��O�t�����ȁv���炢�ɂƎv���Ă܂����� ���ۂɎg�������Ƃ��Ȃ������̂ŁA�����Ă݂܂��B
�g�p����̂� mkfifo �Ƃ����R�}���h�B
$ mkfifo /tmp/namedpipe
����ō쐬�����B
$ ls -l /tmp/namedpipe prw-rw-r-- 1 xxxxx xxxxx 0 Oct 22 22:06 /tmp/namedpipe
�Ȃł��Ă܂��� �����̐擪�� "p" �ɂȂ��Ă܂��B
�@�\�͂Ȃ�ƂȂ��z���ł��܂��ˁB
������m�F���邽�߂ɁA �܂��ʂ̃R���\�[���� ���̖��O�t���p�C�v�� tail ���܂��B
$ tail -f /tmp/namedpipe
�ҋ@��ԂɂȂ�܂����B
tail ���Ă���R���\�[���Ƃ͕ʂ̃R���\�[���� ���O�t���p�C�v�Ɍ������ă��_�C���N�g���Ă݂܂��B
$ echo test1 > /tmp/namedpipe $ echo test2 > /tmp/namedpipe
tail ���Ă���R���\�[������ �o�͂���Ă����܂��B
$ tail -f /tmp/namedpipe
test1
test2
�Ȃ�قǁA���ڂȂ����Ă��Ȃ��Ă� ���O�t���p�C�v��ʂ��ăf�[�^���A�g�ł��Ă܂��ˁB
rm �R�}���h�ō폜�ł��܂��B
$ rm /tmp/namedpipe
�����܂ł��ƁA�قڒʏ�̃t�@�C�����g���Ă������悤�Ȃ��Ƃ��ł��܂��� ���� tail ���Ă��Ȃ���ԂŃ��_�C���N�g����� �ʏ�̃t�@�C���Ƃ͈Ⴄ�����ɂȂ�܂����B
$ echo test3 > /tmp/namedpipe
���� ���O�t���p�C�v�� tail ���Ă��Ȃ��Ƃ��̏�Ԃ� ���_�C���N�g����� ���_�C���N�g���������ҋ@��ԂɂȂ�܂��B
���� ���O�t���p�C�v�� tail �� cat �Ȃǂ���� ���_�C���N�g���̑ҋ@����������܂��B
$ cat /tmp/namedpipe
test3
�֗��Ɏg����P�[�X�͂��肻���ł��ˁB
�����ł��B
�ȑO�́A�R�}���h�v�����v�g�́u�ȈՕҏW�v���L���ɂȂ��Ă���� ��`�I���ł��Ă����̂ł����A Windows10 �ɂȂ������߂� �ł��Ȃ��悤�ɂȂ��Ă��܂����B
Windows10 �� �R�}���h�v�����v�g �ł� [Alt] �������Ȃ���I������Ƌ�`�I���ł����B
PostgreSQL �ɂ� �s�� �z��ɕς��� ARRAY_AGG �Ƃ�����������܂��B ����Ɣz�����ɕς��� ARRAY_TO_STRING ��g�ݍ��킹�邱�Ƃ� �s���J���}���Ȃǂ̕�����ɂ��邱�Ƃ��ł��܂��B
�Ⴆ�� ����ȃe�[�u���ɑ��āD�D�D
db=# SELECT id, name FROM fruit;
id | name
----+--------
1 | ���
2 | �݂���
3 | �Ԃǂ�
���̂悤�Ȍ��ʂ邱�Ƃ��ł��܂��B
db=# SELECT ARRAY_TO_STRING(ARRAY_AGG(name order by id), ',') AS names FROM fruit;
names
----------------------
���,�݂���,�Ԃǂ�
����� Oracle �łȂ�Ƃ��ł��Ȃ��Ǝv���Ă�����ł��� Oracle�ł�11g R2 ���� LISTAGG �Ƃ��������lj�����Ă��܂����B
SQL> SELECT LISTAGG(name, ',') WITHIN GROUP (order by id) AS names FROM fruit;
names
----------------------
���,�݂���,�Ԃǂ�
LISTAGG ���� ARRAY_AGG + ARRAY_TO_STRING �̂悤�ȓ��������܂��B