Last month I worked with Louis on the new website and the documentation. So 
I dived deeper in the sourcecode and understood more.
The guys from weelya created a beauty. 

When Anthony hinted my to investigate the async way of sockets, it made me 
me more and more unsatisfied with my Mongo efford. 
A few weeks ago Postgresql 9.3 feature list 
(http://www.postgresql.org/docs/9.3/static/release-9-3.html) mentioned 
"Materialised views". Now That is a feature that I realy like of ibm's 
as400 db2.

All things combined, brewed for some time and I deceded to 'eat that frog': 
I want a Ape.Postgresql async object, and I am going to do this my self, 
because nobody else is going to do this for me.

Well: tatadadaaaah: a few minutes ago, this was on my screen.




[WARN] Cannot open pid file : /var/run/aped.pid
[WARN] You have to run 'aped' as root to increase r_limit
   _   ___ ___ 
  /_\ | _ \ __|
 / _ \|  _/ _| 
/_/ \_\_| |___|
AJAX Push Engine

Bind on : 0.0.0.0:6969
Pid     : 30461
Version : 1.1.3-DEV
Build   : Sep 18 2013 20:28:43
Author  : Weelya (contact _at_ weelya.com)

[Module] [spidermonkey] Loading module : Javascript embedded (0.01) - 
Anthony Catel
[spidermonkey] : Loading script ../scripts/framework/mootools.js
[spidermonkey] : Loading script ../scripts/utils/utils.js
[spidermonkey] : Loading script ../scripts/framework/Http.js
[spidermonkey] : Loading script ../scripts/framework/userslist.js
[spidermonkey] : Loading script ../scripts/commands/proxy.js
[spidermonkey] : Loading script ../scripts/framework/log.js
[spidermonkey] : Loading script ../scripts/test/_tests.js
[spidermonkey] : Loading script ../scripts/test/PostgreSQL.js
 =====================================>>> 
 Start up for test/PostgreSQL.js

----[object PostgreSQL]----
({})
    host:    null
    dbname:    apedevdb
    user:    apedev
    port:    5432
    protocol_version:    3
    socket_version:    8
    backend_pid:    30462
    connection_needs_password:    false
    connection_used_password:    true
    non_blocking:    true
    server_version:    8.4.17
    server_encoding:    SQL_ASCII
    client_encoding:    SQL_ASCII
    is_superuser:    off
    session_authorization:    apedev
    DateStyle:    ISO, MDY
    TimeZone:    localtime
    integer_datetimes:    on
query 2309 SELECT pg_tables.* FROM pg_tables pg_tables
false
----[object Object],[object Object],[object Object],[object Object],[object 
Object],[object Object],[object Object],[object Object],[object 
Object],[object Object],[object Object],[object Object],[object 
Object],[object Object],[object Object],[object Object],[object 
Object],[object Object],[object Object],[object Object],[object 
Object],[object Object],[object Object],[object Object],[object 
Object],[object Object],[object Object],[object Object],[object 
Object],[object Object],[object Object],[object Object],[object 
Object],[object Object],[object Object],[object Object],[object 
Object],[object Object],[object Object],[object Object],[object 
Object],[object Object],[object Object],[object Object],[object 
Object],[object Object],[object Object],[object Object],[object Object]----
[
  {
    schemaname: "pg_catalog",
    tablename: "pg_type",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_attribute",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_statistic",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "information_schema",
    tablename: "sql_features",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "f",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "information_schema",
    tablename: "sql_implementation_info",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "f",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "information_schema",
    tablename: "sql_languages",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "f",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "information_schema",
    tablename: "sql_packages",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "f",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_database",
    tableowner: "postgres",
    tablespace: "pg_global",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "t"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_authid",
    tableowner: "postgres",
    tablespace: "pg_global",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "t"
  },
  {
    schemaname: "information_schema",
    tablename: "sql_parts",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "f",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "information_schema",
    tablename: "sql_sizing",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "f",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "information_schema",
    tablename: "sql_sizing_profiles",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "f",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_user_mapping",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_depend",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_tablespace",
    tableowner: "postgres",
    tablespace: "pg_global",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_pltemplate",
    tableowner: "postgres",
    tablespace: "pg_global",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_shdepend",
    tableowner: "postgres",
    tablespace: "pg_global",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_proc",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_class",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_attrdef",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_constraint",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_inherits",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_index",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_operator",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_opfamily",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_opclass",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_am",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_amop",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_amproc",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_language",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_largeobject",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_aggregate",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_rewrite",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_trigger",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_listener",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "f",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_description",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_cast",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_enum",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_namespace",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_conversion",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_shdescription",
    tableowner: "postgres",
    tablespace: "pg_global",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_ts_config",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_ts_config_map",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_ts_dict",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_ts_parser",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_ts_template",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_foreign_data_wrapper",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_foreign_server",
    tableowner: "postgres",
    tablespace: "",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "f"
  },
  {
    schemaname: "pg_catalog",
    tablename: "pg_auth_members",
    tableowner: "postgres",
    tablespace: "pg_global",
    hasindexes: "t",
    hasrules: "f",
    hastriggers: "t"
  }
]

<<< =====================================

It is far from complete, but it is async and works for the bare minimum 
(http://www.brepettis.com/blog/2009/3/3/the-cult-of-done-manifesto.html: 
connect, status and query). 
There is some code duplication in my hobbiest-code with the Ape.MySQL 
object.
My questions to the newsgroup are:
* Who is interested to test it?
   (Who is interested at all?)
* Must I refractor Ape.Mysql and Ape.PostgreSQL into 'one' fragile thing, 
or should we keep the mysql puppy in a seperate cage, so that the cool 
PostgreSQL beast can be raised to it's full potential.
  (If you can read between the lines, you will find my preference)


And I know now how I can improve some things in ape, my mongo attempt, but 
I also could add/embed another key-value store or database-connector. But 
my time is limited.

I will give a update soon.
Peter Reijnders

-- 
-- 
You received this message because you are subscribed to the Google
Groups "APE Project" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/ape-project?hl=en
---
APE Project (Ajax Push Engine)
Official website : http://www.ape-project.org/
Git Hub : http://github.com/APE-Project/

--- 
You received this message because you are subscribed to the Google Groups "APE 
Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to