2016-07-27 15 views
0

このプロジェクトでは、array_length関数をサポートしていない古いバージョンのPostgresを実行しています。私はバージョンを更新する方法がありません(DBAではありません)。誰かが私にソースコードを表示することができますか、どのように/私は自分自身でそれを見ることができますか?Postgresのarray_length関数の関数ソースコードは何ですか?

編集:申し訳ありませんが、私たちが使用しているバージョンは8.2.15

+0

どのようなpostgresバージョンですか?おそらくdbaを雇うか、いくつかのDBのことを学び始めるでしょう。ポストグラムを新しいバージョンにアップデートすることはそれほど難しくなく、新しい機能をたくさん利用することになります。 –

+1

組み込みの 'array_length'関数はSQLに書き込まれません。 PostgreSQLのソースはhttps://www.postgresql.org/ftp/source/にあります。 – Nicarus

+1

バージョン8.2.15を使用しています。問題は、自分が何をやっているのかわからない小規模のチームではなく、プロジェクトが大き過ぎて、自分の一部が私は自分の仕事をもっと楽にすることができます(私はプロジェクトに100人以上の人がいると思います)。私はまた、dbaが行うことに強い影響力を持っていません_anything_ – Ridiculon

答えて

1

関数のオリジナルコードはCです。私はあなたがそれを使いたいとは思わない。

あなたはこれを試すことができます(あなたのバージョンではもちろんテストできません)。

create function my_array_length(anyarray, int) 
returns int language sql as $$ 
    select array_upper($1, $2)- array_lower($1, $2)+ 1 
$$; 
+0

ありがとう!私はこれがうまくいくはずだと思うが、8.2ではarray_upperとarray_lowerの両方をサポートしている。私はそれを試して、あなたに戻ってきます。 – Ridiculon

関連する問題