What's the "internal" language on the pgadmin4's function creation wizard? - postgresql

We're learning how do functions work and we found out this language (?) on the selection, we didn't find any documentation, neither on pgadmin's official website... Any help is appreciated!

Don't search the pgadmin4 documentation, but look at the SQL tab of the dialog to see the generated SQL commands. Then refer to the official postgres documentation on CREATE FUNCTION, it mentions internal as one of the possible languages.
Admittedly, that still doesn't tell you a lot, but when searching the docs for "internal function" you'll find chapter 38 about extending the PostgreSQL SQL query language. In particular, it talks about internal functions:
Internal functions are functions written in C that have been statically linked into the PostgreSQL server. The “body” of the function definition specifies the C-language name of the function, which need not be the same as the name being declared for SQL use.

Related

Why there is not `package` type of thing by default in postgres like oracle have?

Why postgres have not given package like thing ,so that same type of function can be placed inside a individual collective unit . In current approach if postgres we have too write individual function that make to messy for origination of code.
There's a exhaustive discussion in PostgreSQL community about Oracle-style packages, as you can see here. I've been following this discussion from afar, IMHO there's a consensus that hackers should focus on more significant issues - related to Oracle to PostgreSQL migration - than packages.
In short, there's the need but it's at the end of the queue.
This subject has come up again and again since 2003. Every time the subject comes up, it is shot down in flames by the Postgres community. Suggesting using schema and name space is equivalent to packages shows the lack of understanding of what a package does. A package is not just simply a collection of procedures. An Oracle package provides public and private access to procedures and variables within the package. An instantiated package is essentially a self contained object.
There is Schema to classify function is needed.
If a schema name is included, then the function is created in the specified schema. Otherwise it is created in the current schema. The name of the new function must not match any existing function with the same input argument types in the same schema. However, functions of different argument types can share a name (this is called overloading).

Is there any plpgsql standard for documenting function interfaces?

I'm developing a plpgsql function that takes a couple parameters and expect those to follow a specific format. Is there a standard place where I could/should document the function behavior in order to make it user friendly?
You can attach COMMENT strings to various database objects.
That said, a simple SQL comment at the top of your function body might stand a better chance of actually being read by future developers.

Can I notify and listen inside PostgreSQL procedures (functions)?

I have checked the documentation (for my version 9.3):
http://www.postgresql.org/docs/9.3/static/sql-notify.html
http://www.postgresql.org/docs/9.3/static/sql-listen.html
I have read multiple discussions and blogs about notify-listen in postgres.
They all use a listening process / interface, which is not implemented inside "classic" procedure (which is function in postgres anyway). They implement it in different language and/or environment, external to the postgres server (e.g. perl, C#).
My question: Is it possible to implement listen(ing) inside postgres function (language plpgsql) ? If not (what I assume from not being to able to find such topic / example), can someone explain a bit, why it can't be done, or maybe why it does not make sense to do it that way ?
It is a classic use case for Trigger Function in case you depend on a single table: https://www.postgresql.org/docs/current/plpgsql-trigger.html

Documentation or specification for .step and .stp files

I am looking for some kind of specification, documentation, explanation, etc. for .stp/.step files.
It's more about what information each line contains instead of a general information.
I can't seem to figure out what each value means all by myself.
Does anyone know some good readings about STEP files?
I already searched google but all I got were information about the general structure instead of each particular value.
The structure of STEP-File, i.e. the grammar and the logic behind how the file is organized is described in the standard ISO 10303-21.
ISO 10303 or STEP is divided into Application Protocols (AP). Each AP defines a schema written in EXPRESS. The schemas are available on the Internet: the CAX-IF provides some, STEPtools has some good HTML documentations.
The reference of the AP schemas is hosted on stepmod.

Is there a way to parse a T-SQL select statement with the "Oslo" M runtime?

Searching around the Microsoft.M assembly I found the SourceParser class and whole set of classes in the Microsoft.TSQL10 namespace that seem related to parsing SQL but I cannot find examples of how to use it.
I know the you can generate T-SQL easily enough, but can you consume it, manipulate the data structure and re-output a modified version of the SQL select?
No is apparently the answer. I received confirmation of this on the MSDN forums.